os

An operating system
git clone https://erai.gay/code/os/
Log | Files | Refs | README | LICENSE

commit 75c3dc7f6a17d085c041e3a24d397293d6d22f15
parent f42b6a6f9b861658d79b0e546282d57ac6134c67
Author: erai <erai@omiltem.net>
Date:   Thu,  6 Feb 2025 02:03:14 +0000

merge peg.peg and cc3.peg

Diffstat:
Mbootstrap.sh | 3+--
Mcc0.c | 19754+++++++++++++++++++++++++++++++++++++++----------------------------------------
Mcc3.peg | 16++++++++++++++++
Mpeg.om | 38+++++++++++++++++++-------------------
4 files changed, 9771 insertions(+), 10040 deletions(-)

diff --git a/bootstrap.sh b/bootstrap.sh @@ -2,12 +2,11 @@ BOOTSTRAP="cc0.c" LIBS="bufio.om lib.om alloc.om syscall.om" -SOURCES="cc1.om type.om parse2.om parse3.om peglib.om as.om decl.om node.om peg.om parsepeg.om ir.om ircout.om" +SOURCES="cc1.om type.om parse2.om parse3.om peglib.om as.om decl.om node.om peg.om ir.om ircout.om" # Build the bootstrap compiler from c [ cc0 -nt cc0.c ] || gcc -O1 -g -std=c99 ${BOOTSTRAP} -o cc0 ./cc0 -P cc3.peg -o parse3.om -./cc0 -P peg.peg -o parsepeg.om ./cc0 ${LIBS} ${SOURCES} -o cc1 -n cc1.lines -G cc1.call # Double check the bootstrap and self hosting compiler have the same output diff --git a/cc0.c b/cc0.c @@ -1,7 +1,6 @@ typedef unsigned char b; typedef unsigned long u; typedef long s; -u my_PEG_tag_to_str(u v_tag); u my_P_tag_to_str(u v_tag); u my__start(u v_argc, u v_argv, u v_envp); u my_add_section(u v_c, u v_name, u v_type); @@ -167,22 +166,6 @@ u my_output_irstr(u v_ic, u v_b, u v_o); u my_output_irvars(u v_ic); u my_parse(u v_c, u v_filename, u v_err); u my_parse_escape(u v_s, u v_i, u v_n); -u my_peg_PEG_alternative(u v_c); -u my_peg_PEG_any(u v_c); -u my_peg_PEG_call(u v_c); -u my_peg_PEG_class(u v_c); -u my_peg_PEG_countop(u v_c); -u my_peg_PEG_grammar(u v_c); -u my_peg_PEG_identifier(u v_c); -u my_peg_PEG_literal(u v_c); -u my_peg_PEG_lookahead(u v_c); -u my_peg_PEG_lookop(u v_c); -u my_peg_PEG_pattern(u v_c); -u my_peg_PEG_prefix(u v_c); -u my_peg_PEG_primary(u v_c); -u my_peg_PEG_rule(u v_c); -u my_peg_PEG_sp(u v_c); -u my_peg_PEG_suffix(u v_c); u my_peg_P_add_expr(u v_c); u my_peg_P_add_op(u v_c); u my_peg_P_and_op(u v_c); @@ -246,6 +229,21 @@ u my_peg_P_neg_op(u v_c); u my_peg_P_nil(u v_c); u my_peg_P_not_op(u v_c); u my_peg_P_or_op(u v_c); +u my_peg_P_peg_alternative(u v_c); +u my_peg_P_peg_any(u v_c); +u my_peg_P_peg_call(u v_c); +u my_peg_P_peg_class(u v_c); +u my_peg_P_peg_countop(u v_c); +u my_peg_P_peg_grammar(u v_c); +u my_peg_P_peg_identifier(u v_c); +u my_peg_P_peg_literal(u v_c); +u my_peg_P_peg_lookahead(u v_c); +u my_peg_P_peg_lookop(u v_c); +u my_peg_P_peg_pattern(u v_c); +u my_peg_P_peg_prefix(u v_c); +u my_peg_P_peg_primary(u v_c); +u my_peg_P_peg_rule(u v_c); +u my_peg_P_peg_suffix(u v_c); u my_peg_P_pos_op(u v_c); u my_peg_P_post_expr(u v_c); u my_peg_P_primary(u v_c); @@ -356,455 +354,438 @@ s syscall(s nr, ...); u my_syscall(u nr, u a, u b, u c, u d, u e, u f) { return (u)syscall((s)nr, (s)a, (s)b, (s)c, (s)d, (s)e, (s)f); } -u my_PEG_tag_to_str(u v_tag) { - u v1 = 0; - u v2 = 0; - u v3 = 0; -#line 21 "parsepeg.om" -b0: if (!((u)(((s)(v_tag)) == ((s)(0UL))))) { goto b1; } -#line 21 "parsepeg.om" -b2: return (u)"grammar"; -#line 22 "parsepeg.om" -b1: if (!((u)(((s)(v_tag)) == ((s)(1UL))))) { goto b4; } -#line 22 "parsepeg.om" -b5: return (u)"rule"; -#line 23 "parsepeg.om" -b4: if (!((u)(((s)(v_tag)) == ((s)(2UL))))) { goto b7; } -#line 23 "parsepeg.om" -b8: return (u)"prefix"; -#line 24 "parsepeg.om" -b7: if (!((u)(((s)(v_tag)) == ((s)(3UL))))) { goto b10; } -#line 24 "parsepeg.om" -b11: return (u)"pattern"; -#line 25 "parsepeg.om" -b10: if (!((u)(((s)(v_tag)) == ((s)(4UL))))) { goto b13; } -#line 25 "parsepeg.om" -b14: return (u)"alternative"; -#line 26 "parsepeg.om" -b13: if (!((u)(((s)(v_tag)) == ((s)(5UL))))) { goto b16; } -#line 26 "parsepeg.om" -b17: return (u)"lookop"; -#line 27 "parsepeg.om" -b16: if (!((u)(((s)(v_tag)) == ((s)(6UL))))) { goto b19; } -#line 27 "parsepeg.om" -b20: return (u)"lookahead"; -#line 28 "parsepeg.om" -b19: if (!((u)(((s)(v_tag)) == ((s)(7UL))))) { goto b22; } -#line 28 "parsepeg.om" -b23: return (u)"countop"; -#line 29 "parsepeg.om" -b22: if (!((u)(((s)(v_tag)) == ((s)(8UL))))) { goto b25; } -#line 29 "parsepeg.om" -b26: return (u)"suffix"; -#line 30 "parsepeg.om" -b25: if (!((u)(((s)(v_tag)) == ((s)(9UL))))) { goto b28; } -#line 30 "parsepeg.om" -b29: return (u)"primary"; -#line 31 "parsepeg.om" -b28: if (!((u)(((s)(v_tag)) == ((s)(10UL))))) { goto b31; } -#line 31 "parsepeg.om" -b32: return (u)"any"; -#line 32 "parsepeg.om" -b31: if (!((u)(((s)(v_tag)) == ((s)(11UL))))) { goto b34; } -#line 32 "parsepeg.om" -b35: return (u)"literal"; -#line 33 "parsepeg.om" -b34: if (!((u)(((s)(v_tag)) == ((s)(12UL))))) { goto b37; } -#line 33 "parsepeg.om" -b38: return (u)"class"; -#line 34 "parsepeg.om" -b37: if (!((u)(((s)(v_tag)) == ((s)(13UL))))) { goto b40; } -#line 34 "parsepeg.om" -b41: return (u)"call"; -#line 35 "parsepeg.om" -b40: if (!((u)(((s)(v_tag)) == ((s)(14UL))))) { goto b43; } -#line 35 "parsepeg.om" -b44: return (u)"identifier"; -#line 36 "parsepeg.om" -b43: if (!((u)(((s)(v_tag)) == ((s)(15UL))))) { goto b46; } -#line 36 "parsepeg.om" -b47: return (u)"sp"; -#line 37 "parsepeg.om" -b46: v1 = (u)my_die; -#line 37 "parsepeg.om" - v2 = (u)"invalid tag"; -#line 37 "parsepeg.om" - v3 = ((u (*)())(v1))(v2); -#line 38 "parsepeg.om" -b49: return 0UL; -} u my_P_tag_to_str(u v_tag) { u v1 = 0; u v2 = 0; u v3 = 0; -#line 95 "parse3.om" +#line 110 "parse3.om" b0: if (!((u)(((s)(v_tag)) == ((s)(0UL))))) { goto b1; } -#line 95 "parse3.om" +#line 110 "parse3.om" b2: return (u)"grammar"; -#line 96 "parse3.om" +#line 111 "parse3.om" b1: if (!((u)(((s)(v_tag)) == ((s)(1UL))))) { goto b4; } -#line 96 "parse3.om" +#line 111 "parse3.om" b5: return (u)"enum_item"; -#line 97 "parse3.om" +#line 112 "parse3.om" b4: if (!((u)(((s)(v_tag)) == ((s)(2UL))))) { goto b7; } -#line 97 "parse3.om" +#line 112 "parse3.om" b8: return (u)"enum_decl"; -#line 98 "parse3.om" +#line 113 "parse3.om" b7: if (!((u)(((s)(v_tag)) == ((s)(3UL))))) { goto b10; } -#line 98 "parse3.om" +#line 113 "parse3.om" b11: return (u)"member_decl"; -#line 99 "parse3.om" +#line 114 "parse3.om" b10: if (!((u)(((s)(v_tag)) == ((s)(4UL))))) { goto b13; } -#line 99 "parse3.om" +#line 114 "parse3.om" b14: return (u)"struct_decl"; -#line 100 "parse3.om" +#line 115 "parse3.om" b13: if (!((u)(((s)(v_tag)) == ((s)(5UL))))) { goto b16; } -#line 100 "parse3.om" +#line 115 "parse3.om" b17: return (u)"union_decl"; -#line 101 "parse3.om" +#line 116 "parse3.om" b16: if (!((u)(((s)(v_tag)) == ((s)(6UL))))) { goto b19; } -#line 101 "parse3.om" +#line 116 "parse3.om" b20: return (u)"func_decl"; -#line 102 "parse3.om" +#line 117 "parse3.om" b19: if (!((u)(((s)(v_tag)) == ((s)(7UL))))) { goto b22; } -#line 102 "parse3.om" +#line 117 "parse3.om" b23: return (u)"type"; -#line 103 "parse3.om" +#line 118 "parse3.om" b22: if (!((u)(((s)(v_tag)) == ((s)(8UL))))) { goto b25; } -#line 103 "parse3.om" +#line 118 "parse3.om" b26: return (u)"ptr_type"; -#line 104 "parse3.om" +#line 119 "parse3.om" b25: if (!((u)(((s)(v_tag)) == ((s)(9UL))))) { goto b28; } -#line 104 "parse3.om" +#line 119 "parse3.om" b29: return (u)"gen_decl"; -#line 105 "parse3.om" +#line 120 "parse3.om" b28: if (!((u)(((s)(v_tag)) == ((s)(10UL))))) { goto b31; } -#line 105 "parse3.om" +#line 120 "parse3.om" b32: return (u)"arg_decl"; -#line 106 "parse3.om" +#line 121 "parse3.om" b31: if (!((u)(((s)(v_tag)) == ((s)(11UL))))) { goto b34; } -#line 106 "parse3.om" +#line 121 "parse3.om" b35: return (u)"func_type"; -#line 107 "parse3.om" +#line 122 "parse3.om" b34: if (!((u)(((s)(v_tag)) == ((s)(12UL))))) { goto b37; } -#line 107 "parse3.om" +#line 122 "parse3.om" b38: return (u)"stmt"; -#line 108 "parse3.om" +#line 123 "parse3.om" b37: if (!((u)(((s)(v_tag)) == ((s)(13UL))))) { goto b40; } -#line 108 "parse3.om" +#line 123 "parse3.om" b41: return (u)"elif_stmt"; -#line 109 "parse3.om" +#line 124 "parse3.om" b40: if (!((u)(((s)(v_tag)) == ((s)(14UL))))) { goto b43; } -#line 109 "parse3.om" +#line 124 "parse3.om" b44: return (u)"else_stmt"; -#line 110 "parse3.om" +#line 125 "parse3.om" b43: if (!((u)(((s)(v_tag)) == ((s)(15UL))))) { goto b46; } -#line 110 "parse3.om" +#line 125 "parse3.om" b47: return (u)"if_stmt"; -#line 111 "parse3.om" +#line 126 "parse3.om" b46: if (!((u)(((s)(v_tag)) == ((s)(16UL))))) { goto b49; } -#line 111 "parse3.om" +#line 126 "parse3.om" b50: return (u)"loop_stmt"; -#line 112 "parse3.om" +#line 127 "parse3.om" b49: if (!((u)(((s)(v_tag)) == ((s)(17UL))))) { goto b52; } -#line 112 "parse3.om" +#line 127 "parse3.om" b53: return (u)"break_stmt"; -#line 113 "parse3.om" +#line 128 "parse3.om" b52: if (!((u)(((s)(v_tag)) == ((s)(18UL))))) { goto b55; } -#line 113 "parse3.om" +#line 128 "parse3.om" b56: return (u)"continue_stmt"; -#line 114 "parse3.om" +#line 129 "parse3.om" b55: if (!((u)(((s)(v_tag)) == ((s)(19UL))))) { goto b58; } -#line 114 "parse3.om" +#line 129 "parse3.om" b59: return (u)"return_stmt"; -#line 115 "parse3.om" +#line 130 "parse3.om" b58: if (!((u)(((s)(v_tag)) == ((s)(20UL))))) { goto b61; } -#line 115 "parse3.om" +#line 130 "parse3.om" b62: return (u)"var_stmt"; -#line 116 "parse3.om" +#line 131 "parse3.om" b61: if (!((u)(((s)(v_tag)) == ((s)(21UL))))) { goto b64; } -#line 116 "parse3.om" +#line 131 "parse3.om" b65: return (u)"label_stmt"; -#line 117 "parse3.om" +#line 132 "parse3.om" b64: if (!((u)(((s)(v_tag)) == ((s)(22UL))))) { goto b67; } -#line 117 "parse3.om" +#line 132 "parse3.om" b68: return (u)"goto_stmt"; -#line 118 "parse3.om" +#line 133 "parse3.om" b67: if (!((u)(((s)(v_tag)) == ((s)(23UL))))) { goto b70; } -#line 118 "parse3.om" +#line 133 "parse3.om" b71: return (u)"assign_stmt"; -#line 119 "parse3.om" +#line 134 "parse3.om" b70: if (!((u)(((s)(v_tag)) == ((s)(24UL))))) { goto b73; } -#line 119 "parse3.om" +#line 134 "parse3.om" b74: return (u)"expr_stmt"; -#line 120 "parse3.om" +#line 135 "parse3.om" b73: if (!((u)(((s)(v_tag)) == ((s)(25UL))))) { goto b76; } -#line 120 "parse3.om" +#line 135 "parse3.om" b77: return (u)"empty_stmt"; -#line 121 "parse3.om" +#line 136 "parse3.om" b76: if (!((u)(((s)(v_tag)) == ((s)(26UL))))) { goto b79; } -#line 121 "parse3.om" +#line 136 "parse3.om" b80: return (u)"compound_stmt"; -#line 122 "parse3.om" +#line 137 "parse3.om" b79: if (!((u)(((s)(v_tag)) == ((s)(27UL))))) { goto b82; } -#line 122 "parse3.om" +#line 137 "parse3.om" b83: return (u)"expr"; -#line 123 "parse3.om" +#line 138 "parse3.om" b82: if (!((u)(((s)(v_tag)) == ((s)(28UL))))) { goto b85; } -#line 123 "parse3.om" +#line 138 "parse3.om" b86: return (u)"band_op"; -#line 124 "parse3.om" +#line 139 "parse3.om" b85: if (!((u)(((s)(v_tag)) == ((s)(29UL))))) { goto b88; } -#line 124 "parse3.om" +#line 139 "parse3.om" b89: return (u)"bor_op"; -#line 125 "parse3.om" +#line 140 "parse3.om" b88: if (!((u)(((s)(v_tag)) == ((s)(30UL))))) { goto b91; } -#line 125 "parse3.om" +#line 140 "parse3.om" b92: return (u)"bool_expr"; -#line 126 "parse3.om" +#line 141 "parse3.om" b91: if (!((u)(((s)(v_tag)) == ((s)(31UL))))) { goto b94; } -#line 126 "parse3.om" +#line 141 "parse3.om" b95: return (u)"le_op"; -#line 127 "parse3.om" +#line 142 "parse3.om" b94: if (!((u)(((s)(v_tag)) == ((s)(32UL))))) { goto b97; } -#line 127 "parse3.om" +#line 142 "parse3.om" b98: return (u)"ge_op"; -#line 128 "parse3.om" +#line 143 "parse3.om" b97: if (!((u)(((s)(v_tag)) == ((s)(33UL))))) { goto b100; } -#line 128 "parse3.om" +#line 143 "parse3.om" b101: return (u)"lt_op"; -#line 129 "parse3.om" +#line 144 "parse3.om" b100: if (!((u)(((s)(v_tag)) == ((s)(34UL))))) { goto b103; } -#line 129 "parse3.om" +#line 144 "parse3.om" b104: return (u)"gt_op"; -#line 130 "parse3.om" +#line 145 "parse3.om" b103: if (!((u)(((s)(v_tag)) == ((s)(35UL))))) { goto b106; } -#line 130 "parse3.om" +#line 145 "parse3.om" b107: return (u)"eq_op"; -#line 131 "parse3.om" +#line 146 "parse3.om" b106: if (!((u)(((s)(v_tag)) == ((s)(36UL))))) { goto b109; } -#line 131 "parse3.om" +#line 146 "parse3.om" b110: return (u)"ne_op"; -#line 132 "parse3.om" +#line 147 "parse3.om" b109: if (!((u)(((s)(v_tag)) == ((s)(37UL))))) { goto b112; } -#line 132 "parse3.om" +#line 147 "parse3.om" b113: return (u)"comp_expr"; -#line 133 "parse3.om" +#line 148 "parse3.om" b112: if (!((u)(((s)(v_tag)) == ((s)(38UL))))) { goto b115; } -#line 133 "parse3.om" +#line 148 "parse3.om" b116: return (u)"add_op"; -#line 134 "parse3.om" +#line 149 "parse3.om" b115: if (!((u)(((s)(v_tag)) == ((s)(39UL))))) { goto b118; } -#line 134 "parse3.om" +#line 149 "parse3.om" b119: return (u)"sub_op"; -#line 135 "parse3.om" +#line 150 "parse3.om" b118: if (!((u)(((s)(v_tag)) == ((s)(40UL))))) { goto b121; } -#line 135 "parse3.om" +#line 150 "parse3.om" b122: return (u)"or_op"; -#line 136 "parse3.om" +#line 151 "parse3.om" b121: if (!((u)(((s)(v_tag)) == ((s)(41UL))))) { goto b124; } -#line 136 "parse3.om" +#line 151 "parse3.om" b125: return (u)"xor_op"; -#line 137 "parse3.om" +#line 152 "parse3.om" b124: if (!((u)(((s)(v_tag)) == ((s)(42UL))))) { goto b127; } -#line 137 "parse3.om" +#line 152 "parse3.om" b128: return (u)"add_expr"; -#line 138 "parse3.om" +#line 153 "parse3.om" b127: if (!((u)(((s)(v_tag)) == ((s)(43UL))))) { goto b130; } -#line 138 "parse3.om" +#line 153 "parse3.om" b131: return (u)"mul_op"; -#line 139 "parse3.om" +#line 154 "parse3.om" b130: if (!((u)(((s)(v_tag)) == ((s)(44UL))))) { goto b133; } -#line 139 "parse3.om" +#line 154 "parse3.om" b134: return (u)"div_op"; -#line 140 "parse3.om" +#line 155 "parse3.om" b133: if (!((u)(((s)(v_tag)) == ((s)(45UL))))) { goto b136; } -#line 140 "parse3.om" +#line 155 "parse3.om" b137: return (u)"mod_op"; -#line 141 "parse3.om" +#line 156 "parse3.om" b136: if (!((u)(((s)(v_tag)) == ((s)(46UL))))) { goto b139; } -#line 141 "parse3.om" +#line 156 "parse3.om" b140: return (u)"and_op"; -#line 142 "parse3.om" +#line 157 "parse3.om" b139: if (!((u)(((s)(v_tag)) == ((s)(47UL))))) { goto b142; } -#line 142 "parse3.om" +#line 157 "parse3.om" b143: return (u)"mul_expr"; -#line 143 "parse3.om" +#line 158 "parse3.om" b142: if (!((u)(((s)(v_tag)) == ((s)(48UL))))) { goto b145; } -#line 143 "parse3.om" +#line 158 "parse3.om" b146: return (u)"lsh_op"; -#line 144 "parse3.om" +#line 159 "parse3.om" b145: if (!((u)(((s)(v_tag)) == ((s)(49UL))))) { goto b148; } -#line 144 "parse3.om" +#line 159 "parse3.om" b149: return (u)"rsh_op"; -#line 145 "parse3.om" +#line 160 "parse3.om" b148: if (!((u)(((s)(v_tag)) == ((s)(50UL))))) { goto b151; } -#line 145 "parse3.om" +#line 160 "parse3.om" b152: return (u)"shift_expr"; -#line 146 "parse3.om" +#line 161 "parse3.om" b151: if (!((u)(((s)(v_tag)) == ((s)(51UL))))) { goto b154; } -#line 146 "parse3.om" +#line 161 "parse3.om" b155: return (u)"ref_op"; -#line 147 "parse3.om" +#line 162 "parse3.om" b154: if (!((u)(((s)(v_tag)) == ((s)(52UL))))) { goto b157; } -#line 147 "parse3.om" +#line 162 "parse3.om" b158: return (u)"deref_op"; -#line 148 "parse3.om" +#line 163 "parse3.om" b157: if (!((u)(((s)(v_tag)) == ((s)(53UL))))) { goto b160; } -#line 148 "parse3.om" +#line 163 "parse3.om" b161: return (u)"pos_op"; -#line 149 "parse3.om" +#line 164 "parse3.om" b160: if (!((u)(((s)(v_tag)) == ((s)(54UL))))) { goto b163; } -#line 149 "parse3.om" +#line 164 "parse3.om" b164: return (u)"neg_op"; -#line 150 "parse3.om" +#line 165 "parse3.om" b163: if (!((u)(((s)(v_tag)) == ((s)(55UL))))) { goto b166; } -#line 150 "parse3.om" +#line 165 "parse3.om" b167: return (u)"not_op"; -#line 151 "parse3.om" +#line 166 "parse3.om" b166: if (!((u)(((s)(v_tag)) == ((s)(56UL))))) { goto b169; } -#line 151 "parse3.om" +#line 166 "parse3.om" b170: return (u)"bnot_op"; -#line 152 "parse3.om" +#line 167 "parse3.om" b169: if (!((u)(((s)(v_tag)) == ((s)(57UL))))) { goto b172; } -#line 152 "parse3.om" +#line 167 "parse3.om" b173: return (u)"unary_expr"; -#line 153 "parse3.om" +#line 168 "parse3.om" b172: if (!((u)(((s)(v_tag)) == ((s)(58UL))))) { goto b175; } -#line 153 "parse3.om" +#line 168 "parse3.om" b176: return (u)"index_expr"; -#line 154 "parse3.om" +#line 169 "parse3.om" b175: if (!((u)(((s)(v_tag)) == ((s)(59UL))))) { goto b178; } -#line 154 "parse3.om" +#line 169 "parse3.om" b179: return (u)"call_expr"; -#line 155 "parse3.om" +#line 170 "parse3.om" b178: if (!((u)(((s)(v_tag)) == ((s)(60UL))))) { goto b181; } -#line 155 "parse3.om" +#line 170 "parse3.om" b182: return (u)"member_expr"; -#line 156 "parse3.om" +#line 171 "parse3.om" b181: if (!((u)(((s)(v_tag)) == ((s)(61UL))))) { goto b184; } -#line 156 "parse3.om" +#line 171 "parse3.om" b185: return (u)"cast_expr"; -#line 157 "parse3.om" +#line 172 "parse3.om" b184: if (!((u)(((s)(v_tag)) == ((s)(62UL))))) { goto b187; } -#line 157 "parse3.om" +#line 172 "parse3.om" b188: return (u)"post_expr"; -#line 158 "parse3.om" +#line 173 "parse3.om" b187: if (!((u)(((s)(v_tag)) == ((s)(63UL))))) { goto b190; } -#line 158 "parse3.om" +#line 173 "parse3.om" b191: return (u)"primary"; -#line 159 "parse3.om" +#line 174 "parse3.om" b190: if (!((u)(((s)(v_tag)) == ((s)(64UL))))) { goto b193; } -#line 159 "parse3.om" +#line 174 "parse3.om" b194: return (u)"sizeof_expr"; -#line 160 "parse3.om" +#line 175 "parse3.om" b193: if (!((u)(((s)(v_tag)) == ((s)(65UL))))) { goto b196; } -#line 160 "parse3.om" +#line 175 "parse3.om" b197: return (u)"hex"; -#line 161 "parse3.om" +#line 176 "parse3.om" b196: if (!((u)(((s)(v_tag)) == ((s)(66UL))))) { goto b199; } -#line 161 "parse3.om" +#line 176 "parse3.om" b200: return (u)"dec"; -#line 162 "parse3.om" +#line 177 "parse3.om" b199: if (!((u)(((s)(v_tag)) == ((s)(67UL))))) { goto b202; } -#line 162 "parse3.om" +#line 177 "parse3.om" b203: return (u)"str"; -#line 163 "parse3.om" +#line 178 "parse3.om" b202: if (!((u)(((s)(v_tag)) == ((s)(68UL))))) { goto b205; } -#line 163 "parse3.om" +#line 178 "parse3.om" b206: return (u)"char"; -#line 164 "parse3.om" +#line 179 "parse3.om" b205: if (!((u)(((s)(v_tag)) == ((s)(69UL))))) { goto b208; } -#line 164 "parse3.om" +#line 179 "parse3.om" b209: return (u)"reserved"; -#line 165 "parse3.om" +#line 180 "parse3.om" b208: if (!((u)(((s)(v_tag)) == ((s)(70UL))))) { goto b211; } -#line 165 "parse3.om" +#line 180 "parse3.om" b212: return (u)"return"; -#line 166 "parse3.om" +#line 181 "parse3.om" b211: if (!((u)(((s)(v_tag)) == ((s)(71UL))))) { goto b214; } -#line 166 "parse3.om" +#line 181 "parse3.om" b215: return (u)"break"; -#line 167 "parse3.om" +#line 182 "parse3.om" b214: if (!((u)(((s)(v_tag)) == ((s)(72UL))))) { goto b217; } -#line 167 "parse3.om" +#line 182 "parse3.om" b218: return (u)"sizeof"; -#line 168 "parse3.om" +#line 183 "parse3.om" b217: if (!((u)(((s)(v_tag)) == ((s)(73UL))))) { goto b220; } -#line 168 "parse3.om" +#line 183 "parse3.om" b221: return (u)"if"; -#line 169 "parse3.om" +#line 184 "parse3.om" b220: if (!((u)(((s)(v_tag)) == ((s)(74UL))))) { goto b223; } -#line 169 "parse3.om" +#line 184 "parse3.om" b224: return (u)"else"; -#line 170 "parse3.om" +#line 185 "parse3.om" b223: if (!((u)(((s)(v_tag)) == ((s)(75UL))))) { goto b226; } -#line 170 "parse3.om" +#line 185 "parse3.om" b227: return (u)"loop"; -#line 171 "parse3.om" +#line 186 "parse3.om" b226: if (!((u)(((s)(v_tag)) == ((s)(76UL))))) { goto b229; } -#line 171 "parse3.om" +#line 186 "parse3.om" b230: return (u)"continue"; -#line 172 "parse3.om" +#line 187 "parse3.om" b229: if (!((u)(((s)(v_tag)) == ((s)(77UL))))) { goto b232; } -#line 172 "parse3.om" +#line 187 "parse3.om" b233: return (u)"goto"; -#line 173 "parse3.om" +#line 188 "parse3.om" b232: if (!((u)(((s)(v_tag)) == ((s)(78UL))))) { goto b235; } -#line 173 "parse3.om" +#line 188 "parse3.om" b236: return (u)"var"; -#line 174 "parse3.om" +#line 189 "parse3.om" b235: if (!((u)(((s)(v_tag)) == ((s)(79UL))))) { goto b238; } -#line 174 "parse3.om" +#line 189 "parse3.om" b239: return (u)"enum"; -#line 175 "parse3.om" +#line 190 "parse3.om" b238: if (!((u)(((s)(v_tag)) == ((s)(80UL))))) { goto b241; } -#line 175 "parse3.om" +#line 190 "parse3.om" b242: return (u)"struct"; -#line 176 "parse3.om" +#line 191 "parse3.om" b241: if (!((u)(((s)(v_tag)) == ((s)(81UL))))) { goto b244; } -#line 176 "parse3.om" +#line 191 "parse3.om" b245: return (u)"union"; -#line 177 "parse3.om" +#line 192 "parse3.om" b244: if (!((u)(((s)(v_tag)) == ((s)(82UL))))) { goto b247; } -#line 177 "parse3.om" +#line 192 "parse3.om" b248: return (u)"byte"; -#line 178 "parse3.om" +#line 193 "parse3.om" b247: if (!((u)(((s)(v_tag)) == ((s)(83UL))))) { goto b250; } -#line 178 "parse3.om" +#line 193 "parse3.om" b251: return (u)"int"; -#line 179 "parse3.om" +#line 194 "parse3.om" b250: if (!((u)(((s)(v_tag)) == ((s)(84UL))))) { goto b253; } -#line 179 "parse3.om" +#line 194 "parse3.om" b254: return (u)"void"; -#line 180 "parse3.om" +#line 195 "parse3.om" b253: if (!((u)(((s)(v_tag)) == ((s)(85UL))))) { goto b256; } -#line 180 "parse3.om" +#line 195 "parse3.om" b257: return (u)"func"; -#line 181 "parse3.om" +#line 196 "parse3.om" b256: if (!((u)(((s)(v_tag)) == ((s)(86UL))))) { goto b259; } -#line 181 "parse3.om" +#line 196 "parse3.om" b260: return (u)"as"; -#line 182 "parse3.om" +#line 197 "parse3.om" b259: if (!((u)(((s)(v_tag)) == ((s)(87UL))))) { goto b262; } -#line 182 "parse3.om" +#line 197 "parse3.om" b263: return (u)"nil"; -#line 183 "parse3.om" +#line 198 "parse3.om" b262: if (!((u)(((s)(v_tag)) == ((s)(88UL))))) { goto b265; } -#line 183 "parse3.om" +#line 198 "parse3.om" b266: return (u)"ident"; -#line 184 "parse3.om" +#line 199 "parse3.om" b265: if (!((u)(((s)(v_tag)) == ((s)(89UL))))) { goto b268; } -#line 184 "parse3.om" +#line 199 "parse3.om" b269: return (u)"sp"; -#line 185 "parse3.om" -b268: v1 = (u)my_die; -#line 185 "parse3.om" +#line 200 "parse3.om" +b268: if (!((u)(((s)(v_tag)) == ((s)(90UL))))) { goto b271; } +#line 200 "parse3.om" +b272: return (u)"peg_grammar"; +#line 201 "parse3.om" +b271: if (!((u)(((s)(v_tag)) == ((s)(91UL))))) { goto b274; } +#line 201 "parse3.om" +b275: return (u)"peg_rule"; +#line 202 "parse3.om" +b274: if (!((u)(((s)(v_tag)) == ((s)(92UL))))) { goto b277; } +#line 202 "parse3.om" +b278: return (u)"peg_prefix"; +#line 203 "parse3.om" +b277: if (!((u)(((s)(v_tag)) == ((s)(93UL))))) { goto b280; } +#line 203 "parse3.om" +b281: return (u)"peg_pattern"; +#line 204 "parse3.om" +b280: if (!((u)(((s)(v_tag)) == ((s)(94UL))))) { goto b283; } +#line 204 "parse3.om" +b284: return (u)"peg_alternative"; +#line 205 "parse3.om" +b283: if (!((u)(((s)(v_tag)) == ((s)(95UL))))) { goto b286; } +#line 205 "parse3.om" +b287: return (u)"peg_lookop"; +#line 206 "parse3.om" +b286: if (!((u)(((s)(v_tag)) == ((s)(96UL))))) { goto b289; } +#line 206 "parse3.om" +b290: return (u)"peg_lookahead"; +#line 207 "parse3.om" +b289: if (!((u)(((s)(v_tag)) == ((s)(97UL))))) { goto b292; } +#line 207 "parse3.om" +b293: return (u)"peg_countop"; +#line 208 "parse3.om" +b292: if (!((u)(((s)(v_tag)) == ((s)(98UL))))) { goto b295; } +#line 208 "parse3.om" +b296: return (u)"peg_suffix"; +#line 209 "parse3.om" +b295: if (!((u)(((s)(v_tag)) == ((s)(99UL))))) { goto b298; } +#line 209 "parse3.om" +b299: return (u)"peg_primary"; +#line 210 "parse3.om" +b298: if (!((u)(((s)(v_tag)) == ((s)(100UL))))) { goto b301; } +#line 210 "parse3.om" +b302: return (u)"peg_any"; +#line 211 "parse3.om" +b301: if (!((u)(((s)(v_tag)) == ((s)(101UL))))) { goto b304; } +#line 211 "parse3.om" +b305: return (u)"peg_literal"; +#line 212 "parse3.om" +b304: if (!((u)(((s)(v_tag)) == ((s)(102UL))))) { goto b307; } +#line 212 "parse3.om" +b308: return (u)"peg_class"; +#line 213 "parse3.om" +b307: if (!((u)(((s)(v_tag)) == ((s)(103UL))))) { goto b310; } +#line 213 "parse3.om" +b311: return (u)"peg_call"; +#line 214 "parse3.om" +b310: if (!((u)(((s)(v_tag)) == ((s)(104UL))))) { goto b313; } +#line 214 "parse3.om" +b314: return (u)"peg_identifier"; +#line 215 "parse3.om" +b313: v1 = (u)my_die; +#line 215 "parse3.om" v2 = (u)"invalid tag"; -#line 185 "parse3.om" +#line 215 "parse3.om" v3 = ((u (*)())(v1))(v2); -#line 186 "parse3.om" -b271: return 0UL; +#line 216 "parse3.om" +b316: return 0UL; } u my__start(u v_argc, u v_argv, u v_envp) { u v3 = 0; @@ -4948,7 +4929,7 @@ b8: if (!(v2)) { goto b3; } #line 46 "peg.om" b4: return v_ret; #line 49 "peg.om" -b3: if (!((u)(((s)(*(u *)(v_n))) == ((s)(7UL))))) { goto b9; } +b3: if (!((u)(((s)(*(u *)(v_n))) == ((s)(97UL))))) { goto b9; } #line 50 "peg.om" b10: if (!((u)(((s)((u)*(b *)(*(u *)((v_n) + (24UL))))) == ((s)(63UL))))) { goto b14; } #line 51 "peg.om" @@ -5011,7 +4992,7 @@ u my_decode_look(u v_n) { #line 20 "peg.om" b0: v_ret = 0UL; #line 21 "peg.om" - if (!((u)(((s)(*(u *)(*(u *)((v_n) + (16UL))))) == ((s)(5UL))))) { goto b1; } + if (!((u)(((s)(*(u *)(*(u *)((v_n) + (16UL))))) == ((s)(95UL))))) { goto b1; } #line 22 "peg.om" b2: if (!((u)(((s)((u)*(b *)(*(u *)((*(u *)((v_n) + (16UL))) + (24UL))))) == ((s)(33UL))))) { goto b6; } #line 23 "peg.om" @@ -39777,7 +39758,7 @@ b25: v27 = (u)my_die; #line 152 "peg.om" b46: return 0UL; } -u my_peg_PEG_alternative(u v_c) { +u my_peg_P_add_expr(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -39803,84 +39784,250 @@ u my_peg_PEG_alternative(u v_c) { u v23 = 0; u v24 = 0; u v25 = 0; -#line 141 "parsepeg.om" + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; + u v30 = 0; + u v31 = 0; + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; + u v41 = 0; + u v42 = 0; + u v43 = 0; + u v44 = 0; + u v45 = 0; + u v46 = 0; + u v47 = 0; + u v48 = 0; + u v49 = 0; + u v50 = 0; + u v51 = 0; + u v52 = 0; + u v53 = 0; + u v54 = 0; + u v55 = 0; + u v56 = 0; + u v57 = 0; + u v58 = 0; + u v59 = 0; + u v60 = 0; + u v61 = 0; +#line 1149 "parse3.om" b0: v2 = (u)my_enter; -#line 141 "parsepeg.om" +#line 1149 "parse3.om" v3 = v_c; -#line 141 "parsepeg.om" - v4 = 4UL; -#line 141 "parsepeg.om" +#line 1149 "parse3.om" + v4 = 42UL; +#line 1149 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 142 "parsepeg.om" -b1: v6 = (u)my_peg_PEG_lookahead; -#line 142 "parsepeg.om" +#line 1150 "parse3.om" +b1: v6 = (u)my_peg_P_mul_expr; +#line 1150 "parse3.om" v7 = v_c; -#line 142 "parsepeg.om" +#line 1150 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 142 "parsepeg.om" +#line 1150 "parse3.om" b2: v_ok = v8; -#line 143 "parsepeg.om" +#line 1151 "parse3.om" if (!(v_ok)) { goto b3; } -#line 145 "parsepeg.om" +#line 1153 "parse3.om" b6: v9 = (u)my_choice; -#line 145 "parsepeg.om" +#line 1153 "parse3.om" v10 = v_c; -#line 145 "parsepeg.om" +#line 1153 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 146 "parsepeg.om" -b8: v12 = (u)my_peg_PEG_lookahead; -#line 146 "parsepeg.om" +#line 1154 "parse3.om" +b8: v12 = (u)my_choice; +#line 1154 "parse3.om" v13 = v_c; -#line 146 "parsepeg.om" +#line 1154 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 146 "parsepeg.om" -b9: v_ok = v14; -#line 147 "parsepeg.om" - if (!(v_ok)) { goto b14; } -#line 147 "parsepeg.om" -b13: v15 = 0UL; -#line 147 "parsepeg.om" - goto b15; -#line 147 "parsepeg.om" -b15: if (!(v15)) { goto b10; } -#line 147 "parsepeg.om" -b11: v_ok = 1UL; -#line 147 "parsepeg.om" - goto b3; -#line 151 "parsepeg.om" -b3: if (!(v_ok)) { goto b19; } -#line 151 "parsepeg.om" -b18: v19 = (u)my_leave; -#line 151 "parsepeg.om" +#line 1155 "parse3.om" +b9: v15 = (u)my_peg_P_add_op; +#line 1155 "parse3.om" + v16 = v_c; +#line 1155 "parse3.om" + v17 = ((u (*)())(v15))(v16); +#line 1155 "parse3.om" +b10: v_ok = v17; +#line 1156 "parse3.om" + if (!(v_ok)) { goto b15; } +#line 1156 "parse3.om" +b14: v18 = 0UL; +#line 1156 "parse3.om" + goto b16; +#line 1156 "parse3.om" +b16: if (!(v18)) { goto b11; } +#line 1156 "parse3.om" +b12: v19 = (u)my_choice; +#line 1156 "parse3.om" v20 = v_c; -#line 151 "parsepeg.om" - v21 = 4UL; -#line 151 "parsepeg.om" - v22 = ((u (*)())(v19))(v20, v21); -#line 152 "parsepeg.om" -b17: return v_ok; -#line 151 "parsepeg.om" -b19: v23 = (u)my_fail; -#line 151 "parsepeg.om" - v24 = v_c; -#line 151 "parsepeg.om" - v25 = ((u (*)())(v23))(v24); -#line 151 "parsepeg.om" - goto b17; -#line 148 "parsepeg.om" -b10: v16 = (u)my_commit; -#line 148 "parsepeg.om" - v17 = v_c; -#line 148 "parsepeg.om" - v18 = ((u (*)())(v16))(v17); -#line 148 "parsepeg.om" +#line 1156 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 1157 "parse3.om" +b17: v22 = (u)my_peg_P_sub_op; +#line 1157 "parse3.om" + v23 = v_c; +#line 1157 "parse3.om" + v24 = ((u (*)())(v22))(v23); +#line 1157 "parse3.om" +b18: v_ok = v24; +#line 1157 "parse3.om" + goto b11; +#line 1159 "parse3.om" +b11: if (!(v_ok)) { goto b23; } +#line 1159 "parse3.om" +b22: v25 = 0UL; +#line 1159 "parse3.om" + goto b24; +#line 1159 "parse3.om" +b24: if (!(v25)) { goto b19; } +#line 1159 "parse3.om" +b20: v26 = (u)my_choice; +#line 1159 "parse3.om" + v27 = v_c; +#line 1159 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 1160 "parse3.om" +b25: v29 = (u)my_peg_P_or_op; +#line 1160 "parse3.om" + v30 = v_c; +#line 1160 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 1160 "parse3.om" +b26: v_ok = v31; +#line 1160 "parse3.om" + goto b19; +#line 1162 "parse3.om" +b19: if (!(v_ok)) { goto b31; } +#line 1162 "parse3.om" +b30: v32 = 0UL; +#line 1162 "parse3.om" + goto b32; +#line 1162 "parse3.om" +b32: if (!(v32)) { goto b27; } +#line 1162 "parse3.om" +b28: v33 = (u)my_choice; +#line 1162 "parse3.om" + v34 = v_c; +#line 1162 "parse3.om" + v35 = ((u (*)())(v33))(v34); +#line 1163 "parse3.om" +b33: v36 = (u)my_peg_P_xor_op; +#line 1163 "parse3.om" + v37 = v_c; +#line 1163 "parse3.om" + v38 = ((u (*)())(v36))(v37); +#line 1163 "parse3.om" +b34: v_ok = v38; +#line 1163 "parse3.om" + goto b27; +#line 1165 "parse3.om" +b27: if (!(v_ok)) { goto b37; } +#line 1165 "parse3.om" +b36: v39 = (u)my_commit; +#line 1165 "parse3.om" + v40 = v_c; +#line 1165 "parse3.om" + v41 = ((u (*)())(v39))(v40); +#line 1166 "parse3.om" +b35: if (!(v_ok)) { goto b40; } +#line 1167 "parse3.om" +b41: v45 = (u)my_peg_P_sp; +#line 1167 "parse3.om" + v46 = v_c; +#line 1167 "parse3.om" + v47 = ((u (*)())(v45))(v46); +#line 1167 "parse3.om" +b43: v_ok = v47; +#line 1167 "parse3.om" + goto b40; +#line 1169 "parse3.om" +b40: if (!(v_ok)) { goto b44; } +#line 1170 "parse3.om" +b45: v48 = (u)my_peg_P_mul_expr; +#line 1170 "parse3.om" + v49 = v_c; +#line 1170 "parse3.om" + v50 = ((u (*)())(v48))(v49); +#line 1170 "parse3.om" +b47: v_ok = v50; +#line 1170 "parse3.om" + goto b44; +#line 1172 "parse3.om" +b44: if (!(v_ok)) { goto b52; } +#line 1172 "parse3.om" +b51: v51 = 0UL; +#line 1172 "parse3.om" + goto b53; +#line 1172 "parse3.om" +b53: if (!(v51)) { goto b48; } +#line 1172 "parse3.om" +b49: v_ok = 1UL; +#line 1172 "parse3.om" + goto b3; +#line 1176 "parse3.om" +b3: if (!(v_ok)) { goto b57; } +#line 1176 "parse3.om" +b56: v55 = (u)my_leave; +#line 1176 "parse3.om" + v56 = v_c; +#line 1176 "parse3.om" + v57 = 42UL; +#line 1176 "parse3.om" + v58 = ((u (*)())(v55))(v56, v57); +#line 1177 "parse3.om" +b55: return v_ok; +#line 1176 "parse3.om" +b57: v59 = (u)my_fail; +#line 1176 "parse3.om" + v60 = v_c; +#line 1176 "parse3.om" + v61 = ((u (*)())(v59))(v60); +#line 1176 "parse3.om" + goto b55; +#line 1173 "parse3.om" +b48: v52 = (u)my_commit; +#line 1173 "parse3.om" + v53 = v_c; +#line 1173 "parse3.om" + v54 = ((u (*)())(v52))(v53); +#line 1173 "parse3.om" goto b6; -#line 147 "parsepeg.om" -b14: v15 = 1UL; -#line 147 "parsepeg.om" - goto b15; +#line 1172 "parse3.om" +b52: v51 = 1UL; +#line 1172 "parse3.om" + goto b53; +#line 1165 "parse3.om" +b37: v42 = (u)my_fail; +#line 1165 "parse3.om" + v43 = v_c; +#line 1165 "parse3.om" + v44 = ((u (*)())(v42))(v43); +#line 1165 "parse3.om" + goto b35; +#line 1162 "parse3.om" +b31: v32 = 1UL; +#line 1162 "parse3.om" + goto b32; +#line 1159 "parse3.om" +b23: v25 = 1UL; +#line 1159 "parse3.om" + goto b24; +#line 1156 "parse3.om" +b15: v18 = 1UL; +#line 1156 "parse3.om" + goto b16; } -u my_peg_PEG_any(u v_c) { +u my_peg_P_add_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -39897,46 +40044,46 @@ u my_peg_PEG_any(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 242 "parsepeg.om" +#line 1112 "parse3.om" b0: v2 = (u)my_enter; -#line 242 "parsepeg.om" +#line 1112 "parse3.om" v3 = v_c; -#line 242 "parsepeg.om" - v4 = 10UL; -#line 242 "parsepeg.om" +#line 1112 "parse3.om" + v4 = 38UL; +#line 1112 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 243 "parsepeg.om" +#line 1113 "parse3.om" b1: v6 = (u)my_literal; -#line 243 "parsepeg.om" +#line 1113 "parse3.om" v7 = v_c; -#line 243 "parsepeg.om" - v8 = (u)"."; -#line 243 "parsepeg.om" +#line 1113 "parse3.om" + v8 = (u)"+"; +#line 1113 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 243 "parsepeg.om" +#line 1113 "parse3.om" b2: v_ok = v9; -#line 244 "parsepeg.om" +#line 1114 "parse3.om" if (!(v_ok)) { goto b5; } -#line 244 "parsepeg.om" +#line 1114 "parse3.om" b4: v10 = (u)my_leave; -#line 244 "parsepeg.om" +#line 1114 "parse3.om" v11 = v_c; -#line 244 "parsepeg.om" - v12 = 10UL; -#line 244 "parsepeg.om" +#line 1114 "parse3.om" + v12 = 38UL; +#line 1114 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 245 "parsepeg.om" +#line 1115 "parse3.om" b3: return v_ok; -#line 244 "parsepeg.om" +#line 1114 "parse3.om" b5: v14 = (u)my_fail; -#line 244 "parsepeg.om" +#line 1114 "parse3.om" v15 = v_c; -#line 244 "parsepeg.om" +#line 1114 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 244 "parsepeg.om" +#line 1114 "parse3.om" goto b3; } -u my_peg_PEG_call(u v_c) { +u my_peg_P_and_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -39966,98 +40113,202 @@ u my_peg_PEG_call(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; - u v30 = 0; - u v31 = 0; -#line 309 "parsepeg.om" +#line 1211 "parse3.om" b0: v2 = (u)my_enter; -#line 309 "parsepeg.om" +#line 1211 "parse3.om" v3 = v_c; -#line 309 "parsepeg.om" - v4 = 13UL; -#line 309 "parsepeg.om" +#line 1211 "parse3.om" + v4 = 46UL; +#line 1211 "parse3.om" + v5 = ((u (*)())(v2))(v3, v4); +#line 1212 "parse3.om" +b1: v6 = (u)my_literal; +#line 1212 "parse3.om" + v7 = v_c; +#line 1212 "parse3.om" + v8 = (u)"&"; +#line 1212 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 1212 "parse3.om" +b2: v_ok = v9; +#line 1213 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 1214 "parse3.om" +b4: v10 = (u)my_choice; +#line 1214 "parse3.om" + v11 = v_c; +#line 1214 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 1215 "parse3.om" +b6: v13 = (u)my_literal; +#line 1215 "parse3.om" + v14 = v_c; +#line 1215 "parse3.om" + v15 = (u)"&"; +#line 1215 "parse3.om" + v16 = ((u (*)())(v13))(v14, v15); +#line 1215 "parse3.om" +b7: v_ok = v16; +#line 1216 "parse3.om" + if (!(v_ok)) { goto b10; } +#line 1216 "parse3.om" +b9: v17 = (u)my_fail; +#line 1216 "parse3.om" + v18 = v_c; +#line 1216 "parse3.om" + v19 = ((u (*)())(v17))(v18); +#line 1216 "parse3.om" +b11: v20 = (u)my_fail; +#line 1216 "parse3.om" + v21 = v_c; +#line 1216 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 1216 "parse3.om" +b12: v_ok = 0UL; +#line 1216 "parse3.om" + goto b3; +#line 1218 "parse3.om" +b3: if (!(v_ok)) { goto b15; } +#line 1218 "parse3.om" +b14: v23 = (u)my_leave; +#line 1218 "parse3.om" + v24 = v_c; +#line 1218 "parse3.om" + v25 = 46UL; +#line 1218 "parse3.om" + v26 = ((u (*)())(v23))(v24, v25); +#line 1219 "parse3.om" +b13: return v_ok; +#line 1218 "parse3.om" +b15: v27 = (u)my_fail; +#line 1218 "parse3.om" + v28 = v_c; +#line 1218 "parse3.om" + v29 = ((u (*)())(v27))(v28); +#line 1218 "parse3.om" + goto b13; +#line 1216 "parse3.om" +b10: v_ok = 1UL; +#line 1216 "parse3.om" + goto b3; +} +u my_peg_P_arg_decl(u v_c) { + u v_ok = 0; + u v2 = 0; + u v3 = 0; + u v4 = 0; + u v5 = 0; + u v6 = 0; + u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; + u v16 = 0; + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; + u v28 = 0; +#line 551 "parse3.om" +b0: v2 = (u)my_enter; +#line 551 "parse3.om" + v3 = v_c; +#line 551 "parse3.om" + v4 = 10UL; +#line 551 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 310 "parsepeg.om" -b1: v6 = (u)my_peg_PEG_identifier; -#line 310 "parsepeg.om" +#line 552 "parse3.om" +b1: v6 = (u)my_peg_P_ident; +#line 552 "parse3.om" v7 = v_c; -#line 310 "parsepeg.om" +#line 552 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 310 "parsepeg.om" +#line 552 "parse3.om" b2: v_ok = v8; -#line 311 "parsepeg.om" +#line 553 "parse3.om" if (!(v_ok)) { goto b3; } -#line 312 "parsepeg.om" -b4: v9 = (u)my_choice; -#line 312 "parsepeg.om" +#line 554 "parse3.om" +b4: v9 = (u)my_peg_P_sp; +#line 554 "parse3.om" v10 = v_c; -#line 312 "parsepeg.om" +#line 554 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 313 "parsepeg.om" -b6: v12 = (u)my_peg_PEG_sp; -#line 313 "parsepeg.om" +#line 554 "parse3.om" +b6: v_ok = v11; +#line 554 "parse3.om" + goto b3; +#line 556 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 557 "parse3.om" +b8: v12 = (u)my_literal; +#line 557 "parse3.om" v13 = v_c; -#line 313 "parsepeg.om" - v14 = ((u (*)())(v12))(v13); -#line 313 "parsepeg.om" -b7: v_ok = v14; -#line 314 "parsepeg.om" - if (!(v_ok)) { goto b8; } -#line 315 "parsepeg.om" -b9: v15 = (u)my_literal; -#line 315 "parsepeg.om" - v16 = v_c; -#line 315 "parsepeg.om" - v17 = (u)"<-"; -#line 315 "parsepeg.om" - v18 = ((u (*)())(v15))(v16, v17); -#line 315 "parsepeg.om" -b11: v_ok = v18; -#line 315 "parsepeg.om" - goto b8; -#line 317 "parsepeg.om" -b8: if (!(v_ok)) { goto b14; } -#line 317 "parsepeg.om" -b13: v19 = (u)my_fail; -#line 317 "parsepeg.om" +#line 557 "parse3.om" + v14 = (u)":"; +#line 557 "parse3.om" + v15 = ((u (*)())(v12))(v13, v14); +#line 557 "parse3.om" +b10: v_ok = v15; +#line 557 "parse3.om" + goto b7; +#line 559 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 560 "parse3.om" +b12: v16 = (u)my_peg_P_sp; +#line 560 "parse3.om" + v17 = v_c; +#line 560 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 560 "parse3.om" +b14: v_ok = v18; +#line 560 "parse3.om" + goto b11; +#line 562 "parse3.om" +b11: if (!(v_ok)) { goto b15; } +#line 563 "parse3.om" +b16: v19 = (u)my_peg_P_type; +#line 563 "parse3.om" v20 = v_c; -#line 317 "parsepeg.om" +#line 563 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 317 "parsepeg.om" -b15: v22 = (u)my_fail; -#line 317 "parsepeg.om" +#line 563 "parse3.om" +b18: v_ok = v21; +#line 563 "parse3.om" + goto b15; +#line 565 "parse3.om" +b15: if (!(v_ok)) { goto b21; } +#line 565 "parse3.om" +b20: v22 = (u)my_leave; +#line 565 "parse3.om" v23 = v_c; -#line 317 "parsepeg.om" - v24 = ((u (*)())(v22))(v23); -#line 317 "parsepeg.om" -b16: v_ok = 0UL; -#line 317 "parsepeg.om" - goto b3; -#line 319 "parsepeg.om" -b3: if (!(v_ok)) { goto b19; } -#line 319 "parsepeg.om" -b18: v25 = (u)my_leave; -#line 319 "parsepeg.om" - v26 = v_c; -#line 319 "parsepeg.om" - v27 = 13UL; -#line 319 "parsepeg.om" - v28 = ((u (*)())(v25))(v26, v27); -#line 320 "parsepeg.om" -b17: return v_ok; -#line 319 "parsepeg.om" -b19: v29 = (u)my_fail; -#line 319 "parsepeg.om" - v30 = v_c; -#line 319 "parsepeg.om" - v31 = ((u (*)())(v29))(v30); -#line 319 "parsepeg.om" - goto b17; -#line 317 "parsepeg.om" -b14: v_ok = 1UL; -#line 317 "parsepeg.om" - goto b3; +#line 565 "parse3.om" + v24 = 10UL; +#line 565 "parse3.om" + v25 = ((u (*)())(v22))(v23, v24); +#line 566 "parse3.om" +b19: return v_ok; +#line 565 "parse3.om" +b21: v26 = (u)my_fail; +#line 565 "parse3.om" + v27 = v_c; +#line 565 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 565 "parse3.om" + goto b19; } -u my_peg_PEG_class(u v_c) { +u my_peg_P_as(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -40087,309 +40338,86 @@ u my_peg_PEG_class(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; - u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; - u v44 = 0; - u v45 = 0; - u v46 = 0; - u v47 = 0; - u v48 = 0; - u v49 = 0; - u v50 = 0; - u v51 = 0; - u v52 = 0; - u v53 = 0; - u v54 = 0; - u v55 = 0; - u v56 = 0; - u v57 = 0; - u v58 = 0; - u v59 = 0; - u v60 = 0; - u v61 = 0; - u v62 = 0; - u v63 = 0; - u v64 = 0; - u v65 = 0; - u v66 = 0; -#line 274 "parsepeg.om" +#line 1992 "parse3.om" b0: v2 = (u)my_enter; -#line 274 "parsepeg.om" +#line 1992 "parse3.om" v3 = v_c; -#line 274 "parsepeg.om" - v4 = 12UL; -#line 274 "parsepeg.om" +#line 1992 "parse3.om" + v4 = 86UL; +#line 1992 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 275 "parsepeg.om" +#line 1993 "parse3.om" b1: v6 = (u)my_literal; -#line 275 "parsepeg.om" +#line 1993 "parse3.om" v7 = v_c; -#line 275 "parsepeg.om" - v8 = (u)"["; -#line 275 "parsepeg.om" +#line 1993 "parse3.om" + v8 = (u)"as"; +#line 1993 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 275 "parsepeg.om" +#line 1993 "parse3.om" b2: v_ok = v9; -#line 276 "parsepeg.om" +#line 1994 "parse3.om" if (!(v_ok)) { goto b3; } -#line 278 "parsepeg.om" -b6: v10 = (u)my_choice; -#line 278 "parsepeg.om" +#line 1995 "parse3.om" +b4: v10 = (u)my_choice; +#line 1995 "parse3.om" v11 = v_c; -#line 278 "parsepeg.om" +#line 1995 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 279 "parsepeg.om" -b8: v13 = (u)my_choice; -#line 279 "parsepeg.om" +#line 1996 "parse3.om" +b6: v13 = (u)my_charset; +#line 1996 "parse3.om" v14 = v_c; -#line 279 "parsepeg.om" - v15 = ((u (*)())(v13))(v14); -#line 280 "parsepeg.om" -b9: v16 = (u)my_literal; -#line 280 "parsepeg.om" - v17 = v_c; -#line 280 "parsepeg.om" - v18 = (u)"]"; -#line 280 "parsepeg.om" - v19 = ((u (*)())(v16))(v17, v18); -#line 280 "parsepeg.om" -b10: v_ok = v19; -#line 281 "parsepeg.om" - if (!(v_ok)) { goto b13; } -#line 281 "parsepeg.om" -b12: v20 = (u)my_fail; -#line 281 "parsepeg.om" +#line 1996 "parse3.om" + v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 1996 "parse3.om" + v16 = ((u (*)())(v13))(v14, v15); +#line 1996 "parse3.om" +b7: v_ok = v16; +#line 1997 "parse3.om" + if (!(v_ok)) { goto b10; } +#line 1997 "parse3.om" +b9: v17 = (u)my_fail; +#line 1997 "parse3.om" + v18 = v_c; +#line 1997 "parse3.om" + v19 = ((u (*)())(v17))(v18); +#line 1997 "parse3.om" +b11: v20 = (u)my_fail; +#line 1997 "parse3.om" v21 = v_c; -#line 281 "parsepeg.om" +#line 1997 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 281 "parsepeg.om" -b14: v23 = (u)my_fail; -#line 281 "parsepeg.om" - v24 = v_c; -#line 281 "parsepeg.om" - v25 = ((u (*)())(v23))(v24); -#line 281 "parsepeg.om" -b15: v_ok = 0UL; -#line 281 "parsepeg.om" - goto b11; -#line 282 "parsepeg.om" -b11: if (!(v_ok)) { goto b16; } -#line 283 "parsepeg.om" -b17: v26 = (u)my_choice; -#line 283 "parsepeg.om" - v27 = v_c; -#line 283 "parsepeg.om" - v28 = ((u (*)())(v26))(v27); -#line 284 "parsepeg.om" -b19: v29 = (u)my_any; -#line 284 "parsepeg.om" - v30 = v_c; -#line 284 "parsepeg.om" - v31 = ((u (*)())(v29))(v30); -#line 284 "parsepeg.om" -b20: v_ok = v31; -#line 285 "parsepeg.om" - if (!(v_ok)) { goto b21; } -#line 286 "parsepeg.om" -b22: v32 = (u)my_literal; -#line 286 "parsepeg.om" - v33 = v_c; -#line 286 "parsepeg.om" - v34 = (u)"-"; -#line 286 "parsepeg.om" - v35 = ((u (*)())(v32))(v33, v34); -#line 286 "parsepeg.om" -b24: v_ok = v35; -#line 286 "parsepeg.om" - goto b21; -#line 288 "parsepeg.om" -b21: if (!(v_ok)) { goto b25; } -#line 289 "parsepeg.om" -b26: v36 = (u)my_any; -#line 289 "parsepeg.om" - v37 = v_c; -#line 289 "parsepeg.om" - v38 = ((u (*)())(v36))(v37); -#line 289 "parsepeg.om" -b28: v_ok = v38; -#line 289 "parsepeg.om" - goto b25; -#line 291 "parsepeg.om" -b25: if (!(v_ok)) { goto b33; } -#line 291 "parsepeg.om" -b32: v39 = 0UL; -#line 291 "parsepeg.om" - goto b34; -#line 291 "parsepeg.om" -b34: if (!(v39)) { goto b29; } -#line 291 "parsepeg.om" -b30: v40 = (u)my_choice; -#line 291 "parsepeg.om" - v41 = v_c; -#line 291 "parsepeg.om" - v42 = ((u (*)())(v40))(v41); -#line 292 "parsepeg.om" -b35: v43 = (u)my_any; -#line 292 "parsepeg.om" - v44 = v_c; -#line 292 "parsepeg.om" - v45 = ((u (*)())(v43))(v44); -#line 292 "parsepeg.om" -b36: v_ok = v45; -#line 292 "parsepeg.om" - goto b29; -#line 294 "parsepeg.om" -b29: if (!(v_ok)) { goto b39; } -#line 294 "parsepeg.om" -b38: v46 = (u)my_commit; -#line 294 "parsepeg.om" - v47 = v_c; -#line 294 "parsepeg.om" - v48 = ((u (*)())(v46))(v47); -#line 296 "parsepeg.om" -b16: if (!(v_ok)) { goto b46; } -#line 296 "parsepeg.om" -b45: v52 = 0UL; -#line 296 "parsepeg.om" - goto b47; -#line 296 "parsepeg.om" -b47: if (!(v52)) { goto b42; } -#line 296 "parsepeg.om" -b43: v_ok = 1UL; -#line 296 "parsepeg.om" +#line 1997 "parse3.om" +b12: v_ok = 0UL; +#line 1997 "parse3.om" goto b3; -#line 300 "parsepeg.om" -b3: if (!(v_ok)) { goto b49; } -#line 301 "parsepeg.om" -b50: v56 = (u)my_literal; -#line 301 "parsepeg.om" - v57 = v_c; -#line 301 "parsepeg.om" - v58 = (u)"]"; -#line 301 "parsepeg.om" - v59 = ((u (*)())(v56))(v57, v58); -#line 301 "parsepeg.om" -b52: v_ok = v59; -#line 301 "parsepeg.om" - goto b49; -#line 303 "parsepeg.om" -b49: if (!(v_ok)) { goto b55; } -#line 303 "parsepeg.om" -b54: v60 = (u)my_leave; -#line 303 "parsepeg.om" - v61 = v_c; -#line 303 "parsepeg.om" - v62 = 12UL; -#line 303 "parsepeg.om" - v63 = ((u (*)())(v60))(v61, v62); -#line 304 "parsepeg.om" -b53: return v_ok; -#line 303 "parsepeg.om" -b55: v64 = (u)my_fail; -#line 303 "parsepeg.om" - v65 = v_c; -#line 303 "parsepeg.om" - v66 = ((u (*)())(v64))(v65); -#line 303 "parsepeg.om" - goto b53; -#line 297 "parsepeg.om" -b42: v53 = (u)my_commit; -#line 297 "parsepeg.om" - v54 = v_c; -#line 297 "parsepeg.om" - v55 = ((u (*)())(v53))(v54); -#line 297 "parsepeg.om" - goto b6; -#line 296 "parsepeg.om" -b46: v52 = 1UL; -#line 296 "parsepeg.om" - goto b47; -#line 294 "parsepeg.om" -b39: v49 = (u)my_fail; -#line 294 "parsepeg.om" - v50 = v_c; -#line 294 "parsepeg.om" - v51 = ((u (*)())(v49))(v50); -#line 294 "parsepeg.om" - goto b16; -#line 291 "parsepeg.om" -b33: v39 = 1UL; -#line 291 "parsepeg.om" - goto b34; -#line 281 "parsepeg.om" -b13: v_ok = 1UL; -#line 281 "parsepeg.om" - goto b11; -} -u my_peg_PEG_countop(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; -#line 181 "parsepeg.om" -b0: v2 = (u)my_enter; -#line 181 "parsepeg.om" - v3 = v_c; -#line 181 "parsepeg.om" - v4 = 7UL; -#line 181 "parsepeg.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 182 "parsepeg.om" -b1: v6 = (u)my_charset; -#line 182 "parsepeg.om" - v7 = v_c; -#line 182 "parsepeg.om" - v8 = (u)"*+?"; -#line 182 "parsepeg.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 182 "parsepeg.om" -b2: v_ok = v9; -#line 183 "parsepeg.om" - if (!(v_ok)) { goto b5; } -#line 183 "parsepeg.om" -b4: v10 = (u)my_leave; -#line 183 "parsepeg.om" - v11 = v_c; -#line 183 "parsepeg.om" - v12 = 7UL; -#line 183 "parsepeg.om" - v13 = ((u (*)())(v10))(v11, v12); -#line 184 "parsepeg.om" -b3: return v_ok; -#line 183 "parsepeg.om" -b5: v14 = (u)my_fail; -#line 183 "parsepeg.om" - v15 = v_c; -#line 183 "parsepeg.om" - v16 = ((u (*)())(v14))(v15); -#line 183 "parsepeg.om" +#line 1999 "parse3.om" +b3: if (!(v_ok)) { goto b15; } +#line 1999 "parse3.om" +b14: v23 = (u)my_leave; +#line 1999 "parse3.om" + v24 = v_c; +#line 1999 "parse3.om" + v25 = 86UL; +#line 1999 "parse3.om" + v26 = ((u (*)())(v23))(v24, v25); +#line 2000 "parse3.om" +b13: return v_ok; +#line 1999 "parse3.om" +b15: v27 = (u)my_fail; +#line 1999 "parse3.om" + v28 = v_c; +#line 1999 "parse3.om" + v29 = ((u (*)())(v27))(v28); +#line 1999 "parse3.om" + goto b13; +#line 1997 "parse3.om" +b10: v_ok = 1UL; +#line 1997 "parse3.om" goto b3; } -u my_peg_PEG_grammar(u v_c) { +u my_peg_P_assign_stmt(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -40422,272 +40450,164 @@ u my_peg_PEG_grammar(u v_c) { u v30 = 0; u v31 = 0; u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; - u v44 = 0; - u v45 = 0; - u v46 = 0; - u v47 = 0; - u v48 = 0; - u v49 = 0; - u v50 = 0; - u v51 = 0; - u v52 = 0; - u v53 = 0; - u v54 = 0; - u v55 = 0; - u v56 = 0; - u v57 = 0; - u v58 = 0; - u v59 = 0; - u v60 = 0; - u v61 = 0; - u v62 = 0; - u v63 = 0; - u v64 = 0; - u v65 = 0; - u v66 = 0; - u v67 = 0; - u v68 = 0; - u v69 = 0; - u v70 = 0; - u v71 = 0; - u v72 = 0; -#line 43 "parsepeg.om" +#line 884 "parse3.om" b0: v2 = (u)my_enter; -#line 43 "parsepeg.om" +#line 884 "parse3.om" v3 = v_c; -#line 43 "parsepeg.om" - v4 = 0UL; -#line 43 "parsepeg.om" +#line 884 "parse3.om" + v4 = 23UL; +#line 884 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 44 "parsepeg.om" -b1: v6 = (u)my_peg_PEG_sp; -#line 44 "parsepeg.om" +#line 885 "parse3.om" +b1: v6 = (u)my_peg_P_unary_expr; +#line 885 "parse3.om" v7 = v_c; -#line 44 "parsepeg.om" +#line 885 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 44 "parsepeg.om" +#line 885 "parse3.om" b2: v_ok = v8; -#line 45 "parsepeg.om" +#line 886 "parse3.om" if (!(v_ok)) { goto b3; } -#line 46 "parsepeg.om" -b4: v9 = (u)my_choice; -#line 46 "parsepeg.om" +#line 887 "parse3.om" +b4: v9 = (u)my_literal; +#line 887 "parse3.om" v10 = v_c; -#line 46 "parsepeg.om" - v11 = ((u (*)())(v9))(v10); -#line 47 "parsepeg.om" -b6: v12 = (u)my_peg_PEG_rule; -#line 47 "parsepeg.om" - v13 = v_c; -#line 47 "parsepeg.om" - v14 = ((u (*)())(v12))(v13); -#line 47 "parsepeg.om" -b7: v_ok = v14; -#line 48 "parsepeg.om" - if (!(v_ok)) { goto b12; } -#line 48 "parsepeg.om" -b11: v15 = 0UL; -#line 48 "parsepeg.om" - goto b13; -#line 48 "parsepeg.om" -b13: if (!(v15)) { goto b8; } -#line 48 "parsepeg.om" -b9: v16 = (u)my_choice; -#line 48 "parsepeg.om" +#line 887 "parse3.om" + v11 = (u)"="; +#line 887 "parse3.om" + v12 = ((u (*)())(v9))(v10, v11); +#line 887 "parse3.om" +b6: v_ok = v12; +#line 887 "parse3.om" + goto b3; +#line 889 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 890 "parse3.om" +b8: v13 = (u)my_peg_P_sp; +#line 890 "parse3.om" + v14 = v_c; +#line 890 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 890 "parse3.om" +b10: v_ok = v15; +#line 890 "parse3.om" + goto b7; +#line 892 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 893 "parse3.om" +b12: v16 = (u)my_peg_P_expr; +#line 893 "parse3.om" v17 = v_c; -#line 48 "parsepeg.om" +#line 893 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 49 "parsepeg.om" -b14: v19 = (u)my_peg_PEG_prefix; -#line 49 "parsepeg.om" +#line 893 "parse3.om" +b14: v_ok = v18; +#line 893 "parse3.om" + goto b11; +#line 895 "parse3.om" +b11: if (!(v_ok)) { goto b15; } +#line 896 "parse3.om" +b16: v19 = (u)my_literal; +#line 896 "parse3.om" v20 = v_c; -#line 49 "parsepeg.om" - v21 = ((u (*)())(v19))(v20); -#line 49 "parsepeg.om" -b15: v_ok = v21; -#line 49 "parsepeg.om" - goto b8; -#line 51 "parsepeg.om" -b8: if (!(v_ok)) { goto b18; } -#line 51 "parsepeg.om" -b17: v22 = (u)my_commit; -#line 51 "parsepeg.om" - v23 = v_c; -#line 51 "parsepeg.om" - v24 = ((u (*)())(v22))(v23); -#line 52 "parsepeg.om" -b16: if (!(v_ok)) { goto b3; } -#line 54 "parsepeg.om" -b24: v28 = (u)my_choice; -#line 54 "parsepeg.om" - v29 = v_c; -#line 54 "parsepeg.om" - v30 = ((u (*)())(v28))(v29); -#line 55 "parsepeg.om" -b26: v31 = (u)my_choice; -#line 55 "parsepeg.om" - v32 = v_c; -#line 55 "parsepeg.om" - v33 = ((u (*)())(v31))(v32); -#line 56 "parsepeg.om" -b27: v34 = (u)my_peg_PEG_rule; -#line 56 "parsepeg.om" - v35 = v_c; -#line 56 "parsepeg.om" - v36 = ((u (*)())(v34))(v35); -#line 56 "parsepeg.om" -b28: v_ok = v36; -#line 57 "parsepeg.om" - if (!(v_ok)) { goto b33; } -#line 57 "parsepeg.om" -b32: v37 = 0UL; -#line 57 "parsepeg.om" - goto b34; -#line 57 "parsepeg.om" -b34: if (!(v37)) { goto b29; } -#line 57 "parsepeg.om" -b30: v38 = (u)my_choice; -#line 57 "parsepeg.om" - v39 = v_c; -#line 57 "parsepeg.om" - v40 = ((u (*)())(v38))(v39); -#line 58 "parsepeg.om" -b35: v41 = (u)my_peg_PEG_prefix; -#line 58 "parsepeg.om" - v42 = v_c; -#line 58 "parsepeg.om" - v43 = ((u (*)())(v41))(v42); -#line 58 "parsepeg.om" -b36: v_ok = v43; -#line 58 "parsepeg.om" - goto b29; -#line 60 "parsepeg.om" -b29: if (!(v_ok)) { goto b39; } -#line 60 "parsepeg.om" -b38: v44 = (u)my_commit; -#line 60 "parsepeg.om" - v45 = v_c; -#line 60 "parsepeg.om" - v46 = ((u (*)())(v44))(v45); -#line 61 "parsepeg.om" -b37: if (!(v_ok)) { goto b46; } -#line 61 "parsepeg.om" -b45: v50 = 0UL; -#line 61 "parsepeg.om" - goto b47; -#line 61 "parsepeg.om" -b47: if (!(v50)) { goto b42; } -#line 61 "parsepeg.om" -b43: v_ok = 1UL; -#line 61 "parsepeg.om" +#line 896 "parse3.om" + v21 = (u)";"; +#line 896 "parse3.om" + v22 = ((u (*)())(v19))(v20, v21); +#line 896 "parse3.om" +b18: v_ok = v22; +#line 896 "parse3.om" + goto b15; +#line 898 "parse3.om" +b15: if (!(v_ok)) { goto b19; } +#line 899 "parse3.om" +b20: v23 = (u)my_peg_P_sp; +#line 899 "parse3.om" + v24 = v_c; +#line 899 "parse3.om" + v25 = ((u (*)())(v23))(v24); +#line 899 "parse3.om" +b22: v_ok = v25; +#line 899 "parse3.om" + goto b19; +#line 901 "parse3.om" +b19: if (!(v_ok)) { goto b25; } +#line 901 "parse3.om" +b24: v26 = (u)my_leave; +#line 901 "parse3.om" + v27 = v_c; +#line 901 "parse3.om" + v28 = 23UL; +#line 901 "parse3.om" + v29 = ((u (*)())(v26))(v27, v28); +#line 902 "parse3.om" +b23: return v_ok; +#line 901 "parse3.om" +b25: v30 = (u)my_fail; +#line 901 "parse3.om" + v31 = v_c; +#line 901 "parse3.om" + v32 = ((u (*)())(v30))(v31); +#line 901 "parse3.om" + goto b23; +} +u my_peg_P_band_op(u v_c) { + u v_ok = 0; + u v2 = 0; + u v3 = 0; + u v4 = 0; + u v5 = 0; + u v6 = 0; + u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; + u v16 = 0; +#line 965 "parse3.om" +b0: v2 = (u)my_enter; +#line 965 "parse3.om" + v3 = v_c; +#line 965 "parse3.om" + v4 = 28UL; +#line 965 "parse3.om" + v5 = ((u (*)())(v2))(v3, v4); +#line 966 "parse3.om" +b1: v6 = (u)my_literal; +#line 966 "parse3.om" + v7 = v_c; +#line 966 "parse3.om" + v8 = (u)"&&"; +#line 966 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 966 "parse3.om" +b2: v_ok = v9; +#line 967 "parse3.om" + if (!(v_ok)) { goto b5; } +#line 967 "parse3.om" +b4: v10 = (u)my_leave; +#line 967 "parse3.om" + v11 = v_c; +#line 967 "parse3.om" + v12 = 28UL; +#line 967 "parse3.om" + v13 = ((u (*)())(v10))(v11, v12); +#line 968 "parse3.om" +b3: return v_ok; +#line 967 "parse3.om" +b5: v14 = (u)my_fail; +#line 967 "parse3.om" + v15 = v_c; +#line 967 "parse3.om" + v16 = ((u (*)())(v14))(v15); +#line 967 "parse3.om" goto b3; -#line 66 "parsepeg.om" -b3: if (!(v_ok)) { goto b49; } -#line 67 "parsepeg.om" -b50: v54 = (u)my_choice; -#line 67 "parsepeg.om" - v55 = v_c; -#line 67 "parsepeg.om" - v56 = ((u (*)())(v54))(v55); -#line 68 "parsepeg.om" -b52: v57 = (u)my_any; -#line 68 "parsepeg.om" - v58 = v_c; -#line 68 "parsepeg.om" - v59 = ((u (*)())(v57))(v58); -#line 68 "parsepeg.om" -b53: v_ok = v59; -#line 69 "parsepeg.om" - if (!(v_ok)) { goto b56; } -#line 69 "parsepeg.om" -b55: v60 = (u)my_fail; -#line 69 "parsepeg.om" - v61 = v_c; -#line 69 "parsepeg.om" - v62 = ((u (*)())(v60))(v61); -#line 69 "parsepeg.om" -b57: v63 = (u)my_fail; -#line 69 "parsepeg.om" - v64 = v_c; -#line 69 "parsepeg.om" - v65 = ((u (*)())(v63))(v64); -#line 69 "parsepeg.om" -b58: v_ok = 0UL; -#line 69 "parsepeg.om" - goto b49; -#line 71 "parsepeg.om" -b49: if (!(v_ok)) { goto b61; } -#line 71 "parsepeg.om" -b60: v66 = (u)my_leave; -#line 71 "parsepeg.om" - v67 = v_c; -#line 71 "parsepeg.om" - v68 = 0UL; -#line 71 "parsepeg.om" - v69 = ((u (*)())(v66))(v67, v68); -#line 72 "parsepeg.om" -b59: return v_ok; -#line 71 "parsepeg.om" -b61: v70 = (u)my_fail; -#line 71 "parsepeg.om" - v71 = v_c; -#line 71 "parsepeg.om" - v72 = ((u (*)())(v70))(v71); -#line 71 "parsepeg.om" - goto b59; -#line 69 "parsepeg.om" -b56: v_ok = 1UL; -#line 69 "parsepeg.om" - goto b49; -#line 62 "parsepeg.om" -b42: v51 = (u)my_commit; -#line 62 "parsepeg.om" - v52 = v_c; -#line 62 "parsepeg.om" - v53 = ((u (*)())(v51))(v52); -#line 62 "parsepeg.om" - goto b24; -#line 61 "parsepeg.om" -b46: v50 = 1UL; -#line 61 "parsepeg.om" - goto b47; -#line 60 "parsepeg.om" -b39: v47 = (u)my_fail; -#line 60 "parsepeg.om" - v48 = v_c; -#line 60 "parsepeg.om" - v49 = ((u (*)())(v47))(v48); -#line 60 "parsepeg.om" - goto b37; -#line 57 "parsepeg.om" -b33: v37 = 1UL; -#line 57 "parsepeg.om" - goto b34; -#line 51 "parsepeg.om" -b18: v25 = (u)my_fail; -#line 51 "parsepeg.om" - v26 = v_c; -#line 51 "parsepeg.om" - v27 = ((u (*)())(v25))(v26); -#line 51 "parsepeg.om" - goto b16; -#line 48 "parsepeg.om" -b12: v15 = 1UL; -#line 48 "parsepeg.om" - goto b13; } -u my_peg_PEG_identifier(u v_c) { +u my_peg_P_bnot_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -40715,88 +40635,88 @@ u my_peg_PEG_identifier(u v_c) { u v25 = 0; u v26 = 0; u v27 = 0; -#line 325 "parsepeg.om" + u v28 = 0; + u v29 = 0; +#line 1345 "parse3.om" b0: v2 = (u)my_enter; -#line 325 "parsepeg.om" +#line 1345 "parse3.om" v3 = v_c; -#line 325 "parsepeg.om" - v4 = 14UL; -#line 325 "parsepeg.om" +#line 1345 "parse3.om" + v4 = 56UL; +#line 1345 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 326 "parsepeg.om" -b1: v6 = (u)my_charset; -#line 326 "parsepeg.om" +#line 1346 "parse3.om" +b1: v6 = (u)my_literal; +#line 1346 "parse3.om" v7 = v_c; -#line 326 "parsepeg.om" - v8 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 326 "parsepeg.om" +#line 1346 "parse3.om" + v8 = (u)"!"; +#line 1346 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 326 "parsepeg.om" +#line 1346 "parse3.om" b2: v_ok = v9; -#line 327 "parsepeg.om" +#line 1347 "parse3.om" if (!(v_ok)) { goto b3; } -#line 329 "parsepeg.om" -b6: v10 = (u)my_choice; -#line 329 "parsepeg.om" +#line 1348 "parse3.om" +b4: v10 = (u)my_choice; +#line 1348 "parse3.om" v11 = v_c; -#line 329 "parsepeg.om" +#line 1348 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 330 "parsepeg.om" -b8: v13 = (u)my_charset; -#line 330 "parsepeg.om" +#line 1349 "parse3.om" +b6: v13 = (u)my_literal; +#line 1349 "parse3.om" v14 = v_c; -#line 330 "parsepeg.om" - v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 330 "parsepeg.om" +#line 1349 "parse3.om" + v15 = (u)"="; +#line 1349 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 330 "parsepeg.om" -b9: v_ok = v16; -#line 331 "parsepeg.om" - if (!(v_ok)) { goto b14; } -#line 331 "parsepeg.om" -b13: v17 = 0UL; -#line 331 "parsepeg.om" - goto b15; -#line 331 "parsepeg.om" -b15: if (!(v17)) { goto b10; } -#line 331 "parsepeg.om" -b11: v_ok = 1UL; -#line 331 "parsepeg.om" +#line 1349 "parse3.om" +b7: v_ok = v16; +#line 1350 "parse3.om" + if (!(v_ok)) { goto b10; } +#line 1350 "parse3.om" +b9: v17 = (u)my_fail; +#line 1350 "parse3.om" + v18 = v_c; +#line 1350 "parse3.om" + v19 = ((u (*)())(v17))(v18); +#line 1350 "parse3.om" +b11: v20 = (u)my_fail; +#line 1350 "parse3.om" + v21 = v_c; +#line 1350 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 1350 "parse3.om" +b12: v_ok = 0UL; +#line 1350 "parse3.om" + goto b3; +#line 1352 "parse3.om" +b3: if (!(v_ok)) { goto b15; } +#line 1352 "parse3.om" +b14: v23 = (u)my_leave; +#line 1352 "parse3.om" + v24 = v_c; +#line 1352 "parse3.om" + v25 = 56UL; +#line 1352 "parse3.om" + v26 = ((u (*)())(v23))(v24, v25); +#line 1353 "parse3.om" +b13: return v_ok; +#line 1352 "parse3.om" +b15: v27 = (u)my_fail; +#line 1352 "parse3.om" + v28 = v_c; +#line 1352 "parse3.om" + v29 = ((u (*)())(v27))(v28); +#line 1352 "parse3.om" + goto b13; +#line 1350 "parse3.om" +b10: v_ok = 1UL; +#line 1350 "parse3.om" goto b3; -#line 335 "parsepeg.om" -b3: if (!(v_ok)) { goto b19; } -#line 335 "parsepeg.om" -b18: v21 = (u)my_leave; -#line 335 "parsepeg.om" - v22 = v_c; -#line 335 "parsepeg.om" - v23 = 14UL; -#line 335 "parsepeg.om" - v24 = ((u (*)())(v21))(v22, v23); -#line 336 "parsepeg.om" -b17: return v_ok; -#line 335 "parsepeg.om" -b19: v25 = (u)my_fail; -#line 335 "parsepeg.om" - v26 = v_c; -#line 335 "parsepeg.om" - v27 = ((u (*)())(v25))(v26); -#line 335 "parsepeg.om" - goto b17; -#line 332 "parsepeg.om" -b10: v18 = (u)my_commit; -#line 332 "parsepeg.om" - v19 = v_c; -#line 332 "parsepeg.om" - v20 = ((u (*)())(v18))(v19); -#line 332 "parsepeg.om" - goto b6; -#line 331 "parsepeg.om" -b14: v17 = 1UL; -#line 331 "parsepeg.om" - goto b15; } -u my_peg_PEG_literal(u v_c) { +u my_peg_P_bool_expr(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -40840,142 +40760,162 @@ u my_peg_PEG_literal(u v_c) { u v41 = 0; u v42 = 0; u v43 = 0; -#line 250 "parsepeg.om" + u v44 = 0; + u v45 = 0; + u v46 = 0; + u v47 = 0; +#line 981 "parse3.om" b0: v2 = (u)my_enter; -#line 250 "parsepeg.om" +#line 981 "parse3.om" v3 = v_c; -#line 250 "parsepeg.om" - v4 = 11UL; -#line 250 "parsepeg.om" +#line 981 "parse3.om" + v4 = 30UL; +#line 981 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 251 "parsepeg.om" -b1: v6 = (u)my_literal; -#line 251 "parsepeg.om" +#line 982 "parse3.om" +b1: v6 = (u)my_peg_P_comp_expr; +#line 982 "parse3.om" v7 = v_c; -#line 251 "parsepeg.om" - v8 = (u)"'"; -#line 251 "parsepeg.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 251 "parsepeg.om" -b2: v_ok = v9; -#line 252 "parsepeg.om" +#line 982 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 982 "parse3.om" +b2: v_ok = v8; +#line 983 "parse3.om" if (!(v_ok)) { goto b3; } -#line 254 "parsepeg.om" -b6: v10 = (u)my_choice; -#line 254 "parsepeg.om" - v11 = v_c; -#line 254 "parsepeg.om" - v12 = ((u (*)())(v10))(v11); -#line 255 "parsepeg.om" -b8: v13 = (u)my_choice; -#line 255 "parsepeg.om" - v14 = v_c; -#line 255 "parsepeg.om" - v15 = ((u (*)())(v13))(v14); -#line 256 "parsepeg.om" -b9: v16 = (u)my_literal; -#line 256 "parsepeg.om" - v17 = v_c; -#line 256 "parsepeg.om" - v18 = (u)"'"; -#line 256 "parsepeg.om" - v19 = ((u (*)())(v16))(v17, v18); -#line 256 "parsepeg.om" -b10: v_ok = v19; -#line 257 "parsepeg.om" - if (!(v_ok)) { goto b13; } -#line 257 "parsepeg.om" -b12: v20 = (u)my_fail; -#line 257 "parsepeg.om" - v21 = v_c; -#line 257 "parsepeg.om" - v22 = ((u (*)())(v20))(v21); -#line 257 "parsepeg.om" -b14: v23 = (u)my_fail; -#line 257 "parsepeg.om" - v24 = v_c; -#line 257 "parsepeg.om" - v25 = ((u (*)())(v23))(v24); -#line 257 "parsepeg.om" -b15: v_ok = 0UL; -#line 257 "parsepeg.om" - goto b11; -#line 258 "parsepeg.om" -b11: if (!(v_ok)) { goto b16; } -#line 259 "parsepeg.om" -b17: v26 = (u)my_any; -#line 259 "parsepeg.om" - v27 = v_c; -#line 259 "parsepeg.om" - v28 = ((u (*)())(v26))(v27); -#line 259 "parsepeg.om" -b19: v_ok = v28; -#line 259 "parsepeg.om" - goto b16; -#line 261 "parsepeg.om" -b16: if (!(v_ok)) { goto b24; } -#line 261 "parsepeg.om" -b23: v29 = 0UL; -#line 261 "parsepeg.om" - goto b25; -#line 261 "parsepeg.om" -b25: if (!(v29)) { goto b20; } -#line 261 "parsepeg.om" -b21: v_ok = 1UL; -#line 261 "parsepeg.om" +#line 985 "parse3.om" +b6: v9 = (u)my_choice; +#line 985 "parse3.om" + v10 = v_c; +#line 985 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 986 "parse3.om" +b8: v12 = (u)my_choice; +#line 986 "parse3.om" + v13 = v_c; +#line 986 "parse3.om" + v14 = ((u (*)())(v12))(v13); +#line 987 "parse3.om" +b9: v15 = (u)my_peg_P_band_op; +#line 987 "parse3.om" + v16 = v_c; +#line 987 "parse3.om" + v17 = ((u (*)())(v15))(v16); +#line 987 "parse3.om" +b10: v_ok = v17; +#line 988 "parse3.om" + if (!(v_ok)) { goto b15; } +#line 988 "parse3.om" +b14: v18 = 0UL; +#line 988 "parse3.om" + goto b16; +#line 988 "parse3.om" +b16: if (!(v18)) { goto b11; } +#line 988 "parse3.om" +b12: v19 = (u)my_choice; +#line 988 "parse3.om" + v20 = v_c; +#line 988 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 989 "parse3.om" +b17: v22 = (u)my_peg_P_bor_op; +#line 989 "parse3.om" + v23 = v_c; +#line 989 "parse3.om" + v24 = ((u (*)())(v22))(v23); +#line 989 "parse3.om" +b18: v_ok = v24; +#line 989 "parse3.om" + goto b11; +#line 991 "parse3.om" +b11: if (!(v_ok)) { goto b21; } +#line 991 "parse3.om" +b20: v25 = (u)my_commit; +#line 991 "parse3.om" + v26 = v_c; +#line 991 "parse3.om" + v27 = ((u (*)())(v25))(v26); +#line 992 "parse3.om" +b19: if (!(v_ok)) { goto b24; } +#line 993 "parse3.om" +b25: v31 = (u)my_peg_P_sp; +#line 993 "parse3.om" + v32 = v_c; +#line 993 "parse3.om" + v33 = ((u (*)())(v31))(v32); +#line 993 "parse3.om" +b27: v_ok = v33; +#line 993 "parse3.om" + goto b24; +#line 995 "parse3.om" +b24: if (!(v_ok)) { goto b28; } +#line 996 "parse3.om" +b29: v34 = (u)my_peg_P_comp_expr; +#line 996 "parse3.om" + v35 = v_c; +#line 996 "parse3.om" + v36 = ((u (*)())(v34))(v35); +#line 996 "parse3.om" +b31: v_ok = v36; +#line 996 "parse3.om" + goto b28; +#line 998 "parse3.om" +b28: if (!(v_ok)) { goto b36; } +#line 998 "parse3.om" +b35: v37 = 0UL; +#line 998 "parse3.om" + goto b37; +#line 998 "parse3.om" +b37: if (!(v37)) { goto b32; } +#line 998 "parse3.om" +b33: v_ok = 1UL; +#line 998 "parse3.om" goto b3; -#line 265 "parsepeg.om" -b3: if (!(v_ok)) { goto b27; } -#line 266 "parsepeg.om" -b28: v33 = (u)my_literal; -#line 266 "parsepeg.om" - v34 = v_c; -#line 266 "parsepeg.om" - v35 = (u)"'"; -#line 266 "parsepeg.om" - v36 = ((u (*)())(v33))(v34, v35); -#line 266 "parsepeg.om" -b30: v_ok = v36; -#line 266 "parsepeg.om" - goto b27; -#line 268 "parsepeg.om" -b27: if (!(v_ok)) { goto b33; } -#line 268 "parsepeg.om" -b32: v37 = (u)my_leave; -#line 268 "parsepeg.om" - v38 = v_c; -#line 268 "parsepeg.om" - v39 = 11UL; -#line 268 "parsepeg.om" - v40 = ((u (*)())(v37))(v38, v39); -#line 269 "parsepeg.om" -b31: return v_ok; -#line 268 "parsepeg.om" -b33: v41 = (u)my_fail; -#line 268 "parsepeg.om" +#line 1002 "parse3.om" +b3: if (!(v_ok)) { goto b41; } +#line 1002 "parse3.om" +b40: v41 = (u)my_leave; +#line 1002 "parse3.om" v42 = v_c; -#line 268 "parsepeg.om" - v43 = ((u (*)())(v41))(v42); -#line 268 "parsepeg.om" - goto b31; -#line 262 "parsepeg.om" -b20: v30 = (u)my_commit; -#line 262 "parsepeg.om" - v31 = v_c; -#line 262 "parsepeg.om" - v32 = ((u (*)())(v30))(v31); -#line 262 "parsepeg.om" +#line 1002 "parse3.om" + v43 = 30UL; +#line 1002 "parse3.om" + v44 = ((u (*)())(v41))(v42, v43); +#line 1003 "parse3.om" +b39: return v_ok; +#line 1002 "parse3.om" +b41: v45 = (u)my_fail; +#line 1002 "parse3.om" + v46 = v_c; +#line 1002 "parse3.om" + v47 = ((u (*)())(v45))(v46); +#line 1002 "parse3.om" + goto b39; +#line 999 "parse3.om" +b32: v38 = (u)my_commit; +#line 999 "parse3.om" + v39 = v_c; +#line 999 "parse3.om" + v40 = ((u (*)())(v38))(v39); +#line 999 "parse3.om" goto b6; -#line 261 "parsepeg.om" -b24: v29 = 1UL; -#line 261 "parsepeg.om" - goto b25; -#line 257 "parsepeg.om" -b13: v_ok = 1UL; -#line 257 "parsepeg.om" - goto b11; +#line 998 "parse3.om" +b36: v37 = 1UL; +#line 998 "parse3.om" + goto b37; +#line 991 "parse3.om" +b21: v28 = (u)my_fail; +#line 991 "parse3.om" + v29 = v_c; +#line 991 "parse3.om" + v30 = ((u (*)())(v28))(v29); +#line 991 "parse3.om" + goto b19; +#line 988 "parse3.om" +b15: v18 = 1UL; +#line 988 "parse3.om" + goto b16; } -u my_peg_PEG_lookahead(u v_c) { +u my_peg_P_bor_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -40992,97 +40932,46 @@ u my_peg_PEG_lookahead(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; -#line 165 "parsepeg.om" +#line 973 "parse3.om" b0: v2 = (u)my_enter; -#line 165 "parsepeg.om" +#line 973 "parse3.om" v3 = v_c; -#line 165 "parsepeg.om" - v4 = 6UL; -#line 165 "parsepeg.om" +#line 973 "parse3.om" + v4 = 29UL; +#line 973 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 166 "parsepeg.om" -b1: v6 = (u)my_choice; -#line 166 "parsepeg.om" +#line 974 "parse3.om" +b1: v6 = (u)my_literal; +#line 974 "parse3.om" v7 = v_c; -#line 166 "parsepeg.om" - v8 = ((u (*)())(v6))(v7); -#line 167 "parsepeg.om" -b2: v9 = (u)my_peg_PEG_lookop; -#line 167 "parsepeg.om" - v10 = v_c; -#line 167 "parsepeg.om" - v11 = ((u (*)())(v9))(v10); -#line 167 "parsepeg.om" -b3: v_ok = v11; -#line 168 "parsepeg.om" - if (!(v_ok)) { goto b4; } -#line 169 "parsepeg.om" -b5: v12 = (u)my_peg_PEG_sp; -#line 169 "parsepeg.om" - v13 = v_c; -#line 169 "parsepeg.om" - v14 = ((u (*)())(v12))(v13); -#line 169 "parsepeg.om" -b7: v_ok = v14; -#line 169 "parsepeg.om" - goto b4; -#line 171 "parsepeg.om" -b4: if (!(v_ok)) { goto b10; } -#line 171 "parsepeg.om" -b9: v15 = (u)my_commit; -#line 171 "parsepeg.om" - v16 = v_c; -#line 171 "parsepeg.om" - v17 = ((u (*)())(v15))(v16); -#line 172 "parsepeg.om" -b8: if (!(v_ok)) { goto b12; } -#line 173 "parsepeg.om" -b13: v18 = (u)my_peg_PEG_suffix; -#line 173 "parsepeg.om" - v19 = v_c; -#line 173 "parsepeg.om" - v20 = ((u (*)())(v18))(v19); -#line 173 "parsepeg.om" -b15: v_ok = v20; -#line 173 "parsepeg.om" - goto b12; -#line 175 "parsepeg.om" -b12: if (!(v_ok)) { goto b18; } -#line 175 "parsepeg.om" -b17: v21 = (u)my_leave; -#line 175 "parsepeg.om" - v22 = v_c; -#line 175 "parsepeg.om" - v23 = 6UL; -#line 175 "parsepeg.om" - v24 = ((u (*)())(v21))(v22, v23); -#line 176 "parsepeg.om" -b16: return v_ok; -#line 175 "parsepeg.om" -b18: v25 = (u)my_fail; -#line 175 "parsepeg.om" - v26 = v_c; -#line 175 "parsepeg.om" - v27 = ((u (*)())(v25))(v26); -#line 175 "parsepeg.om" - goto b16; -#line 171 "parsepeg.om" -b10: v_ok = 1UL; -#line 171 "parsepeg.om" - goto b8; +#line 974 "parse3.om" + v8 = (u)"||"; +#line 974 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 974 "parse3.om" +b2: v_ok = v9; +#line 975 "parse3.om" + if (!(v_ok)) { goto b5; } +#line 975 "parse3.om" +b4: v10 = (u)my_leave; +#line 975 "parse3.om" + v11 = v_c; +#line 975 "parse3.om" + v12 = 29UL; +#line 975 "parse3.om" + v13 = ((u (*)())(v10))(v11, v12); +#line 976 "parse3.om" +b3: return v_ok; +#line 975 "parse3.om" +b5: v14 = (u)my_fail; +#line 975 "parse3.om" + v15 = v_c; +#line 975 "parse3.om" + v16 = ((u (*)())(v14))(v15); +#line 975 "parse3.om" + goto b3; } -u my_peg_PEG_lookop(u v_c) { +u my_peg_P_break(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -41099,46 +40988,99 @@ u my_peg_PEG_lookop(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 157 "parsepeg.om" + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; +#line 1797 "parse3.om" b0: v2 = (u)my_enter; -#line 157 "parsepeg.om" +#line 1797 "parse3.om" v3 = v_c; -#line 157 "parsepeg.om" - v4 = 5UL; -#line 157 "parsepeg.om" +#line 1797 "parse3.om" + v4 = 71UL; +#line 1797 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 158 "parsepeg.om" -b1: v6 = (u)my_charset; -#line 158 "parsepeg.om" +#line 1798 "parse3.om" +b1: v6 = (u)my_literal; +#line 1798 "parse3.om" v7 = v_c; -#line 158 "parsepeg.om" - v8 = (u)"!&"; -#line 158 "parsepeg.om" +#line 1798 "parse3.om" + v8 = (u)"break"; +#line 1798 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 158 "parsepeg.om" +#line 1798 "parse3.om" b2: v_ok = v9; -#line 159 "parsepeg.om" - if (!(v_ok)) { goto b5; } -#line 159 "parsepeg.om" -b4: v10 = (u)my_leave; -#line 159 "parsepeg.om" +#line 1799 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 1800 "parse3.om" +b4: v10 = (u)my_choice; +#line 1800 "parse3.om" v11 = v_c; -#line 159 "parsepeg.om" - v12 = 5UL; -#line 159 "parsepeg.om" - v13 = ((u (*)())(v10))(v11, v12); -#line 160 "parsepeg.om" -b3: return v_ok; -#line 159 "parsepeg.om" -b5: v14 = (u)my_fail; -#line 159 "parsepeg.om" - v15 = v_c; -#line 159 "parsepeg.om" - v16 = ((u (*)())(v14))(v15); -#line 159 "parsepeg.om" +#line 1800 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 1801 "parse3.om" +b6: v13 = (u)my_charset; +#line 1801 "parse3.om" + v14 = v_c; +#line 1801 "parse3.om" + v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 1801 "parse3.om" + v16 = ((u (*)())(v13))(v14, v15); +#line 1801 "parse3.om" +b7: v_ok = v16; +#line 1802 "parse3.om" + if (!(v_ok)) { goto b10; } +#line 1802 "parse3.om" +b9: v17 = (u)my_fail; +#line 1802 "parse3.om" + v18 = v_c; +#line 1802 "parse3.om" + v19 = ((u (*)())(v17))(v18); +#line 1802 "parse3.om" +b11: v20 = (u)my_fail; +#line 1802 "parse3.om" + v21 = v_c; +#line 1802 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 1802 "parse3.om" +b12: v_ok = 0UL; +#line 1802 "parse3.om" + goto b3; +#line 1804 "parse3.om" +b3: if (!(v_ok)) { goto b15; } +#line 1804 "parse3.om" +b14: v23 = (u)my_leave; +#line 1804 "parse3.om" + v24 = v_c; +#line 1804 "parse3.om" + v25 = 71UL; +#line 1804 "parse3.om" + v26 = ((u (*)())(v23))(v24, v25); +#line 1805 "parse3.om" +b13: return v_ok; +#line 1804 "parse3.om" +b15: v27 = (u)my_fail; +#line 1804 "parse3.om" + v28 = v_c; +#line 1804 "parse3.om" + v29 = ((u (*)())(v27))(v28); +#line 1804 "parse3.om" + goto b13; +#line 1802 "parse3.om" +b10: v_ok = 1UL; +#line 1802 "parse3.om" goto b3; } -u my_peg_PEG_pattern(u v_c) { +u my_peg_P_break_stmt(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -41164,170 +41106,82 @@ u my_peg_PEG_pattern(u v_c) { u v23 = 0; u v24 = 0; u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; - u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; - u v44 = 0; - u v45 = 0; -#line 114 "parsepeg.om" +#line 753 "parse3.om" b0: v2 = (u)my_enter; -#line 114 "parsepeg.om" +#line 753 "parse3.om" v3 = v_c; -#line 114 "parsepeg.om" - v4 = 3UL; -#line 114 "parsepeg.om" +#line 753 "parse3.om" + v4 = 17UL; +#line 753 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 115 "parsepeg.om" -b1: v6 = (u)my_peg_PEG_alternative; -#line 115 "parsepeg.om" +#line 754 "parse3.om" +b1: v6 = (u)my_peg_P_break; +#line 754 "parse3.om" v7 = v_c; -#line 115 "parsepeg.om" +#line 754 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 115 "parsepeg.om" +#line 754 "parse3.om" b2: v_ok = v8; -#line 116 "parsepeg.om" +#line 755 "parse3.om" if (!(v_ok)) { goto b3; } -#line 118 "parsepeg.om" -b6: v9 = (u)my_choice; -#line 118 "parsepeg.om" +#line 756 "parse3.om" +b4: v9 = (u)my_peg_P_sp; +#line 756 "parse3.om" v10 = v_c; -#line 118 "parsepeg.om" +#line 756 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 119 "parsepeg.om" +#line 756 "parse3.om" +b6: v_ok = v11; +#line 756 "parse3.om" + goto b3; +#line 758 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 759 "parse3.om" b8: v12 = (u)my_literal; -#line 119 "parsepeg.om" +#line 759 "parse3.om" v13 = v_c; -#line 119 "parsepeg.om" - v14 = (u)"/"; -#line 119 "parsepeg.om" +#line 759 "parse3.om" + v14 = (u)";"; +#line 759 "parse3.om" v15 = ((u (*)())(v12))(v13, v14); -#line 119 "parsepeg.om" -b9: v_ok = v15; -#line 120 "parsepeg.om" - if (!(v_ok)) { goto b10; } -#line 121 "parsepeg.om" -b11: v16 = (u)my_choice; -#line 121 "parsepeg.om" +#line 759 "parse3.om" +b10: v_ok = v15; +#line 759 "parse3.om" + goto b7; +#line 761 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 762 "parse3.om" +b12: v16 = (u)my_peg_P_sp; +#line 762 "parse3.om" v17 = v_c; -#line 121 "parsepeg.om" +#line 762 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 122 "parsepeg.om" -b13: v19 = (u)my_literal; -#line 122 "parsepeg.om" +#line 762 "parse3.om" +b14: v_ok = v18; +#line 762 "parse3.om" + goto b11; +#line 764 "parse3.om" +b11: if (!(v_ok)) { goto b17; } +#line 764 "parse3.om" +b16: v19 = (u)my_leave; +#line 764 "parse3.om" v20 = v_c; -#line 122 "parsepeg.om" - v21 = (u)"/"; -#line 122 "parsepeg.om" +#line 764 "parse3.om" + v21 = 17UL; +#line 764 "parse3.om" v22 = ((u (*)())(v19))(v20, v21); -#line 122 "parsepeg.om" -b14: v_ok = v22; -#line 123 "parsepeg.om" - if (!(v_ok)) { goto b17; } -#line 123 "parsepeg.om" -b16: v23 = (u)my_fail; -#line 123 "parsepeg.om" +#line 765 "parse3.om" +b15: return v_ok; +#line 764 "parse3.om" +b17: v23 = (u)my_fail; +#line 764 "parse3.om" v24 = v_c; -#line 123 "parsepeg.om" +#line 764 "parse3.om" v25 = ((u (*)())(v23))(v24); -#line 123 "parsepeg.om" -b18: v26 = (u)my_fail; -#line 123 "parsepeg.om" - v27 = v_c; -#line 123 "parsepeg.om" - v28 = ((u (*)())(v26))(v27); -#line 123 "parsepeg.om" -b19: v_ok = 0UL; -#line 123 "parsepeg.om" - goto b10; -#line 125 "parsepeg.om" -b10: if (!(v_ok)) { goto b20; } -#line 126 "parsepeg.om" -b21: v29 = (u)my_peg_PEG_sp; -#line 126 "parsepeg.om" - v30 = v_c; -#line 126 "parsepeg.om" - v31 = ((u (*)())(v29))(v30); -#line 126 "parsepeg.om" -b23: v_ok = v31; -#line 126 "parsepeg.om" - goto b20; -#line 128 "parsepeg.om" -b20: if (!(v_ok)) { goto b24; } -#line 129 "parsepeg.om" -b25: v32 = (u)my_peg_PEG_alternative; -#line 129 "parsepeg.om" - v33 = v_c; -#line 129 "parsepeg.om" - v34 = ((u (*)())(v32))(v33); -#line 129 "parsepeg.om" -b27: v_ok = v34; -#line 129 "parsepeg.om" - goto b24; -#line 131 "parsepeg.om" -b24: if (!(v_ok)) { goto b32; } -#line 131 "parsepeg.om" -b31: v35 = 0UL; -#line 131 "parsepeg.om" - goto b33; -#line 131 "parsepeg.om" -b33: if (!(v35)) { goto b28; } -#line 131 "parsepeg.om" -b29: v_ok = 1UL; -#line 131 "parsepeg.om" - goto b3; -#line 135 "parsepeg.om" -b3: if (!(v_ok)) { goto b37; } -#line 135 "parsepeg.om" -b36: v39 = (u)my_leave; -#line 135 "parsepeg.om" - v40 = v_c; -#line 135 "parsepeg.om" - v41 = 3UL; -#line 135 "parsepeg.om" - v42 = ((u (*)())(v39))(v40, v41); -#line 136 "parsepeg.om" -b35: return v_ok; -#line 135 "parsepeg.om" -b37: v43 = (u)my_fail; -#line 135 "parsepeg.om" - v44 = v_c; -#line 135 "parsepeg.om" - v45 = ((u (*)())(v43))(v44); -#line 135 "parsepeg.om" - goto b35; -#line 132 "parsepeg.om" -b28: v36 = (u)my_commit; -#line 132 "parsepeg.om" - v37 = v_c; -#line 132 "parsepeg.om" - v38 = ((u (*)())(v36))(v37); -#line 132 "parsepeg.om" - goto b6; -#line 131 "parsepeg.om" -b32: v35 = 1UL; -#line 131 "parsepeg.om" - goto b33; -#line 123 "parsepeg.om" -b17: v_ok = 1UL; -#line 123 "parsepeg.om" - goto b10; +#line 764 "parse3.om" + goto b15; } -u my_peg_PEG_prefix(u v_c) { +u my_peg_P_byte(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -41353,82 +41207,90 @@ u my_peg_PEG_prefix(u v_c) { u v23 = 0; u v24 = 0; u v25 = 0; -#line 97 "parsepeg.om" + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; +#line 1940 "parse3.om" b0: v2 = (u)my_enter; -#line 97 "parsepeg.om" +#line 1940 "parse3.om" v3 = v_c; -#line 97 "parsepeg.om" - v4 = 2UL; -#line 97 "parsepeg.om" +#line 1940 "parse3.om" + v4 = 82UL; +#line 1940 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 98 "parsepeg.om" +#line 1941 "parse3.om" b1: v6 = (u)my_literal; -#line 98 "parsepeg.om" +#line 1941 "parse3.om" v7 = v_c; -#line 98 "parsepeg.om" - v8 = (u)"%prefix"; -#line 98 "parsepeg.om" +#line 1941 "parse3.om" + v8 = (u)"byte"; +#line 1941 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 98 "parsepeg.om" +#line 1941 "parse3.om" b2: v_ok = v9; -#line 99 "parsepeg.om" +#line 1942 "parse3.om" if (!(v_ok)) { goto b3; } -#line 100 "parsepeg.om" -b4: v10 = (u)my_peg_PEG_sp; -#line 100 "parsepeg.om" +#line 1943 "parse3.om" +b4: v10 = (u)my_choice; +#line 1943 "parse3.om" v11 = v_c; -#line 100 "parsepeg.om" +#line 1943 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 100 "parsepeg.om" -b6: v_ok = v12; -#line 100 "parsepeg.om" - goto b3; -#line 102 "parsepeg.om" -b3: if (!(v_ok)) { goto b7; } -#line 103 "parsepeg.om" -b8: v13 = (u)my_peg_PEG_identifier; -#line 103 "parsepeg.om" +#line 1944 "parse3.om" +b6: v13 = (u)my_charset; +#line 1944 "parse3.om" v14 = v_c; -#line 103 "parsepeg.om" - v15 = ((u (*)())(v13))(v14); -#line 103 "parsepeg.om" -b10: v_ok = v15; -#line 103 "parsepeg.om" - goto b7; -#line 105 "parsepeg.om" -b7: if (!(v_ok)) { goto b11; } -#line 106 "parsepeg.om" -b12: v16 = (u)my_peg_PEG_sp; -#line 106 "parsepeg.om" - v17 = v_c; -#line 106 "parsepeg.om" - v18 = ((u (*)())(v16))(v17); -#line 106 "parsepeg.om" -b14: v_ok = v18; -#line 106 "parsepeg.om" - goto b11; -#line 108 "parsepeg.om" -b11: if (!(v_ok)) { goto b17; } -#line 108 "parsepeg.om" -b16: v19 = (u)my_leave; -#line 108 "parsepeg.om" - v20 = v_c; -#line 108 "parsepeg.om" - v21 = 2UL; -#line 108 "parsepeg.om" - v22 = ((u (*)())(v19))(v20, v21); -#line 109 "parsepeg.om" -b15: return v_ok; -#line 108 "parsepeg.om" -b17: v23 = (u)my_fail; -#line 108 "parsepeg.om" +#line 1944 "parse3.om" + v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 1944 "parse3.om" + v16 = ((u (*)())(v13))(v14, v15); +#line 1944 "parse3.om" +b7: v_ok = v16; +#line 1945 "parse3.om" + if (!(v_ok)) { goto b10; } +#line 1945 "parse3.om" +b9: v17 = (u)my_fail; +#line 1945 "parse3.om" + v18 = v_c; +#line 1945 "parse3.om" + v19 = ((u (*)())(v17))(v18); +#line 1945 "parse3.om" +b11: v20 = (u)my_fail; +#line 1945 "parse3.om" + v21 = v_c; +#line 1945 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 1945 "parse3.om" +b12: v_ok = 0UL; +#line 1945 "parse3.om" + goto b3; +#line 1947 "parse3.om" +b3: if (!(v_ok)) { goto b15; } +#line 1947 "parse3.om" +b14: v23 = (u)my_leave; +#line 1947 "parse3.om" v24 = v_c; -#line 108 "parsepeg.om" - v25 = ((u (*)())(v23))(v24); -#line 108 "parsepeg.om" - goto b15; +#line 1947 "parse3.om" + v25 = 82UL; +#line 1947 "parse3.om" + v26 = ((u (*)())(v23))(v24, v25); +#line 1948 "parse3.om" +b13: return v_ok; +#line 1947 "parse3.om" +b15: v27 = (u)my_fail; +#line 1947 "parse3.om" + v28 = v_c; +#line 1947 "parse3.om" + v29 = ((u (*)())(v27))(v28); +#line 1947 "parse3.om" + goto b13; +#line 1945 "parse3.om" +b10: v_ok = 1UL; +#line 1945 "parse3.om" + goto b3; } -u my_peg_PEG_primary(u v_c) { +u my_peg_P_call_expr(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -41494,231 +41356,220 @@ u my_peg_PEG_primary(u v_c) { u v63 = 0; u v64 = 0; u v65 = 0; - u v66 = 0; -#line 208 "parsepeg.om" +#line 1414 "parse3.om" b0: v2 = (u)my_enter; -#line 208 "parsepeg.om" +#line 1414 "parse3.om" v3 = v_c; -#line 208 "parsepeg.om" - v4 = 9UL; -#line 208 "parsepeg.om" +#line 1414 "parse3.om" + v4 = 59UL; +#line 1414 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 209 "parsepeg.om" -b1: v6 = (u)my_choice; -#line 209 "parsepeg.om" +#line 1415 "parse3.om" +b1: v6 = (u)my_literal; +#line 1415 "parse3.om" v7 = v_c; -#line 209 "parsepeg.om" - v8 = ((u (*)())(v6))(v7); -#line 210 "parsepeg.om" -b2: v9 = (u)my_literal; -#line 210 "parsepeg.om" - v10 = v_c; -#line 210 "parsepeg.om" - v11 = (u)"("; -#line 210 "parsepeg.om" - v12 = ((u (*)())(v9))(v10, v11); -#line 210 "parsepeg.om" -b3: v_ok = v12; -#line 211 "parsepeg.om" - if (!(v_ok)) { goto b4; } -#line 212 "parsepeg.om" -b5: v13 = (u)my_peg_PEG_sp; -#line 212 "parsepeg.om" +#line 1415 "parse3.om" + v8 = (u)"("; +#line 1415 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 1415 "parse3.om" +b2: v_ok = v9; +#line 1416 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 1417 "parse3.om" +b4: v10 = (u)my_peg_P_sp; +#line 1417 "parse3.om" + v11 = v_c; +#line 1417 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 1417 "parse3.om" +b6: v_ok = v12; +#line 1417 "parse3.om" + goto b3; +#line 1419 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 1420 "parse3.om" +b8: v13 = (u)my_choice; +#line 1420 "parse3.om" v14 = v_c; -#line 212 "parsepeg.om" +#line 1420 "parse3.om" v15 = ((u (*)())(v13))(v14); -#line 212 "parsepeg.om" -b7: v_ok = v15; -#line 212 "parsepeg.om" - goto b4; -#line 214 "parsepeg.om" -b4: if (!(v_ok)) { goto b8; } -#line 215 "parsepeg.om" -b9: v16 = (u)my_peg_PEG_pattern; -#line 215 "parsepeg.om" +#line 1421 "parse3.om" +b10: v16 = (u)my_peg_P_expr; +#line 1421 "parse3.om" v17 = v_c; -#line 215 "parsepeg.om" +#line 1421 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 215 "parsepeg.om" +#line 1421 "parse3.om" b11: v_ok = v18; -#line 215 "parsepeg.om" - goto b8; -#line 217 "parsepeg.om" -b8: if (!(v_ok)) { goto b12; } -#line 218 "parsepeg.om" -b13: v19 = (u)my_literal; -#line 218 "parsepeg.om" +#line 1422 "parse3.om" + if (!(v_ok)) { goto b12; } +#line 1424 "parse3.om" +b15: v19 = (u)my_choice; +#line 1424 "parse3.om" v20 = v_c; -#line 218 "parsepeg.om" - v21 = (u)")"; -#line 218 "parsepeg.om" - v22 = ((u (*)())(v19))(v20, v21); -#line 218 "parsepeg.om" -b15: v_ok = v22; -#line 218 "parsepeg.om" - goto b12; -#line 220 "parsepeg.om" -b12: if (!(v_ok)) { goto b20; } -#line 220 "parsepeg.om" -b19: v23 = 0UL; -#line 220 "parsepeg.om" - goto b21; -#line 220 "parsepeg.om" -b21: if (!(v23)) { goto b16; } -#line 220 "parsepeg.om" -b17: v24 = (u)my_choice; -#line 220 "parsepeg.om" - v25 = v_c; -#line 220 "parsepeg.om" - v26 = ((u (*)())(v24))(v25); -#line 221 "parsepeg.om" -b22: v27 = (u)my_peg_PEG_any; -#line 221 "parsepeg.om" - v28 = v_c; -#line 221 "parsepeg.om" - v29 = ((u (*)())(v27))(v28); -#line 221 "parsepeg.om" -b23: v_ok = v29; -#line 221 "parsepeg.om" - goto b16; -#line 223 "parsepeg.om" -b16: if (!(v_ok)) { goto b28; } -#line 223 "parsepeg.om" -b27: v30 = 0UL; -#line 223 "parsepeg.om" - goto b29; -#line 223 "parsepeg.om" -b29: if (!(v30)) { goto b24; } -#line 223 "parsepeg.om" -b25: v31 = (u)my_choice; -#line 223 "parsepeg.om" - v32 = v_c; -#line 223 "parsepeg.om" - v33 = ((u (*)())(v31))(v32); -#line 224 "parsepeg.om" -b30: v34 = (u)my_peg_PEG_literal; -#line 224 "parsepeg.om" - v35 = v_c; -#line 224 "parsepeg.om" - v36 = ((u (*)())(v34))(v35); -#line 224 "parsepeg.om" -b31: v_ok = v36; -#line 224 "parsepeg.om" - goto b24; -#line 226 "parsepeg.om" -b24: if (!(v_ok)) { goto b36; } -#line 226 "parsepeg.om" -b35: v37 = 0UL; -#line 226 "parsepeg.om" - goto b37; -#line 226 "parsepeg.om" -b37: if (!(v37)) { goto b32; } -#line 226 "parsepeg.om" -b33: v38 = (u)my_choice; -#line 226 "parsepeg.om" - v39 = v_c; -#line 226 "parsepeg.om" - v40 = ((u (*)())(v38))(v39); -#line 227 "parsepeg.om" -b38: v41 = (u)my_peg_PEG_class; -#line 227 "parsepeg.om" - v42 = v_c; -#line 227 "parsepeg.om" - v43 = ((u (*)())(v41))(v42); -#line 227 "parsepeg.om" -b39: v_ok = v43; -#line 227 "parsepeg.om" +#line 1424 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 1425 "parse3.om" +b17: v22 = (u)my_literal; +#line 1425 "parse3.om" + v23 = v_c; +#line 1425 "parse3.om" + v24 = (u)","; +#line 1425 "parse3.om" + v25 = ((u (*)())(v22))(v23, v24); +#line 1425 "parse3.om" +b18: v_ok = v25; +#line 1426 "parse3.om" + if (!(v_ok)) { goto b19; } +#line 1427 "parse3.om" +b20: v26 = (u)my_peg_P_sp; +#line 1427 "parse3.om" + v27 = v_c; +#line 1427 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 1427 "parse3.om" +b22: v_ok = v28; +#line 1427 "parse3.om" + goto b19; +#line 1429 "parse3.om" +b19: if (!(v_ok)) { goto b23; } +#line 1430 "parse3.om" +b24: v29 = (u)my_peg_P_expr; +#line 1430 "parse3.om" + v30 = v_c; +#line 1430 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 1430 "parse3.om" +b26: v_ok = v31; +#line 1430 "parse3.om" + goto b23; +#line 1432 "parse3.om" +b23: if (!(v_ok)) { goto b31; } +#line 1432 "parse3.om" +b30: v32 = 0UL; +#line 1432 "parse3.om" + goto b32; +#line 1432 "parse3.om" +b32: if (!(v32)) { goto b27; } +#line 1432 "parse3.om" +b28: v_ok = 1UL; +#line 1432 "parse3.om" + goto b12; +#line 1436 "parse3.om" +b12: if (!(v_ok)) { goto b36; } +#line 1436 "parse3.om" +b35: v36 = (u)my_commit; +#line 1436 "parse3.om" + v37 = v_c; +#line 1436 "parse3.om" + v38 = ((u (*)())(v36))(v37); +#line 1438 "parse3.om" +b7: if (!(v_ok)) { goto b38; } +#line 1439 "parse3.om" +b39: v39 = (u)my_choice; +#line 1439 "parse3.om" + v40 = v_c; +#line 1439 "parse3.om" + v41 = ((u (*)())(v39))(v40); +#line 1440 "parse3.om" +b41: v42 = (u)my_literal; +#line 1440 "parse3.om" + v43 = v_c; +#line 1440 "parse3.om" + v44 = (u)","; +#line 1440 "parse3.om" + v45 = ((u (*)())(v42))(v43, v44); +#line 1440 "parse3.om" +b42: v_ok = v45; +#line 1441 "parse3.om" + if (!(v_ok)) { goto b43; } +#line 1442 "parse3.om" +b44: v46 = (u)my_peg_P_sp; +#line 1442 "parse3.om" + v47 = v_c; +#line 1442 "parse3.om" + v48 = ((u (*)())(v46))(v47); +#line 1442 "parse3.om" +b46: v_ok = v48; +#line 1442 "parse3.om" + goto b43; +#line 1444 "parse3.om" +b43: if (!(v_ok)) { goto b49; } +#line 1444 "parse3.om" +b48: v49 = (u)my_commit; +#line 1444 "parse3.om" + v50 = v_c; +#line 1444 "parse3.om" + v51 = ((u (*)())(v49))(v50); +#line 1446 "parse3.om" +b38: if (!(v_ok)) { goto b51; } +#line 1447 "parse3.om" +b52: v52 = (u)my_literal; +#line 1447 "parse3.om" + v53 = v_c; +#line 1447 "parse3.om" + v54 = (u)")"; +#line 1447 "parse3.om" + v55 = ((u (*)())(v52))(v53, v54); +#line 1447 "parse3.om" +b54: v_ok = v55; +#line 1447 "parse3.om" + goto b51; +#line 1449 "parse3.om" +b51: if (!(v_ok)) { goto b55; } +#line 1450 "parse3.om" +b56: v56 = (u)my_peg_P_sp; +#line 1450 "parse3.om" + v57 = v_c; +#line 1450 "parse3.om" + v58 = ((u (*)())(v56))(v57); +#line 1450 "parse3.om" +b58: v_ok = v58; +#line 1450 "parse3.om" + goto b55; +#line 1452 "parse3.om" +b55: if (!(v_ok)) { goto b61; } +#line 1452 "parse3.om" +b60: v59 = (u)my_leave; +#line 1452 "parse3.om" + v60 = v_c; +#line 1452 "parse3.om" + v61 = 59UL; +#line 1452 "parse3.om" + v62 = ((u (*)())(v59))(v60, v61); +#line 1453 "parse3.om" +b59: return v_ok; +#line 1452 "parse3.om" +b61: v63 = (u)my_fail; +#line 1452 "parse3.om" + v64 = v_c; +#line 1452 "parse3.om" + v65 = ((u (*)())(v63))(v64); +#line 1452 "parse3.om" + goto b59; +#line 1444 "parse3.om" +b49: v_ok = 1UL; +#line 1444 "parse3.om" + goto b38; +#line 1436 "parse3.om" +b36: v_ok = 1UL; +#line 1436 "parse3.om" + goto b7; +#line 1433 "parse3.om" +b27: v33 = (u)my_commit; +#line 1433 "parse3.om" + v34 = v_c; +#line 1433 "parse3.om" + v35 = ((u (*)())(v33))(v34); +#line 1433 "parse3.om" + goto b15; +#line 1432 "parse3.om" +b31: v32 = 1UL; +#line 1432 "parse3.om" goto b32; -#line 229 "parsepeg.om" -b32: if (!(v_ok)) { goto b44; } -#line 229 "parsepeg.om" -b43: v44 = 0UL; -#line 229 "parsepeg.om" - goto b45; -#line 229 "parsepeg.om" -b45: if (!(v44)) { goto b40; } -#line 229 "parsepeg.om" -b41: v45 = (u)my_choice; -#line 229 "parsepeg.om" - v46 = v_c; -#line 229 "parsepeg.om" - v47 = ((u (*)())(v45))(v46); -#line 230 "parsepeg.om" -b46: v48 = (u)my_peg_PEG_call; -#line 230 "parsepeg.om" - v49 = v_c; -#line 230 "parsepeg.om" - v50 = ((u (*)())(v48))(v49); -#line 230 "parsepeg.om" -b47: v_ok = v50; -#line 230 "parsepeg.om" - goto b40; -#line 232 "parsepeg.om" -b40: if (!(v_ok)) { goto b50; } -#line 232 "parsepeg.om" -b49: v51 = (u)my_commit; -#line 232 "parsepeg.om" - v52 = v_c; -#line 232 "parsepeg.om" - v53 = ((u (*)())(v51))(v52); -#line 233 "parsepeg.om" -b48: if (!(v_ok)) { goto b53; } -#line 234 "parsepeg.om" -b54: v57 = (u)my_peg_PEG_sp; -#line 234 "parsepeg.om" - v58 = v_c; -#line 234 "parsepeg.om" - v59 = ((u (*)())(v57))(v58); -#line 234 "parsepeg.om" -b56: v_ok = v59; -#line 234 "parsepeg.om" - goto b53; -#line 236 "parsepeg.om" -b53: if (!(v_ok)) { goto b59; } -#line 236 "parsepeg.om" -b58: v60 = (u)my_leave; -#line 236 "parsepeg.om" - v61 = v_c; -#line 236 "parsepeg.om" - v62 = 9UL; -#line 236 "parsepeg.om" - v63 = ((u (*)())(v60))(v61, v62); -#line 237 "parsepeg.om" -b57: return v_ok; -#line 236 "parsepeg.om" -b59: v64 = (u)my_fail; -#line 236 "parsepeg.om" - v65 = v_c; -#line 236 "parsepeg.om" - v66 = ((u (*)())(v64))(v65); -#line 236 "parsepeg.om" - goto b57; -#line 232 "parsepeg.om" -b50: v54 = (u)my_fail; -#line 232 "parsepeg.om" - v55 = v_c; -#line 232 "parsepeg.om" - v56 = ((u (*)())(v54))(v55); -#line 232 "parsepeg.om" - goto b48; -#line 229 "parsepeg.om" -b44: v44 = 1UL; -#line 229 "parsepeg.om" - goto b45; -#line 226 "parsepeg.om" -b36: v37 = 1UL; -#line 226 "parsepeg.om" - goto b37; -#line 223 "parsepeg.om" -b28: v30 = 1UL; -#line 223 "parsepeg.om" - goto b29; -#line 220 "parsepeg.om" -b20: v23 = 1UL; -#line 220 "parsepeg.om" - goto b21; } -u my_peg_PEG_rule(u v_c) { +u my_peg_P_cast_expr(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -41741,100 +41592,70 @@ u my_peg_PEG_rule(u v_c) { u v20 = 0; u v21 = 0; u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; -#line 77 "parsepeg.om" +#line 1475 "parse3.om" b0: v2 = (u)my_enter; -#line 77 "parsepeg.om" +#line 1475 "parse3.om" v3 = v_c; -#line 77 "parsepeg.om" - v4 = 1UL; -#line 77 "parsepeg.om" +#line 1475 "parse3.om" + v4 = 61UL; +#line 1475 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 78 "parsepeg.om" -b1: v6 = (u)my_peg_PEG_identifier; -#line 78 "parsepeg.om" +#line 1476 "parse3.om" +b1: v6 = (u)my_literal; +#line 1476 "parse3.om" v7 = v_c; -#line 78 "parsepeg.om" - v8 = ((u (*)())(v6))(v7); -#line 78 "parsepeg.om" -b2: v_ok = v8; -#line 79 "parsepeg.om" +#line 1476 "parse3.om" + v8 = (u)"as"; +#line 1476 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 1476 "parse3.om" +b2: v_ok = v9; +#line 1477 "parse3.om" if (!(v_ok)) { goto b3; } -#line 80 "parsepeg.om" -b4: v9 = (u)my_peg_PEG_sp; -#line 80 "parsepeg.om" - v10 = v_c; -#line 80 "parsepeg.om" - v11 = ((u (*)())(v9))(v10); -#line 80 "parsepeg.om" -b6: v_ok = v11; -#line 80 "parsepeg.om" +#line 1478 "parse3.om" +b4: v10 = (u)my_peg_P_sp; +#line 1478 "parse3.om" + v11 = v_c; +#line 1478 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 1478 "parse3.om" +b6: v_ok = v12; +#line 1478 "parse3.om" goto b3; -#line 82 "parsepeg.om" +#line 1480 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 83 "parsepeg.om" -b8: v12 = (u)my_literal; -#line 83 "parsepeg.om" - v13 = v_c; -#line 83 "parsepeg.om" - v14 = (u)"<-"; -#line 83 "parsepeg.om" - v15 = ((u (*)())(v12))(v13, v14); -#line 83 "parsepeg.om" +#line 1481 "parse3.om" +b8: v13 = (u)my_peg_P_type; +#line 1481 "parse3.om" + v14 = v_c; +#line 1481 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 1481 "parse3.om" b10: v_ok = v15; -#line 83 "parsepeg.om" +#line 1481 "parse3.om" goto b7; -#line 85 "parsepeg.om" -b7: if (!(v_ok)) { goto b11; } -#line 86 "parsepeg.om" -b12: v16 = (u)my_peg_PEG_sp; -#line 86 "parsepeg.om" +#line 1483 "parse3.om" +b7: if (!(v_ok)) { goto b13; } +#line 1483 "parse3.om" +b12: v16 = (u)my_leave; +#line 1483 "parse3.om" v17 = v_c; -#line 86 "parsepeg.om" - v18 = ((u (*)())(v16))(v17); -#line 86 "parsepeg.om" -b14: v_ok = v18; -#line 86 "parsepeg.om" +#line 1483 "parse3.om" + v18 = 61UL; +#line 1483 "parse3.om" + v19 = ((u (*)())(v16))(v17, v18); +#line 1484 "parse3.om" +b11: return v_ok; +#line 1483 "parse3.om" +b13: v20 = (u)my_fail; +#line 1483 "parse3.om" + v21 = v_c; +#line 1483 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 1483 "parse3.om" goto b11; -#line 88 "parsepeg.om" -b11: if (!(v_ok)) { goto b15; } -#line 89 "parsepeg.om" -b16: v19 = (u)my_peg_PEG_pattern; -#line 89 "parsepeg.om" - v20 = v_c; -#line 89 "parsepeg.om" - v21 = ((u (*)())(v19))(v20); -#line 89 "parsepeg.om" -b18: v_ok = v21; -#line 89 "parsepeg.om" - goto b15; -#line 91 "parsepeg.om" -b15: if (!(v_ok)) { goto b21; } -#line 91 "parsepeg.om" -b20: v22 = (u)my_leave; -#line 91 "parsepeg.om" - v23 = v_c; -#line 91 "parsepeg.om" - v24 = 1UL; -#line 91 "parsepeg.om" - v25 = ((u (*)())(v22))(v23, v24); -#line 92 "parsepeg.om" -b19: return v_ok; -#line 91 "parsepeg.om" -b21: v26 = (u)my_fail; -#line 91 "parsepeg.om" - v27 = v_c; -#line 91 "parsepeg.om" - v28 = ((u (*)())(v26))(v27); -#line 91 "parsepeg.om" - goto b19; } -u my_peg_PEG_sp(u v_c) { +u my_peg_P_char(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -41898,326 +41719,354 @@ u my_peg_PEG_sp(u v_c) { u v61 = 0; u v62 = 0; u v63 = 0; -#line 341 "parsepeg.om" + u v64 = 0; + u v65 = 0; + u v66 = 0; + u v67 = 0; + u v68 = 0; + u v69 = 0; + u v70 = 0; + u v71 = 0; + u v72 = 0; + u v73 = 0; + u v74 = 0; + u v75 = 0; + u v76 = 0; + u v77 = 0; + u v78 = 0; + u v79 = 0; + u v80 = 0; + u v81 = 0; + u v82 = 0; + u v83 = 0; + u v84 = 0; + u v85 = 0; + u v86 = 0; + u v87 = 0; + u v88 = 0; + u v89 = 0; + u v90 = 0; + u v91 = 0; + u v92 = 0; + u v93 = 0; + u v94 = 0; + u v95 = 0; + u v96 = 0; + u v97 = 0; + u v98 = 0; + u v99 = 0; +#line 1675 "parse3.om" b0: v2 = (u)my_enter; -#line 341 "parsepeg.om" +#line 1675 "parse3.om" v3 = v_c; -#line 341 "parsepeg.om" - v4 = 15UL; -#line 341 "parsepeg.om" +#line 1675 "parse3.om" + v4 = 68UL; +#line 1675 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 343 "parsepeg.om" -b2: v6 = (u)my_choice; -#line 343 "parsepeg.om" +#line 1676 "parse3.om" +b1: v6 = (u)my_literal; +#line 1676 "parse3.om" v7 = v_c; -#line 343 "parsepeg.om" - v8 = ((u (*)())(v6))(v7); -#line 344 "parsepeg.om" -b4: v9 = (u)my_choice; -#line 344 "parsepeg.om" - v10 = v_c; -#line 344 "parsepeg.om" - v11 = ((u (*)())(v9))(v10); -#line 345 "parsepeg.om" -b5: v12 = (u)my_charset; -#line 345 "parsepeg.om" - v13 = v_c; -#line 345 "parsepeg.om" - v14 = (u)"\011\012\015 "; -#line 345 "parsepeg.om" - v15 = ((u (*)())(v12))(v13, v14); -#line 345 "parsepeg.om" -b6: v_ok = v15; -#line 346 "parsepeg.om" - if (!(v_ok)) { goto b11; } -#line 346 "parsepeg.om" -b10: v16 = 0UL; -#line 346 "parsepeg.om" - goto b12; -#line 346 "parsepeg.om" -b12: if (!(v16)) { goto b7; } -#line 346 "parsepeg.om" -b8: v17 = (u)my_choice; -#line 346 "parsepeg.om" +#line 1676 "parse3.om" + v8 = (u)"'"; +#line 1676 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 1676 "parse3.om" +b2: v_ok = v9; +#line 1677 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 1678 "parse3.om" +b4: v10 = (u)my_choice; +#line 1678 "parse3.om" + v11 = v_c; +#line 1678 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 1679 "parse3.om" +b6: v13 = (u)my_literal; +#line 1679 "parse3.om" + v14 = v_c; +#line 1679 "parse3.om" + v15 = (u)"\134"; +#line 1679 "parse3.om" + v16 = ((u (*)())(v13))(v14, v15); +#line 1679 "parse3.om" +b7: v_ok = v16; +#line 1680 "parse3.om" + if (!(v_ok)) { goto b8; } +#line 1681 "parse3.om" +b9: v17 = (u)my_any; +#line 1681 "parse3.om" v18 = v_c; -#line 346 "parsepeg.om" +#line 1681 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 347 "parsepeg.om" -b13: v20 = (u)my_literal; -#line 347 "parsepeg.om" - v21 = v_c; -#line 347 "parsepeg.om" - v22 = (u)"//"; -#line 347 "parsepeg.om" - v23 = ((u (*)())(v20))(v21, v22); -#line 347 "parsepeg.om" -b14: v_ok = v23; -#line 348 "parsepeg.om" - if (!(v_ok)) { goto b7; } -#line 350 "parsepeg.om" +#line 1681 "parse3.om" +b11: v_ok = v19; +#line 1681 "parse3.om" + goto b8; +#line 1683 "parse3.om" +b8: if (!(v_ok)) { goto b16; } +#line 1683 "parse3.om" +b15: v20 = 0UL; +#line 1683 "parse3.om" + goto b17; +#line 1683 "parse3.om" +b17: if (!(v20)) { goto b12; } +#line 1683 "parse3.om" +b13: v21 = (u)my_choice; +#line 1683 "parse3.om" + v22 = v_c; +#line 1683 "parse3.om" + v23 = ((u (*)())(v21))(v22); +#line 1684 "parse3.om" b18: v24 = (u)my_choice; -#line 350 "parsepeg.om" +#line 1684 "parse3.om" v25 = v_c; -#line 350 "parsepeg.om" +#line 1684 "parse3.om" v26 = ((u (*)())(v24))(v25); -#line 351 "parsepeg.om" -b20: v27 = (u)my_choice; -#line 351 "parsepeg.om" +#line 1685 "parse3.om" +b19: v27 = (u)my_literal; +#line 1685 "parse3.om" v28 = v_c; -#line 351 "parsepeg.om" - v29 = ((u (*)())(v27))(v28); -#line 352 "parsepeg.om" -b21: v30 = (u)my_charset; -#line 352 "parsepeg.om" - v31 = v_c; -#line 352 "parsepeg.om" - v32 = (u)"\012\015"; -#line 352 "parsepeg.om" - v33 = ((u (*)())(v30))(v31, v32); -#line 352 "parsepeg.om" -b22: v_ok = v33; -#line 353 "parsepeg.om" - if (!(v_ok)) { goto b25; } -#line 353 "parsepeg.om" +#line 1685 "parse3.om" + v29 = (u)"'"; +#line 1685 "parse3.om" + v30 = ((u (*)())(v27))(v28, v29); +#line 1685 "parse3.om" +b20: v_ok = v30; +#line 1686 "parse3.om" + if (!(v_ok)) { goto b23; } +#line 1686 "parse3.om" +b22: v31 = (u)my_fail; +#line 1686 "parse3.om" + v32 = v_c; +#line 1686 "parse3.om" + v33 = ((u (*)())(v31))(v32); +#line 1686 "parse3.om" b24: v34 = (u)my_fail; -#line 353 "parsepeg.om" +#line 1686 "parse3.om" v35 = v_c; -#line 353 "parsepeg.om" +#line 1686 "parse3.om" v36 = ((u (*)())(v34))(v35); -#line 353 "parsepeg.om" -b26: v37 = (u)my_fail; -#line 353 "parsepeg.om" +#line 1686 "parse3.om" +b25: v_ok = 0UL; +#line 1686 "parse3.om" + goto b21; +#line 1687 "parse3.om" +b21: if (!(v_ok)) { goto b12; } +#line 1688 "parse3.om" +b27: v37 = (u)my_any; +#line 1688 "parse3.om" v38 = v_c; -#line 353 "parsepeg.om" +#line 1688 "parse3.om" v39 = ((u (*)())(v37))(v38); -#line 353 "parsepeg.om" -b27: v_ok = 0UL; -#line 353 "parsepeg.om" - goto b23; -#line 354 "parsepeg.om" -b23: if (!(v_ok)) { goto b28; } -#line 355 "parsepeg.om" -b29: v40 = (u)my_any; -#line 355 "parsepeg.om" +#line 1688 "parse3.om" +b29: v_ok = v39; +#line 1688 "parse3.om" + goto b12; +#line 1691 "parse3.om" +b12: if (!(v_ok)) { goto b32; } +#line 1691 "parse3.om" +b31: v40 = (u)my_commit; +#line 1691 "parse3.om" v41 = v_c; -#line 355 "parsepeg.om" +#line 1691 "parse3.om" v42 = ((u (*)())(v40))(v41); -#line 355 "parsepeg.om" -b31: v_ok = v42; -#line 355 "parsepeg.om" - goto b28; -#line 357 "parsepeg.om" -b28: if (!(v_ok)) { goto b36; } -#line 357 "parsepeg.om" -b35: v43 = 0UL; -#line 357 "parsepeg.om" - goto b37; -#line 357 "parsepeg.om" -b37: if (!(v43)) { goto b32; } -#line 357 "parsepeg.om" -b33: v_ok = 1UL; -#line 357 "parsepeg.om" - goto b7; -#line 362 "parsepeg.om" -b7: if (!(v_ok)) { goto b41; } -#line 362 "parsepeg.om" -b40: v47 = (u)my_commit; -#line 362 "parsepeg.om" - v48 = v_c; -#line 362 "parsepeg.om" - v49 = ((u (*)())(v47))(v48); -#line 363 "parsepeg.om" -b39: if (!(v_ok)) { goto b48; } -#line 363 "parsepeg.om" -b47: v53 = 0UL; -#line 363 "parsepeg.om" - goto b49; -#line 363 "parsepeg.om" -b49: if (!(v53)) { goto b44; } -#line 363 "parsepeg.om" -b45: v_ok = 1UL; -#line 363 "parsepeg.om" +#line 1692 "parse3.om" +b30: if (!(v_ok)) { goto b3; } +#line 1694 "parse3.om" +b38: v46 = (u)my_choice; +#line 1694 "parse3.om" + v47 = v_c; +#line 1694 "parse3.om" + v48 = ((u (*)())(v46))(v47); +#line 1695 "parse3.om" +b40: v49 = (u)my_choice; +#line 1695 "parse3.om" + v50 = v_c; +#line 1695 "parse3.om" + v51 = ((u (*)())(v49))(v50); +#line 1696 "parse3.om" +b41: v52 = (u)my_literal; +#line 1696 "parse3.om" + v53 = v_c; +#line 1696 "parse3.om" + v54 = (u)"\134"; +#line 1696 "parse3.om" + v55 = ((u (*)())(v52))(v53, v54); +#line 1696 "parse3.om" +b42: v_ok = v55; +#line 1697 "parse3.om" + if (!(v_ok)) { goto b43; } +#line 1698 "parse3.om" +b44: v56 = (u)my_any; +#line 1698 "parse3.om" + v57 = v_c; +#line 1698 "parse3.om" + v58 = ((u (*)())(v56))(v57); +#line 1698 "parse3.om" +b46: v_ok = v58; +#line 1698 "parse3.om" + goto b43; +#line 1700 "parse3.om" +b43: if (!(v_ok)) { goto b51; } +#line 1700 "parse3.om" +b50: v59 = 0UL; +#line 1700 "parse3.om" + goto b52; +#line 1700 "parse3.om" +b52: if (!(v59)) { goto b47; } +#line 1700 "parse3.om" +b48: v60 = (u)my_choice; +#line 1700 "parse3.om" + v61 = v_c; +#line 1700 "parse3.om" + v62 = ((u (*)())(v60))(v61); +#line 1701 "parse3.om" +b53: v63 = (u)my_choice; +#line 1701 "parse3.om" + v64 = v_c; +#line 1701 "parse3.om" + v65 = ((u (*)())(v63))(v64); +#line 1702 "parse3.om" +b54: v66 = (u)my_literal; +#line 1702 "parse3.om" + v67 = v_c; +#line 1702 "parse3.om" + v68 = (u)"'"; +#line 1702 "parse3.om" + v69 = ((u (*)())(v66))(v67, v68); +#line 1702 "parse3.om" +b55: v_ok = v69; +#line 1703 "parse3.om" + if (!(v_ok)) { goto b58; } +#line 1703 "parse3.om" +b57: v70 = (u)my_fail; +#line 1703 "parse3.om" + v71 = v_c; +#line 1703 "parse3.om" + v72 = ((u (*)())(v70))(v71); +#line 1703 "parse3.om" +b59: v73 = (u)my_fail; +#line 1703 "parse3.om" + v74 = v_c; +#line 1703 "parse3.om" + v75 = ((u (*)())(v73))(v74); +#line 1703 "parse3.om" +b60: v_ok = 0UL; +#line 1703 "parse3.om" + goto b56; +#line 1704 "parse3.om" +b56: if (!(v_ok)) { goto b47; } +#line 1705 "parse3.om" +b62: v76 = (u)my_any; +#line 1705 "parse3.om" + v77 = v_c; +#line 1705 "parse3.om" + v78 = ((u (*)())(v76))(v77); +#line 1705 "parse3.om" +b64: v_ok = v78; +#line 1705 "parse3.om" + goto b47; +#line 1708 "parse3.om" +b47: if (!(v_ok)) { goto b67; } +#line 1708 "parse3.om" +b66: v79 = (u)my_commit; +#line 1708 "parse3.om" + v80 = v_c; +#line 1708 "parse3.om" + v81 = ((u (*)())(v79))(v80); +#line 1709 "parse3.om" +b65: if (!(v_ok)) { goto b74; } +#line 1709 "parse3.om" +b73: v85 = 0UL; +#line 1709 "parse3.om" + goto b75; +#line 1709 "parse3.om" +b75: if (!(v85)) { goto b70; } +#line 1709 "parse3.om" +b71: v_ok = 1UL; +#line 1709 "parse3.om" goto b3; -#line 366 "parsepeg.om" -b3: if (!(v_ok)) { goto b53; } -#line 366 "parsepeg.om" -b52: v57 = (u)my_leave; -#line 366 "parsepeg.om" - v58 = v_c; -#line 366 "parsepeg.om" - v59 = 15UL; -#line 366 "parsepeg.om" - v60 = ((u (*)())(v57))(v58, v59); -#line 367 "parsepeg.om" -b51: return v_ok; -#line 366 "parsepeg.om" -b53: v61 = (u)my_fail; -#line 366 "parsepeg.om" - v62 = v_c; -#line 366 "parsepeg.om" - v63 = ((u (*)())(v61))(v62); -#line 366 "parsepeg.om" - goto b51; -#line 364 "parsepeg.om" -b44: v54 = (u)my_commit; -#line 364 "parsepeg.om" - v55 = v_c; -#line 364 "parsepeg.om" - v56 = ((u (*)())(v54))(v55); -#line 364 "parsepeg.om" - goto b2; -#line 363 "parsepeg.om" -b48: v53 = 1UL; -#line 363 "parsepeg.om" - goto b49; -#line 362 "parsepeg.om" -b41: v50 = (u)my_fail; -#line 362 "parsepeg.om" - v51 = v_c; -#line 362 "parsepeg.om" - v52 = ((u (*)())(v50))(v51); -#line 362 "parsepeg.om" - goto b39; -#line 358 "parsepeg.om" -b32: v44 = (u)my_commit; -#line 358 "parsepeg.om" - v45 = v_c; -#line 358 "parsepeg.om" - v46 = ((u (*)())(v44))(v45); -#line 358 "parsepeg.om" - goto b18; -#line 357 "parsepeg.om" -b36: v43 = 1UL; -#line 357 "parsepeg.om" - goto b37; -#line 353 "parsepeg.om" -b25: v_ok = 1UL; -#line 353 "parsepeg.om" - goto b23; -#line 346 "parsepeg.om" -b11: v16 = 1UL; -#line 346 "parsepeg.om" - goto b12; -} -u my_peg_PEG_suffix(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; -#line 189 "parsepeg.om" -b0: v2 = (u)my_enter; -#line 189 "parsepeg.om" - v3 = v_c; -#line 189 "parsepeg.om" - v4 = 8UL; -#line 189 "parsepeg.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 190 "parsepeg.om" -b1: v6 = (u)my_peg_PEG_primary; -#line 190 "parsepeg.om" - v7 = v_c; -#line 190 "parsepeg.om" - v8 = ((u (*)())(v6))(v7); -#line 190 "parsepeg.om" -b2: v_ok = v8; -#line 191 "parsepeg.om" - if (!(v_ok)) { goto b3; } -#line 193 "parsepeg.om" -b6: v9 = (u)my_choice; -#line 193 "parsepeg.om" - v10 = v_c; -#line 193 "parsepeg.om" - v11 = ((u (*)())(v9))(v10); -#line 194 "parsepeg.om" -b8: v12 = (u)my_peg_PEG_countop; -#line 194 "parsepeg.om" - v13 = v_c; -#line 194 "parsepeg.om" - v14 = ((u (*)())(v12))(v13); -#line 194 "parsepeg.om" -b9: v_ok = v14; -#line 195 "parsepeg.om" - if (!(v_ok)) { goto b10; } -#line 196 "parsepeg.om" -b11: v15 = (u)my_peg_PEG_sp; -#line 196 "parsepeg.om" - v16 = v_c; -#line 196 "parsepeg.om" - v17 = ((u (*)())(v15))(v16); -#line 196 "parsepeg.om" -b13: v_ok = v17; -#line 196 "parsepeg.om" - goto b10; -#line 198 "parsepeg.om" -b10: if (!(v_ok)) { goto b18; } -#line 198 "parsepeg.om" -b17: v18 = 0UL; -#line 198 "parsepeg.om" - goto b19; -#line 198 "parsepeg.om" -b19: if (!(v18)) { goto b14; } -#line 198 "parsepeg.om" -b15: v_ok = 1UL; -#line 198 "parsepeg.om" - goto b3; -#line 202 "parsepeg.om" -b3: if (!(v_ok)) { goto b23; } -#line 202 "parsepeg.om" -b22: v22 = (u)my_leave; -#line 202 "parsepeg.om" - v23 = v_c; -#line 202 "parsepeg.om" - v24 = 8UL; -#line 202 "parsepeg.om" - v25 = ((u (*)())(v22))(v23, v24); -#line 203 "parsepeg.om" -b21: return v_ok; -#line 202 "parsepeg.om" -b23: v26 = (u)my_fail; -#line 202 "parsepeg.om" - v27 = v_c; -#line 202 "parsepeg.om" - v28 = ((u (*)())(v26))(v27); -#line 202 "parsepeg.om" +#line 1714 "parse3.om" +b3: if (!(v_ok)) { goto b77; } +#line 1715 "parse3.om" +b78: v89 = (u)my_literal; +#line 1715 "parse3.om" + v90 = v_c; +#line 1715 "parse3.om" + v91 = (u)"'"; +#line 1715 "parse3.om" + v92 = ((u (*)())(v89))(v90, v91); +#line 1715 "parse3.om" +b80: v_ok = v92; +#line 1715 "parse3.om" + goto b77; +#line 1717 "parse3.om" +b77: if (!(v_ok)) { goto b83; } +#line 1717 "parse3.om" +b82: v93 = (u)my_leave; +#line 1717 "parse3.om" + v94 = v_c; +#line 1717 "parse3.om" + v95 = 68UL; +#line 1717 "parse3.om" + v96 = ((u (*)())(v93))(v94, v95); +#line 1718 "parse3.om" +b81: return v_ok; +#line 1717 "parse3.om" +b83: v97 = (u)my_fail; +#line 1717 "parse3.om" + v98 = v_c; +#line 1717 "parse3.om" + v99 = ((u (*)())(v97))(v98); +#line 1717 "parse3.om" + goto b81; +#line 1710 "parse3.om" +b70: v86 = (u)my_commit; +#line 1710 "parse3.om" + v87 = v_c; +#line 1710 "parse3.om" + v88 = ((u (*)())(v86))(v87); +#line 1710 "parse3.om" + goto b38; +#line 1709 "parse3.om" +b74: v85 = 1UL; +#line 1709 "parse3.om" + goto b75; +#line 1708 "parse3.om" +b67: v82 = (u)my_fail; +#line 1708 "parse3.om" + v83 = v_c; +#line 1708 "parse3.om" + v84 = ((u (*)())(v82))(v83); +#line 1708 "parse3.om" + goto b65; +#line 1703 "parse3.om" +b58: v_ok = 1UL; +#line 1703 "parse3.om" + goto b56; +#line 1700 "parse3.om" +b51: v59 = 1UL; +#line 1700 "parse3.om" + goto b52; +#line 1691 "parse3.om" +b32: v43 = (u)my_fail; +#line 1691 "parse3.om" + v44 = v_c; +#line 1691 "parse3.om" + v45 = ((u (*)())(v43))(v44); +#line 1691 "parse3.om" + goto b30; +#line 1686 "parse3.om" +b23: v_ok = 1UL; +#line 1686 "parse3.om" goto b21; -#line 199 "parsepeg.om" -b14: v19 = (u)my_commit; -#line 199 "parsepeg.om" - v20 = v_c; -#line 199 "parsepeg.om" - v21 = ((u (*)())(v19))(v20); -#line 199 "parsepeg.om" - goto b6; -#line 198 "parsepeg.om" -b18: v18 = 1UL; -#line 198 "parsepeg.om" - goto b19; +#line 1683 "parse3.om" +b16: v20 = 1UL; +#line 1683 "parse3.om" + goto b17; } -u my_peg_P_add_expr(u v_c) { +u my_peg_P_comp_expr(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -42279,214 +42128,271 @@ u my_peg_P_add_expr(u v_c) { u v59 = 0; u v60 = 0; u v61 = 0; -#line 1119 "parse3.om" + u v62 = 0; + u v63 = 0; + u v64 = 0; + u v65 = 0; + u v66 = 0; + u v67 = 0; + u v68 = 0; + u v69 = 0; + u v70 = 0; + u v71 = 0; + u v72 = 0; + u v73 = 0; + u v74 = 0; +#line 1076 "parse3.om" b0: v2 = (u)my_enter; -#line 1119 "parse3.om" +#line 1076 "parse3.om" v3 = v_c; -#line 1119 "parse3.om" - v4 = 42UL; -#line 1119 "parse3.om" +#line 1076 "parse3.om" + v4 = 37UL; +#line 1076 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1120 "parse3.om" -b1: v6 = (u)my_peg_P_mul_expr; -#line 1120 "parse3.om" +#line 1077 "parse3.om" +b1: v6 = (u)my_peg_P_add_expr; +#line 1077 "parse3.om" v7 = v_c; -#line 1120 "parse3.om" +#line 1077 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 1120 "parse3.om" +#line 1077 "parse3.om" b2: v_ok = v8; -#line 1121 "parse3.om" +#line 1078 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1123 "parse3.om" -b6: v9 = (u)my_choice; -#line 1123 "parse3.om" +#line 1079 "parse3.om" +b4: v9 = (u)my_choice; +#line 1079 "parse3.om" v10 = v_c; -#line 1123 "parse3.om" +#line 1079 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 1124 "parse3.om" -b8: v12 = (u)my_choice; -#line 1124 "parse3.om" +#line 1080 "parse3.om" +b6: v12 = (u)my_choice; +#line 1080 "parse3.om" v13 = v_c; -#line 1124 "parse3.om" +#line 1080 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 1125 "parse3.om" -b9: v15 = (u)my_peg_P_add_op; -#line 1125 "parse3.om" +#line 1081 "parse3.om" +b7: v15 = (u)my_peg_P_le_op; +#line 1081 "parse3.om" v16 = v_c; -#line 1125 "parse3.om" +#line 1081 "parse3.om" v17 = ((u (*)())(v15))(v16); -#line 1125 "parse3.om" -b10: v_ok = v17; -#line 1126 "parse3.om" - if (!(v_ok)) { goto b15; } -#line 1126 "parse3.om" -b14: v18 = 0UL; -#line 1126 "parse3.om" - goto b16; -#line 1126 "parse3.om" -b16: if (!(v18)) { goto b11; } -#line 1126 "parse3.om" -b12: v19 = (u)my_choice; -#line 1126 "parse3.om" +#line 1081 "parse3.om" +b8: v_ok = v17; +#line 1082 "parse3.om" + if (!(v_ok)) { goto b13; } +#line 1082 "parse3.om" +b12: v18 = 0UL; +#line 1082 "parse3.om" + goto b14; +#line 1082 "parse3.om" +b14: if (!(v18)) { goto b9; } +#line 1082 "parse3.om" +b10: v19 = (u)my_choice; +#line 1082 "parse3.om" v20 = v_c; -#line 1126 "parse3.om" +#line 1082 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 1127 "parse3.om" -b17: v22 = (u)my_peg_P_sub_op; -#line 1127 "parse3.om" +#line 1083 "parse3.om" +b15: v22 = (u)my_peg_P_ge_op; +#line 1083 "parse3.om" v23 = v_c; -#line 1127 "parse3.om" +#line 1083 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 1127 "parse3.om" -b18: v_ok = v24; -#line 1127 "parse3.om" - goto b11; -#line 1129 "parse3.om" -b11: if (!(v_ok)) { goto b23; } -#line 1129 "parse3.om" -b22: v25 = 0UL; -#line 1129 "parse3.om" - goto b24; -#line 1129 "parse3.om" -b24: if (!(v25)) { goto b19; } -#line 1129 "parse3.om" -b20: v26 = (u)my_choice; -#line 1129 "parse3.om" +#line 1083 "parse3.om" +b16: v_ok = v24; +#line 1083 "parse3.om" + goto b9; +#line 1085 "parse3.om" +b9: if (!(v_ok)) { goto b21; } +#line 1085 "parse3.om" +b20: v25 = 0UL; +#line 1085 "parse3.om" + goto b22; +#line 1085 "parse3.om" +b22: if (!(v25)) { goto b17; } +#line 1085 "parse3.om" +b18: v26 = (u)my_choice; +#line 1085 "parse3.om" v27 = v_c; -#line 1129 "parse3.om" +#line 1085 "parse3.om" v28 = ((u (*)())(v26))(v27); -#line 1130 "parse3.om" -b25: v29 = (u)my_peg_P_or_op; -#line 1130 "parse3.om" +#line 1086 "parse3.om" +b23: v29 = (u)my_peg_P_lt_op; +#line 1086 "parse3.om" v30 = v_c; -#line 1130 "parse3.om" +#line 1086 "parse3.om" v31 = ((u (*)())(v29))(v30); -#line 1130 "parse3.om" -b26: v_ok = v31; -#line 1130 "parse3.om" - goto b19; -#line 1132 "parse3.om" -b19: if (!(v_ok)) { goto b31; } -#line 1132 "parse3.om" -b30: v32 = 0UL; -#line 1132 "parse3.om" - goto b32; -#line 1132 "parse3.om" -b32: if (!(v32)) { goto b27; } -#line 1132 "parse3.om" -b28: v33 = (u)my_choice; -#line 1132 "parse3.om" +#line 1086 "parse3.om" +b24: v_ok = v31; +#line 1086 "parse3.om" + goto b17; +#line 1088 "parse3.om" +b17: if (!(v_ok)) { goto b29; } +#line 1088 "parse3.om" +b28: v32 = 0UL; +#line 1088 "parse3.om" + goto b30; +#line 1088 "parse3.om" +b30: if (!(v32)) { goto b25; } +#line 1088 "parse3.om" +b26: v33 = (u)my_choice; +#line 1088 "parse3.om" v34 = v_c; -#line 1132 "parse3.om" +#line 1088 "parse3.om" v35 = ((u (*)())(v33))(v34); -#line 1133 "parse3.om" -b33: v36 = (u)my_peg_P_xor_op; -#line 1133 "parse3.om" +#line 1089 "parse3.om" +b31: v36 = (u)my_peg_P_gt_op; +#line 1089 "parse3.om" v37 = v_c; -#line 1133 "parse3.om" +#line 1089 "parse3.om" v38 = ((u (*)())(v36))(v37); -#line 1133 "parse3.om" -b34: v_ok = v38; -#line 1133 "parse3.om" - goto b27; -#line 1135 "parse3.om" -b27: if (!(v_ok)) { goto b37; } -#line 1135 "parse3.om" -b36: v39 = (u)my_commit; -#line 1135 "parse3.om" - v40 = v_c; -#line 1135 "parse3.om" - v41 = ((u (*)())(v39))(v40); -#line 1136 "parse3.om" -b35: if (!(v_ok)) { goto b40; } -#line 1137 "parse3.om" -b41: v45 = (u)my_peg_P_sp; -#line 1137 "parse3.om" - v46 = v_c; -#line 1137 "parse3.om" - v47 = ((u (*)())(v45))(v46); -#line 1137 "parse3.om" -b43: v_ok = v47; -#line 1137 "parse3.om" - goto b40; -#line 1139 "parse3.om" -b40: if (!(v_ok)) { goto b44; } -#line 1140 "parse3.om" -b45: v48 = (u)my_peg_P_mul_expr; -#line 1140 "parse3.om" - v49 = v_c; -#line 1140 "parse3.om" - v50 = ((u (*)())(v48))(v49); -#line 1140 "parse3.om" -b47: v_ok = v50; -#line 1140 "parse3.om" - goto b44; -#line 1142 "parse3.om" -b44: if (!(v_ok)) { goto b52; } -#line 1142 "parse3.om" -b51: v51 = 0UL; -#line 1142 "parse3.om" - goto b53; -#line 1142 "parse3.om" -b53: if (!(v51)) { goto b48; } -#line 1142 "parse3.om" -b49: v_ok = 1UL; -#line 1142 "parse3.om" - goto b3; -#line 1146 "parse3.om" -b3: if (!(v_ok)) { goto b57; } -#line 1146 "parse3.om" -b56: v55 = (u)my_leave; -#line 1146 "parse3.om" - v56 = v_c; -#line 1146 "parse3.om" - v57 = 42UL; -#line 1146 "parse3.om" - v58 = ((u (*)())(v55))(v56, v57); -#line 1147 "parse3.om" -b55: return v_ok; -#line 1146 "parse3.om" -b57: v59 = (u)my_fail; -#line 1146 "parse3.om" +#line 1089 "parse3.om" +b32: v_ok = v38; +#line 1089 "parse3.om" + goto b25; +#line 1091 "parse3.om" +b25: if (!(v_ok)) { goto b37; } +#line 1091 "parse3.om" +b36: v39 = 0UL; +#line 1091 "parse3.om" + goto b38; +#line 1091 "parse3.om" +b38: if (!(v39)) { goto b33; } +#line 1091 "parse3.om" +b34: v40 = (u)my_choice; +#line 1091 "parse3.om" + v41 = v_c; +#line 1091 "parse3.om" + v42 = ((u (*)())(v40))(v41); +#line 1092 "parse3.om" +b39: v43 = (u)my_peg_P_eq_op; +#line 1092 "parse3.om" + v44 = v_c; +#line 1092 "parse3.om" + v45 = ((u (*)())(v43))(v44); +#line 1092 "parse3.om" +b40: v_ok = v45; +#line 1092 "parse3.om" + goto b33; +#line 1094 "parse3.om" +b33: if (!(v_ok)) { goto b45; } +#line 1094 "parse3.om" +b44: v46 = 0UL; +#line 1094 "parse3.om" + goto b46; +#line 1094 "parse3.om" +b46: if (!(v46)) { goto b41; } +#line 1094 "parse3.om" +b42: v47 = (u)my_choice; +#line 1094 "parse3.om" + v48 = v_c; +#line 1094 "parse3.om" + v49 = ((u (*)())(v47))(v48); +#line 1095 "parse3.om" +b47: v50 = (u)my_peg_P_ne_op; +#line 1095 "parse3.om" + v51 = v_c; +#line 1095 "parse3.om" + v52 = ((u (*)())(v50))(v51); +#line 1095 "parse3.om" +b48: v_ok = v52; +#line 1095 "parse3.om" + goto b41; +#line 1097 "parse3.om" +b41: if (!(v_ok)) { goto b51; } +#line 1097 "parse3.om" +b50: v53 = (u)my_commit; +#line 1097 "parse3.om" + v54 = v_c; +#line 1097 "parse3.om" + v55 = ((u (*)())(v53))(v54); +#line 1098 "parse3.om" +b49: if (!(v_ok)) { goto b54; } +#line 1099 "parse3.om" +b55: v59 = (u)my_peg_P_sp; +#line 1099 "parse3.om" v60 = v_c; -#line 1146 "parse3.om" +#line 1099 "parse3.om" v61 = ((u (*)())(v59))(v60); -#line 1146 "parse3.om" - goto b55; -#line 1143 "parse3.om" -b48: v52 = (u)my_commit; -#line 1143 "parse3.om" - v53 = v_c; -#line 1143 "parse3.om" - v54 = ((u (*)())(v52))(v53); -#line 1143 "parse3.om" - goto b6; -#line 1142 "parse3.om" -b52: v51 = 1UL; -#line 1142 "parse3.om" - goto b53; -#line 1135 "parse3.om" -b37: v42 = (u)my_fail; -#line 1135 "parse3.om" - v43 = v_c; -#line 1135 "parse3.om" - v44 = ((u (*)())(v42))(v43); -#line 1135 "parse3.om" - goto b35; -#line 1132 "parse3.om" -b31: v32 = 1UL; -#line 1132 "parse3.om" - goto b32; -#line 1129 "parse3.om" -b23: v25 = 1UL; -#line 1129 "parse3.om" - goto b24; -#line 1126 "parse3.om" -b15: v18 = 1UL; -#line 1126 "parse3.om" - goto b16; +#line 1099 "parse3.om" +b57: v_ok = v61; +#line 1099 "parse3.om" + goto b54; +#line 1101 "parse3.om" +b54: if (!(v_ok)) { goto b58; } +#line 1102 "parse3.om" +b59: v62 = (u)my_peg_P_add_expr; +#line 1102 "parse3.om" + v63 = v_c; +#line 1102 "parse3.om" + v64 = ((u (*)())(v62))(v63); +#line 1102 "parse3.om" +b61: v_ok = v64; +#line 1102 "parse3.om" + goto b58; +#line 1104 "parse3.om" +b58: if (!(v_ok)) { goto b64; } +#line 1104 "parse3.om" +b63: v65 = (u)my_commit; +#line 1104 "parse3.om" + v66 = v_c; +#line 1104 "parse3.om" + v67 = ((u (*)())(v65))(v66); +#line 1106 "parse3.om" +b3: if (!(v_ok)) { goto b68; } +#line 1106 "parse3.om" +b67: v68 = (u)my_leave; +#line 1106 "parse3.om" + v69 = v_c; +#line 1106 "parse3.om" + v70 = 37UL; +#line 1106 "parse3.om" + v71 = ((u (*)())(v68))(v69, v70); +#line 1107 "parse3.om" +b66: return v_ok; +#line 1106 "parse3.om" +b68: v72 = (u)my_fail; +#line 1106 "parse3.om" + v73 = v_c; +#line 1106 "parse3.om" + v74 = ((u (*)())(v72))(v73); +#line 1106 "parse3.om" + goto b66; +#line 1104 "parse3.om" +b64: v_ok = 1UL; +#line 1104 "parse3.om" + goto b3; +#line 1097 "parse3.om" +b51: v56 = (u)my_fail; +#line 1097 "parse3.om" + v57 = v_c; +#line 1097 "parse3.om" + v58 = ((u (*)())(v56))(v57); +#line 1097 "parse3.om" + goto b49; +#line 1094 "parse3.om" +b45: v46 = 1UL; +#line 1094 "parse3.om" + goto b46; +#line 1091 "parse3.om" +b37: v39 = 1UL; +#line 1091 "parse3.om" + goto b38; +#line 1088 "parse3.om" +b29: v32 = 1UL; +#line 1088 "parse3.om" + goto b30; +#line 1085 "parse3.om" +b21: v25 = 1UL; +#line 1085 "parse3.om" + goto b22; +#line 1082 "parse3.om" +b13: v18 = 1UL; +#line 1082 "parse3.om" + goto b14; } -u my_peg_P_add_op(u v_c) { +u my_peg_P_compound_stmt(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -42503,46 +42409,144 @@ u my_peg_P_add_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1082 "parse3.om" + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; + u v30 = 0; + u v31 = 0; + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; +#line 932 "parse3.om" b0: v2 = (u)my_enter; -#line 1082 "parse3.om" +#line 932 "parse3.om" v3 = v_c; -#line 1082 "parse3.om" - v4 = 38UL; -#line 1082 "parse3.om" +#line 932 "parse3.om" + v4 = 26UL; +#line 932 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1083 "parse3.om" +#line 933 "parse3.om" b1: v6 = (u)my_literal; -#line 1083 "parse3.om" +#line 933 "parse3.om" v7 = v_c; -#line 1083 "parse3.om" - v8 = (u)"+"; -#line 1083 "parse3.om" +#line 933 "parse3.om" + v8 = (u)"{"; +#line 933 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1083 "parse3.om" +#line 933 "parse3.om" b2: v_ok = v9; -#line 1084 "parse3.om" - if (!(v_ok)) { goto b5; } -#line 1084 "parse3.om" -b4: v10 = (u)my_leave; -#line 1084 "parse3.om" - v11 = v_c; -#line 1084 "parse3.om" - v12 = 38UL; -#line 1084 "parse3.om" - v13 = ((u (*)())(v10))(v11, v12); -#line 1085 "parse3.om" -b3: return v_ok; -#line 1084 "parse3.om" -b5: v14 = (u)my_fail; -#line 1084 "parse3.om" - v15 = v_c; -#line 1084 "parse3.om" - v16 = ((u (*)())(v14))(v15); -#line 1084 "parse3.om" +#line 934 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 935 "parse3.om" +b4: v10 = (u)my_peg_P_sp; +#line 935 "parse3.om" + v11 = v_c; +#line 935 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 935 "parse3.om" +b6: v_ok = v12; +#line 935 "parse3.om" goto b3; +#line 937 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 939 "parse3.om" +b10: v13 = (u)my_choice; +#line 939 "parse3.om" + v14 = v_c; +#line 939 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 940 "parse3.om" +b12: v16 = (u)my_peg_P_stmt; +#line 940 "parse3.om" + v17 = v_c; +#line 940 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 940 "parse3.om" +b13: v_ok = v18; +#line 941 "parse3.om" + if (!(v_ok)) { goto b18; } +#line 941 "parse3.om" +b17: v19 = 0UL; +#line 941 "parse3.om" + goto b19; +#line 941 "parse3.om" +b19: if (!(v19)) { goto b14; } +#line 941 "parse3.om" +b15: v_ok = 1UL; +#line 941 "parse3.om" + goto b7; +#line 945 "parse3.om" +b7: if (!(v_ok)) { goto b21; } +#line 946 "parse3.om" +b22: v23 = (u)my_literal; +#line 946 "parse3.om" + v24 = v_c; +#line 946 "parse3.om" + v25 = (u)"}"; +#line 946 "parse3.om" + v26 = ((u (*)())(v23))(v24, v25); +#line 946 "parse3.om" +b24: v_ok = v26; +#line 946 "parse3.om" + goto b21; +#line 948 "parse3.om" +b21: if (!(v_ok)) { goto b25; } +#line 949 "parse3.om" +b26: v27 = (u)my_peg_P_sp; +#line 949 "parse3.om" + v28 = v_c; +#line 949 "parse3.om" + v29 = ((u (*)())(v27))(v28); +#line 949 "parse3.om" +b28: v_ok = v29; +#line 949 "parse3.om" + goto b25; +#line 951 "parse3.om" +b25: if (!(v_ok)) { goto b31; } +#line 951 "parse3.om" +b30: v30 = (u)my_leave; +#line 951 "parse3.om" + v31 = v_c; +#line 951 "parse3.om" + v32 = 26UL; +#line 951 "parse3.om" + v33 = ((u (*)())(v30))(v31, v32); +#line 952 "parse3.om" +b29: return v_ok; +#line 951 "parse3.om" +b31: v34 = (u)my_fail; +#line 951 "parse3.om" + v35 = v_c; +#line 951 "parse3.om" + v36 = ((u (*)())(v34))(v35); +#line 951 "parse3.om" + goto b29; +#line 942 "parse3.om" +b14: v20 = (u)my_commit; +#line 942 "parse3.om" + v21 = v_c; +#line 942 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 942 "parse3.om" + goto b10; +#line 941 "parse3.om" +b18: v19 = 1UL; +#line 941 "parse3.om" + goto b19; } -u my_peg_P_and_op(u v_c) { +u my_peg_P_continue(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -42572,86 +42576,86 @@ u my_peg_P_and_op(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1181 "parse3.om" +#line 1862 "parse3.om" b0: v2 = (u)my_enter; -#line 1181 "parse3.om" +#line 1862 "parse3.om" v3 = v_c; -#line 1181 "parse3.om" - v4 = 46UL; -#line 1181 "parse3.om" +#line 1862 "parse3.om" + v4 = 76UL; +#line 1862 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1182 "parse3.om" +#line 1863 "parse3.om" b1: v6 = (u)my_literal; -#line 1182 "parse3.om" +#line 1863 "parse3.om" v7 = v_c; -#line 1182 "parse3.om" - v8 = (u)"&"; -#line 1182 "parse3.om" +#line 1863 "parse3.om" + v8 = (u)"continue"; +#line 1863 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1182 "parse3.om" +#line 1863 "parse3.om" b2: v_ok = v9; -#line 1183 "parse3.om" +#line 1864 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1184 "parse3.om" +#line 1865 "parse3.om" b4: v10 = (u)my_choice; -#line 1184 "parse3.om" +#line 1865 "parse3.om" v11 = v_c; -#line 1184 "parse3.om" +#line 1865 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1185 "parse3.om" -b6: v13 = (u)my_literal; -#line 1185 "parse3.om" +#line 1866 "parse3.om" +b6: v13 = (u)my_charset; +#line 1866 "parse3.om" v14 = v_c; -#line 1185 "parse3.om" - v15 = (u)"&"; -#line 1185 "parse3.om" +#line 1866 "parse3.om" + v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 1866 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1185 "parse3.om" +#line 1866 "parse3.om" b7: v_ok = v16; -#line 1186 "parse3.om" +#line 1867 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1186 "parse3.om" +#line 1867 "parse3.om" b9: v17 = (u)my_fail; -#line 1186 "parse3.om" +#line 1867 "parse3.om" v18 = v_c; -#line 1186 "parse3.om" +#line 1867 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1186 "parse3.om" +#line 1867 "parse3.om" b11: v20 = (u)my_fail; -#line 1186 "parse3.om" +#line 1867 "parse3.om" v21 = v_c; -#line 1186 "parse3.om" +#line 1867 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1186 "parse3.om" +#line 1867 "parse3.om" b12: v_ok = 0UL; -#line 1186 "parse3.om" +#line 1867 "parse3.om" goto b3; -#line 1188 "parse3.om" +#line 1869 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1188 "parse3.om" +#line 1869 "parse3.om" b14: v23 = (u)my_leave; -#line 1188 "parse3.om" +#line 1869 "parse3.om" v24 = v_c; -#line 1188 "parse3.om" - v25 = 46UL; -#line 1188 "parse3.om" +#line 1869 "parse3.om" + v25 = 76UL; +#line 1869 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1189 "parse3.om" +#line 1870 "parse3.om" b13: return v_ok; -#line 1188 "parse3.om" +#line 1869 "parse3.om" b15: v27 = (u)my_fail; -#line 1188 "parse3.om" +#line 1869 "parse3.om" v28 = v_c; -#line 1188 "parse3.om" +#line 1869 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1188 "parse3.om" +#line 1869 "parse3.om" goto b13; -#line 1186 "parse3.om" +#line 1867 "parse3.om" b10: v_ok = 1UL; -#line 1186 "parse3.om" +#line 1867 "parse3.om" goto b3; } -u my_peg_P_arg_decl(u v_c) { +u my_peg_P_continue_stmt(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -42677,206 +42681,82 @@ u my_peg_P_arg_decl(u v_c) { u v23 = 0; u v24 = 0; u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; -#line 521 "parse3.om" +#line 770 "parse3.om" b0: v2 = (u)my_enter; -#line 521 "parse3.om" +#line 770 "parse3.om" v3 = v_c; -#line 521 "parse3.om" - v4 = 10UL; -#line 521 "parse3.om" +#line 770 "parse3.om" + v4 = 18UL; +#line 770 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 522 "parse3.om" -b1: v6 = (u)my_peg_P_ident; -#line 522 "parse3.om" +#line 771 "parse3.om" +b1: v6 = (u)my_peg_P_continue; +#line 771 "parse3.om" v7 = v_c; -#line 522 "parse3.om" +#line 771 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 522 "parse3.om" +#line 771 "parse3.om" b2: v_ok = v8; -#line 523 "parse3.om" +#line 772 "parse3.om" if (!(v_ok)) { goto b3; } -#line 524 "parse3.om" +#line 773 "parse3.om" b4: v9 = (u)my_peg_P_sp; -#line 524 "parse3.om" +#line 773 "parse3.om" v10 = v_c; -#line 524 "parse3.om" +#line 773 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 524 "parse3.om" +#line 773 "parse3.om" b6: v_ok = v11; -#line 524 "parse3.om" +#line 773 "parse3.om" goto b3; -#line 526 "parse3.om" +#line 775 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 527 "parse3.om" +#line 776 "parse3.om" b8: v12 = (u)my_literal; -#line 527 "parse3.om" +#line 776 "parse3.om" v13 = v_c; -#line 527 "parse3.om" - v14 = (u)":"; -#line 527 "parse3.om" +#line 776 "parse3.om" + v14 = (u)";"; +#line 776 "parse3.om" v15 = ((u (*)())(v12))(v13, v14); -#line 527 "parse3.om" +#line 776 "parse3.om" b10: v_ok = v15; -#line 527 "parse3.om" +#line 776 "parse3.om" goto b7; -#line 529 "parse3.om" +#line 778 "parse3.om" b7: if (!(v_ok)) { goto b11; } -#line 530 "parse3.om" +#line 779 "parse3.om" b12: v16 = (u)my_peg_P_sp; -#line 530 "parse3.om" +#line 779 "parse3.om" v17 = v_c; -#line 530 "parse3.om" +#line 779 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 530 "parse3.om" +#line 779 "parse3.om" b14: v_ok = v18; -#line 530 "parse3.om" +#line 779 "parse3.om" goto b11; -#line 532 "parse3.om" -b11: if (!(v_ok)) { goto b15; } -#line 533 "parse3.om" -b16: v19 = (u)my_peg_P_type; -#line 533 "parse3.om" +#line 781 "parse3.om" +b11: if (!(v_ok)) { goto b17; } +#line 781 "parse3.om" +b16: v19 = (u)my_leave; +#line 781 "parse3.om" v20 = v_c; -#line 533 "parse3.om" - v21 = ((u (*)())(v19))(v20); -#line 533 "parse3.om" -b18: v_ok = v21; -#line 533 "parse3.om" - goto b15; -#line 535 "parse3.om" -b15: if (!(v_ok)) { goto b21; } -#line 535 "parse3.om" -b20: v22 = (u)my_leave; -#line 535 "parse3.om" - v23 = v_c; -#line 535 "parse3.om" - v24 = 10UL; -#line 535 "parse3.om" - v25 = ((u (*)())(v22))(v23, v24); -#line 536 "parse3.om" -b19: return v_ok; -#line 535 "parse3.om" -b21: v26 = (u)my_fail; -#line 535 "parse3.om" - v27 = v_c; -#line 535 "parse3.om" - v28 = ((u (*)())(v26))(v27); -#line 535 "parse3.om" - goto b19; -} -u my_peg_P_as(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; -#line 1962 "parse3.om" -b0: v2 = (u)my_enter; -#line 1962 "parse3.om" - v3 = v_c; -#line 1962 "parse3.om" - v4 = 86UL; -#line 1962 "parse3.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 1963 "parse3.om" -b1: v6 = (u)my_literal; -#line 1963 "parse3.om" - v7 = v_c; -#line 1963 "parse3.om" - v8 = (u)"as"; -#line 1963 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 1963 "parse3.om" -b2: v_ok = v9; -#line 1964 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 1965 "parse3.om" -b4: v10 = (u)my_choice; -#line 1965 "parse3.om" - v11 = v_c; -#line 1965 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 1966 "parse3.om" -b6: v13 = (u)my_charset; -#line 1966 "parse3.om" - v14 = v_c; -#line 1966 "parse3.om" - v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1966 "parse3.om" - v16 = ((u (*)())(v13))(v14, v15); -#line 1966 "parse3.om" -b7: v_ok = v16; -#line 1967 "parse3.om" - if (!(v_ok)) { goto b10; } -#line 1967 "parse3.om" -b9: v17 = (u)my_fail; -#line 1967 "parse3.om" - v18 = v_c; -#line 1967 "parse3.om" - v19 = ((u (*)())(v17))(v18); -#line 1967 "parse3.om" -b11: v20 = (u)my_fail; -#line 1967 "parse3.om" - v21 = v_c; -#line 1967 "parse3.om" - v22 = ((u (*)())(v20))(v21); -#line 1967 "parse3.om" -b12: v_ok = 0UL; -#line 1967 "parse3.om" - goto b3; -#line 1969 "parse3.om" -b3: if (!(v_ok)) { goto b15; } -#line 1969 "parse3.om" -b14: v23 = (u)my_leave; -#line 1969 "parse3.om" +#line 781 "parse3.om" + v21 = 18UL; +#line 781 "parse3.om" + v22 = ((u (*)())(v19))(v20, v21); +#line 782 "parse3.om" +b15: return v_ok; +#line 781 "parse3.om" +b17: v23 = (u)my_fail; +#line 781 "parse3.om" v24 = v_c; -#line 1969 "parse3.om" - v25 = 86UL; -#line 1969 "parse3.om" - v26 = ((u (*)())(v23))(v24, v25); -#line 1970 "parse3.om" -b13: return v_ok; -#line 1969 "parse3.om" -b15: v27 = (u)my_fail; -#line 1969 "parse3.om" - v28 = v_c; -#line 1969 "parse3.om" - v29 = ((u (*)())(v27))(v28); -#line 1969 "parse3.om" - goto b13; -#line 1967 "parse3.om" -b10: v_ok = 1UL; -#line 1967 "parse3.om" - goto b3; +#line 781 "parse3.om" + v25 = ((u (*)())(v23))(v24); +#line 781 "parse3.om" + goto b15; } -u my_peg_P_assign_stmt(u v_c) { +u my_peg_P_dec(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -42909,108 +42789,136 @@ u my_peg_P_assign_stmt(u v_c) { u v30 = 0; u v31 = 0; u v32 = 0; -#line 854 "parse3.om" + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; +#line 1622 "parse3.om" b0: v2 = (u)my_enter; -#line 854 "parse3.om" +#line 1622 "parse3.om" v3 = v_c; -#line 854 "parse3.om" - v4 = 23UL; -#line 854 "parse3.om" +#line 1622 "parse3.om" + v4 = 66UL; +#line 1622 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 855 "parse3.om" -b1: v6 = (u)my_peg_P_unary_expr; -#line 855 "parse3.om" +#line 1623 "parse3.om" +b1: v6 = (u)my_choice; +#line 1623 "parse3.om" v7 = v_c; -#line 855 "parse3.om" +#line 1623 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 855 "parse3.om" -b2: v_ok = v8; -#line 856 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 857 "parse3.om" -b4: v9 = (u)my_literal; -#line 857 "parse3.om" +#line 1624 "parse3.om" +b2: v9 = (u)my_literal; +#line 1624 "parse3.om" v10 = v_c; -#line 857 "parse3.om" - v11 = (u)"="; -#line 857 "parse3.om" +#line 1624 "parse3.om" + v11 = (u)"_"; +#line 1624 "parse3.om" v12 = ((u (*)())(v9))(v10, v11); -#line 857 "parse3.om" -b6: v_ok = v12; -#line 857 "parse3.om" - goto b3; -#line 859 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 860 "parse3.om" -b8: v13 = (u)my_peg_P_sp; -#line 860 "parse3.om" +#line 1624 "parse3.om" +b3: v_ok = v12; +#line 1625 "parse3.om" + if (!(v_ok)) { goto b6; } +#line 1625 "parse3.om" +b5: v13 = (u)my_fail; +#line 1625 "parse3.om" v14 = v_c; -#line 860 "parse3.om" +#line 1625 "parse3.om" v15 = ((u (*)())(v13))(v14); -#line 860 "parse3.om" -b10: v_ok = v15; -#line 860 "parse3.om" - goto b7; -#line 862 "parse3.om" -b7: if (!(v_ok)) { goto b11; } -#line 863 "parse3.om" -b12: v16 = (u)my_peg_P_expr; -#line 863 "parse3.om" +#line 1625 "parse3.om" +b7: v16 = (u)my_fail; +#line 1625 "parse3.om" v17 = v_c; -#line 863 "parse3.om" +#line 1625 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 863 "parse3.om" -b14: v_ok = v18; -#line 863 "parse3.om" - goto b11; -#line 865 "parse3.om" -b11: if (!(v_ok)) { goto b15; } -#line 866 "parse3.om" -b16: v19 = (u)my_literal; -#line 866 "parse3.om" +#line 1625 "parse3.om" +b8: v_ok = 0UL; +#line 1625 "parse3.om" + goto b4; +#line 1626 "parse3.om" +b4: if (!(v_ok)) { goto b9; } +#line 1627 "parse3.om" +b10: v19 = (u)my_charset; +#line 1627 "parse3.om" v20 = v_c; -#line 866 "parse3.om" - v21 = (u)";"; -#line 866 "parse3.om" +#line 1627 "parse3.om" + v21 = (u)"0123456789_"; +#line 1627 "parse3.om" v22 = ((u (*)())(v19))(v20, v21); -#line 866 "parse3.om" -b18: v_ok = v22; -#line 866 "parse3.om" - goto b15; -#line 868 "parse3.om" -b15: if (!(v_ok)) { goto b19; } -#line 869 "parse3.om" -b20: v23 = (u)my_peg_P_sp; -#line 869 "parse3.om" +#line 1627 "parse3.om" +b12: v_ok = v22; +#line 1628 "parse3.om" + if (!(v_ok)) { goto b9; } +#line 1630 "parse3.om" +b16: v23 = (u)my_choice; +#line 1630 "parse3.om" v24 = v_c; -#line 869 "parse3.om" +#line 1630 "parse3.om" v25 = ((u (*)())(v23))(v24); -#line 869 "parse3.om" -b22: v_ok = v25; -#line 869 "parse3.om" - goto b19; -#line 871 "parse3.om" -b19: if (!(v_ok)) { goto b25; } -#line 871 "parse3.om" -b24: v26 = (u)my_leave; -#line 871 "parse3.om" +#line 1631 "parse3.om" +b18: v26 = (u)my_charset; +#line 1631 "parse3.om" v27 = v_c; -#line 871 "parse3.om" - v28 = 23UL; -#line 871 "parse3.om" +#line 1631 "parse3.om" + v28 = (u)"0123456789_"; +#line 1631 "parse3.om" v29 = ((u (*)())(v26))(v27, v28); -#line 872 "parse3.om" -b23: return v_ok; -#line 871 "parse3.om" -b25: v30 = (u)my_fail; -#line 871 "parse3.om" - v31 = v_c; -#line 871 "parse3.om" - v32 = ((u (*)())(v30))(v31); -#line 871 "parse3.om" - goto b23; +#line 1631 "parse3.om" +b19: v_ok = v29; +#line 1632 "parse3.om" + if (!(v_ok)) { goto b24; } +#line 1632 "parse3.om" +b23: v30 = 0UL; +#line 1632 "parse3.om" + goto b25; +#line 1632 "parse3.om" +b25: if (!(v30)) { goto b20; } +#line 1632 "parse3.om" +b21: v_ok = 1UL; +#line 1632 "parse3.om" + goto b9; +#line 1637 "parse3.om" +b9: if (!(v_ok)) { goto b29; } +#line 1637 "parse3.om" +b28: v34 = (u)my_leave; +#line 1637 "parse3.om" + v35 = v_c; +#line 1637 "parse3.om" + v36 = 66UL; +#line 1637 "parse3.om" + v37 = ((u (*)())(v34))(v35, v36); +#line 1638 "parse3.om" +b27: return v_ok; +#line 1637 "parse3.om" +b29: v38 = (u)my_fail; +#line 1637 "parse3.om" + v39 = v_c; +#line 1637 "parse3.om" + v40 = ((u (*)())(v38))(v39); +#line 1637 "parse3.om" + goto b27; +#line 1633 "parse3.om" +b20: v31 = (u)my_commit; +#line 1633 "parse3.om" + v32 = v_c; +#line 1633 "parse3.om" + v33 = ((u (*)())(v31))(v32); +#line 1633 "parse3.om" + goto b16; +#line 1632 "parse3.om" +b24: v30 = 1UL; +#line 1632 "parse3.om" + goto b25; +#line 1625 "parse3.om" +b6: v_ok = 1UL; +#line 1625 "parse3.om" + goto b4; } -u my_peg_P_band_op(u v_c) { +u my_peg_P_deref_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -43027,46 +42935,46 @@ u my_peg_P_band_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 935 "parse3.om" +#line 1313 "parse3.om" b0: v2 = (u)my_enter; -#line 935 "parse3.om" +#line 1313 "parse3.om" v3 = v_c; -#line 935 "parse3.om" - v4 = 28UL; -#line 935 "parse3.om" +#line 1313 "parse3.om" + v4 = 52UL; +#line 1313 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 936 "parse3.om" +#line 1314 "parse3.om" b1: v6 = (u)my_literal; -#line 936 "parse3.om" +#line 1314 "parse3.om" v7 = v_c; -#line 936 "parse3.om" - v8 = (u)"&&"; -#line 936 "parse3.om" +#line 1314 "parse3.om" + v8 = (u)"*"; +#line 1314 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 936 "parse3.om" +#line 1314 "parse3.om" b2: v_ok = v9; -#line 937 "parse3.om" +#line 1315 "parse3.om" if (!(v_ok)) { goto b5; } -#line 937 "parse3.om" +#line 1315 "parse3.om" b4: v10 = (u)my_leave; -#line 937 "parse3.om" +#line 1315 "parse3.om" v11 = v_c; -#line 937 "parse3.om" - v12 = 28UL; -#line 937 "parse3.om" +#line 1315 "parse3.om" + v12 = 52UL; +#line 1315 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 938 "parse3.om" +#line 1316 "parse3.om" b3: return v_ok; -#line 937 "parse3.om" +#line 1315 "parse3.om" b5: v14 = (u)my_fail; -#line 937 "parse3.om" +#line 1315 "parse3.om" v15 = v_c; -#line 937 "parse3.om" +#line 1315 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 937 "parse3.om" +#line 1315 "parse3.om" goto b3; } -u my_peg_P_bnot_op(u v_c) { +u my_peg_P_div_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -43096,86 +43004,86 @@ u my_peg_P_bnot_op(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1315 "parse3.om" +#line 1190 "parse3.om" b0: v2 = (u)my_enter; -#line 1315 "parse3.om" +#line 1190 "parse3.om" v3 = v_c; -#line 1315 "parse3.om" - v4 = 56UL; -#line 1315 "parse3.om" +#line 1190 "parse3.om" + v4 = 44UL; +#line 1190 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1316 "parse3.om" +#line 1191 "parse3.om" b1: v6 = (u)my_literal; -#line 1316 "parse3.om" +#line 1191 "parse3.om" v7 = v_c; -#line 1316 "parse3.om" - v8 = (u)"!"; -#line 1316 "parse3.om" +#line 1191 "parse3.om" + v8 = (u)"/"; +#line 1191 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1316 "parse3.om" +#line 1191 "parse3.om" b2: v_ok = v9; -#line 1317 "parse3.om" +#line 1192 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1318 "parse3.om" +#line 1193 "parse3.om" b4: v10 = (u)my_choice; -#line 1318 "parse3.om" +#line 1193 "parse3.om" v11 = v_c; -#line 1318 "parse3.om" +#line 1193 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1319 "parse3.om" +#line 1194 "parse3.om" b6: v13 = (u)my_literal; -#line 1319 "parse3.om" +#line 1194 "parse3.om" v14 = v_c; -#line 1319 "parse3.om" - v15 = (u)"="; -#line 1319 "parse3.om" +#line 1194 "parse3.om" + v15 = (u)"/"; +#line 1194 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1319 "parse3.om" +#line 1194 "parse3.om" b7: v_ok = v16; -#line 1320 "parse3.om" +#line 1195 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1320 "parse3.om" +#line 1195 "parse3.om" b9: v17 = (u)my_fail; -#line 1320 "parse3.om" +#line 1195 "parse3.om" v18 = v_c; -#line 1320 "parse3.om" +#line 1195 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1320 "parse3.om" +#line 1195 "parse3.om" b11: v20 = (u)my_fail; -#line 1320 "parse3.om" +#line 1195 "parse3.om" v21 = v_c; -#line 1320 "parse3.om" +#line 1195 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1320 "parse3.om" +#line 1195 "parse3.om" b12: v_ok = 0UL; -#line 1320 "parse3.om" +#line 1195 "parse3.om" goto b3; -#line 1322 "parse3.om" +#line 1197 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1322 "parse3.om" +#line 1197 "parse3.om" b14: v23 = (u)my_leave; -#line 1322 "parse3.om" +#line 1197 "parse3.om" v24 = v_c; -#line 1322 "parse3.om" - v25 = 56UL; -#line 1322 "parse3.om" +#line 1197 "parse3.om" + v25 = 44UL; +#line 1197 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1323 "parse3.om" +#line 1198 "parse3.om" b13: return v_ok; -#line 1322 "parse3.om" +#line 1197 "parse3.om" b15: v27 = (u)my_fail; -#line 1322 "parse3.om" +#line 1197 "parse3.om" v28 = v_c; -#line 1322 "parse3.om" +#line 1197 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1322 "parse3.om" +#line 1197 "parse3.om" goto b13; -#line 1320 "parse3.om" +#line 1195 "parse3.om" b10: v_ok = 1UL; -#line 1320 "parse3.om" +#line 1195 "parse3.om" goto b3; } -u my_peg_P_bool_expr(u v_c) { +u my_peg_P_elif_stmt(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -43206,231 +43114,104 @@ u my_peg_P_bool_expr(u v_c) { u v28 = 0; u v29 = 0; u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; - u v44 = 0; - u v45 = 0; - u v46 = 0; - u v47 = 0; -#line 951 "parse3.om" +#line 669 "parse3.om" b0: v2 = (u)my_enter; -#line 951 "parse3.om" +#line 669 "parse3.om" v3 = v_c; -#line 951 "parse3.om" - v4 = 30UL; -#line 951 "parse3.om" +#line 669 "parse3.om" + v4 = 13UL; +#line 669 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 952 "parse3.om" -b1: v6 = (u)my_peg_P_comp_expr; -#line 952 "parse3.om" +#line 670 "parse3.om" +b1: v6 = (u)my_peg_P_else; +#line 670 "parse3.om" v7 = v_c; -#line 952 "parse3.om" +#line 670 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 952 "parse3.om" +#line 670 "parse3.om" b2: v_ok = v8; -#line 953 "parse3.om" +#line 671 "parse3.om" if (!(v_ok)) { goto b3; } -#line 955 "parse3.om" -b6: v9 = (u)my_choice; -#line 955 "parse3.om" +#line 672 "parse3.om" +b4: v9 = (u)my_peg_P_sp; +#line 672 "parse3.om" v10 = v_c; -#line 955 "parse3.om" +#line 672 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 956 "parse3.om" -b8: v12 = (u)my_choice; -#line 956 "parse3.om" +#line 672 "parse3.om" +b6: v_ok = v11; +#line 672 "parse3.om" + goto b3; +#line 674 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 675 "parse3.om" +b8: v12 = (u)my_peg_P_if; +#line 675 "parse3.om" v13 = v_c; -#line 956 "parse3.om" +#line 675 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 957 "parse3.om" -b9: v15 = (u)my_peg_P_band_op; -#line 957 "parse3.om" +#line 675 "parse3.om" +b10: v_ok = v14; +#line 675 "parse3.om" + goto b7; +#line 677 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 678 "parse3.om" +b12: v15 = (u)my_peg_P_sp; +#line 678 "parse3.om" v16 = v_c; -#line 957 "parse3.om" +#line 678 "parse3.om" v17 = ((u (*)())(v15))(v16); -#line 957 "parse3.om" -b10: v_ok = v17; -#line 958 "parse3.om" - if (!(v_ok)) { goto b15; } -#line 958 "parse3.om" -b14: v18 = 0UL; -#line 958 "parse3.om" - goto b16; -#line 958 "parse3.om" -b16: if (!(v18)) { goto b11; } -#line 958 "parse3.om" -b12: v19 = (u)my_choice; -#line 958 "parse3.om" - v20 = v_c; -#line 958 "parse3.om" - v21 = ((u (*)())(v19))(v20); -#line 959 "parse3.om" -b17: v22 = (u)my_peg_P_bor_op; -#line 959 "parse3.om" - v23 = v_c; -#line 959 "parse3.om" - v24 = ((u (*)())(v22))(v23); -#line 959 "parse3.om" -b18: v_ok = v24; -#line 959 "parse3.om" +#line 678 "parse3.om" +b14: v_ok = v17; +#line 678 "parse3.om" goto b11; -#line 961 "parse3.om" -b11: if (!(v_ok)) { goto b21; } -#line 961 "parse3.om" -b20: v25 = (u)my_commit; -#line 961 "parse3.om" - v26 = v_c; -#line 961 "parse3.om" - v27 = ((u (*)())(v25))(v26); -#line 962 "parse3.om" -b19: if (!(v_ok)) { goto b24; } -#line 963 "parse3.om" -b25: v31 = (u)my_peg_P_sp; -#line 963 "parse3.om" - v32 = v_c; -#line 963 "parse3.om" - v33 = ((u (*)())(v31))(v32); -#line 963 "parse3.om" -b27: v_ok = v33; -#line 963 "parse3.om" - goto b24; -#line 965 "parse3.om" -b24: if (!(v_ok)) { goto b28; } -#line 966 "parse3.om" -b29: v34 = (u)my_peg_P_comp_expr; -#line 966 "parse3.om" - v35 = v_c; -#line 966 "parse3.om" - v36 = ((u (*)())(v34))(v35); -#line 966 "parse3.om" -b31: v_ok = v36; -#line 966 "parse3.om" - goto b28; -#line 968 "parse3.om" -b28: if (!(v_ok)) { goto b36; } -#line 968 "parse3.om" -b35: v37 = 0UL; -#line 968 "parse3.om" - goto b37; -#line 968 "parse3.om" -b37: if (!(v37)) { goto b32; } -#line 968 "parse3.om" -b33: v_ok = 1UL; -#line 968 "parse3.om" - goto b3; -#line 972 "parse3.om" -b3: if (!(v_ok)) { goto b41; } -#line 972 "parse3.om" -b40: v41 = (u)my_leave; -#line 972 "parse3.om" - v42 = v_c; -#line 972 "parse3.om" - v43 = 30UL; -#line 972 "parse3.om" - v44 = ((u (*)())(v41))(v42, v43); -#line 973 "parse3.om" -b39: return v_ok; -#line 972 "parse3.om" -b41: v45 = (u)my_fail; -#line 972 "parse3.om" - v46 = v_c; -#line 972 "parse3.om" - v47 = ((u (*)())(v45))(v46); -#line 972 "parse3.om" - goto b39; -#line 969 "parse3.om" -b32: v38 = (u)my_commit; -#line 969 "parse3.om" - v39 = v_c; -#line 969 "parse3.om" - v40 = ((u (*)())(v38))(v39); -#line 969 "parse3.om" - goto b6; -#line 968 "parse3.om" -b36: v37 = 1UL; -#line 968 "parse3.om" - goto b37; -#line 961 "parse3.om" -b21: v28 = (u)my_fail; -#line 961 "parse3.om" +#line 680 "parse3.om" +b11: if (!(v_ok)) { goto b15; } +#line 681 "parse3.om" +b16: v18 = (u)my_peg_P_expr; +#line 681 "parse3.om" + v19 = v_c; +#line 681 "parse3.om" + v20 = ((u (*)())(v18))(v19); +#line 681 "parse3.om" +b18: v_ok = v20; +#line 681 "parse3.om" + goto b15; +#line 683 "parse3.om" +b15: if (!(v_ok)) { goto b19; } +#line 684 "parse3.om" +b20: v21 = (u)my_peg_P_compound_stmt; +#line 684 "parse3.om" + v22 = v_c; +#line 684 "parse3.om" + v23 = ((u (*)())(v21))(v22); +#line 684 "parse3.om" +b22: v_ok = v23; +#line 684 "parse3.om" + goto b19; +#line 686 "parse3.om" +b19: if (!(v_ok)) { goto b25; } +#line 686 "parse3.om" +b24: v24 = (u)my_leave; +#line 686 "parse3.om" + v25 = v_c; +#line 686 "parse3.om" + v26 = 13UL; +#line 686 "parse3.om" + v27 = ((u (*)())(v24))(v25, v26); +#line 687 "parse3.om" +b23: return v_ok; +#line 686 "parse3.om" +b25: v28 = (u)my_fail; +#line 686 "parse3.om" v29 = v_c; -#line 961 "parse3.om" +#line 686 "parse3.om" v30 = ((u (*)())(v28))(v29); -#line 961 "parse3.om" - goto b19; -#line 958 "parse3.om" -b15: v18 = 1UL; -#line 958 "parse3.om" - goto b16; -} -u my_peg_P_bor_op(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; -#line 943 "parse3.om" -b0: v2 = (u)my_enter; -#line 943 "parse3.om" - v3 = v_c; -#line 943 "parse3.om" - v4 = 29UL; -#line 943 "parse3.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 944 "parse3.om" -b1: v6 = (u)my_literal; -#line 944 "parse3.om" - v7 = v_c; -#line 944 "parse3.om" - v8 = (u)"||"; -#line 944 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 944 "parse3.om" -b2: v_ok = v9; -#line 945 "parse3.om" - if (!(v_ok)) { goto b5; } -#line 945 "parse3.om" -b4: v10 = (u)my_leave; -#line 945 "parse3.om" - v11 = v_c; -#line 945 "parse3.om" - v12 = 29UL; -#line 945 "parse3.om" - v13 = ((u (*)())(v10))(v11, v12); -#line 946 "parse3.om" -b3: return v_ok; -#line 945 "parse3.om" -b5: v14 = (u)my_fail; -#line 945 "parse3.om" - v15 = v_c; -#line 945 "parse3.om" - v16 = ((u (*)())(v14))(v15); -#line 945 "parse3.om" - goto b3; +#line 686 "parse3.om" + goto b23; } -u my_peg_P_break(u v_c) { +u my_peg_P_else(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -43460,86 +43241,86 @@ u my_peg_P_break(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1767 "parse3.om" +#line 1836 "parse3.om" b0: v2 = (u)my_enter; -#line 1767 "parse3.om" +#line 1836 "parse3.om" v3 = v_c; -#line 1767 "parse3.om" - v4 = 71UL; -#line 1767 "parse3.om" +#line 1836 "parse3.om" + v4 = 74UL; +#line 1836 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1768 "parse3.om" +#line 1837 "parse3.om" b1: v6 = (u)my_literal; -#line 1768 "parse3.om" +#line 1837 "parse3.om" v7 = v_c; -#line 1768 "parse3.om" - v8 = (u)"break"; -#line 1768 "parse3.om" +#line 1837 "parse3.om" + v8 = (u)"else"; +#line 1837 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1768 "parse3.om" +#line 1837 "parse3.om" b2: v_ok = v9; -#line 1769 "parse3.om" +#line 1838 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1770 "parse3.om" +#line 1839 "parse3.om" b4: v10 = (u)my_choice; -#line 1770 "parse3.om" +#line 1839 "parse3.om" v11 = v_c; -#line 1770 "parse3.om" +#line 1839 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1771 "parse3.om" +#line 1840 "parse3.om" b6: v13 = (u)my_charset; -#line 1771 "parse3.om" +#line 1840 "parse3.om" v14 = v_c; -#line 1771 "parse3.om" +#line 1840 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1771 "parse3.om" +#line 1840 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1771 "parse3.om" +#line 1840 "parse3.om" b7: v_ok = v16; -#line 1772 "parse3.om" +#line 1841 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1772 "parse3.om" +#line 1841 "parse3.om" b9: v17 = (u)my_fail; -#line 1772 "parse3.om" +#line 1841 "parse3.om" v18 = v_c; -#line 1772 "parse3.om" +#line 1841 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1772 "parse3.om" +#line 1841 "parse3.om" b11: v20 = (u)my_fail; -#line 1772 "parse3.om" +#line 1841 "parse3.om" v21 = v_c; -#line 1772 "parse3.om" +#line 1841 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1772 "parse3.om" +#line 1841 "parse3.om" b12: v_ok = 0UL; -#line 1772 "parse3.om" +#line 1841 "parse3.om" goto b3; -#line 1774 "parse3.om" +#line 1843 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1774 "parse3.om" +#line 1843 "parse3.om" b14: v23 = (u)my_leave; -#line 1774 "parse3.om" +#line 1843 "parse3.om" v24 = v_c; -#line 1774 "parse3.om" - v25 = 71UL; -#line 1774 "parse3.om" +#line 1843 "parse3.om" + v25 = 74UL; +#line 1843 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1775 "parse3.om" +#line 1844 "parse3.om" b13: return v_ok; -#line 1774 "parse3.om" +#line 1843 "parse3.om" b15: v27 = (u)my_fail; -#line 1774 "parse3.om" +#line 1843 "parse3.om" v28 = v_c; -#line 1774 "parse3.om" +#line 1843 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1774 "parse3.om" +#line 1843 "parse3.om" goto b13; -#line 1772 "parse3.om" +#line 1841 "parse3.om" b10: v_ok = 1UL; -#line 1772 "parse3.om" +#line 1841 "parse3.om" goto b3; } -u my_peg_P_break_stmt(u v_c) { +u my_peg_P_else_stmt(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -43561,86 +43342,139 @@ u my_peg_P_break_stmt(u v_c) { u v19 = 0; u v20 = 0; u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; -#line 723 "parse3.om" +#line 692 "parse3.om" b0: v2 = (u)my_enter; -#line 723 "parse3.om" +#line 692 "parse3.om" v3 = v_c; -#line 723 "parse3.om" - v4 = 17UL; -#line 723 "parse3.om" +#line 692 "parse3.om" + v4 = 14UL; +#line 692 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 724 "parse3.om" -b1: v6 = (u)my_peg_P_break; -#line 724 "parse3.om" +#line 693 "parse3.om" +b1: v6 = (u)my_peg_P_else; +#line 693 "parse3.om" v7 = v_c; -#line 724 "parse3.om" +#line 693 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 724 "parse3.om" +#line 693 "parse3.om" b2: v_ok = v8; -#line 725 "parse3.om" +#line 694 "parse3.om" if (!(v_ok)) { goto b3; } -#line 726 "parse3.om" +#line 695 "parse3.om" b4: v9 = (u)my_peg_P_sp; -#line 726 "parse3.om" +#line 695 "parse3.om" v10 = v_c; -#line 726 "parse3.om" +#line 695 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 726 "parse3.om" +#line 695 "parse3.om" b6: v_ok = v11; -#line 726 "parse3.om" +#line 695 "parse3.om" goto b3; -#line 728 "parse3.om" +#line 697 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 729 "parse3.om" -b8: v12 = (u)my_literal; -#line 729 "parse3.om" +#line 698 "parse3.om" +b8: v12 = (u)my_peg_P_compound_stmt; +#line 698 "parse3.om" v13 = v_c; -#line 729 "parse3.om" - v14 = (u)";"; -#line 729 "parse3.om" - v15 = ((u (*)())(v12))(v13, v14); -#line 729 "parse3.om" -b10: v_ok = v15; -#line 729 "parse3.om" +#line 698 "parse3.om" + v14 = ((u (*)())(v12))(v13); +#line 698 "parse3.om" +b10: v_ok = v14; +#line 698 "parse3.om" goto b7; -#line 731 "parse3.om" -b7: if (!(v_ok)) { goto b11; } -#line 732 "parse3.om" -b12: v16 = (u)my_peg_P_sp; -#line 732 "parse3.om" - v17 = v_c; -#line 732 "parse3.om" - v18 = ((u (*)())(v16))(v17); -#line 732 "parse3.om" -b14: v_ok = v18; -#line 732 "parse3.om" - goto b11; -#line 734 "parse3.om" -b11: if (!(v_ok)) { goto b17; } -#line 734 "parse3.om" -b16: v19 = (u)my_leave; -#line 734 "parse3.om" +#line 700 "parse3.om" +b7: if (!(v_ok)) { goto b13; } +#line 700 "parse3.om" +b12: v15 = (u)my_leave; +#line 700 "parse3.om" + v16 = v_c; +#line 700 "parse3.om" + v17 = 14UL; +#line 700 "parse3.om" + v18 = ((u (*)())(v15))(v16, v17); +#line 701 "parse3.om" +b11: return v_ok; +#line 700 "parse3.om" +b13: v19 = (u)my_fail; +#line 700 "parse3.om" v20 = v_c; -#line 734 "parse3.om" - v21 = 17UL; -#line 734 "parse3.om" - v22 = ((u (*)())(v19))(v20, v21); -#line 735 "parse3.om" -b15: return v_ok; -#line 734 "parse3.om" -b17: v23 = (u)my_fail; -#line 734 "parse3.om" - v24 = v_c; -#line 734 "parse3.om" - v25 = ((u (*)())(v23))(v24); -#line 734 "parse3.om" - goto b15; +#line 700 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 700 "parse3.om" + goto b11; } -u my_peg_P_byte(u v_c) { +u my_peg_P_empty_stmt(u v_c) { + u v_ok = 0; + u v2 = 0; + u v3 = 0; + u v4 = 0; + u v5 = 0; + u v6 = 0; + u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; + u v16 = 0; + u v17 = 0; + u v18 = 0; + u v19 = 0; +#line 921 "parse3.om" +b0: v2 = (u)my_enter; +#line 921 "parse3.om" + v3 = v_c; +#line 921 "parse3.om" + v4 = 25UL; +#line 921 "parse3.om" + v5 = ((u (*)())(v2))(v3, v4); +#line 922 "parse3.om" +b1: v6 = (u)my_literal; +#line 922 "parse3.om" + v7 = v_c; +#line 922 "parse3.om" + v8 = (u)";"; +#line 922 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 922 "parse3.om" +b2: v_ok = v9; +#line 923 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 924 "parse3.om" +b4: v10 = (u)my_peg_P_sp; +#line 924 "parse3.om" + v11 = v_c; +#line 924 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 924 "parse3.om" +b6: v_ok = v12; +#line 924 "parse3.om" + goto b3; +#line 926 "parse3.om" +b3: if (!(v_ok)) { goto b9; } +#line 926 "parse3.om" +b8: v13 = (u)my_leave; +#line 926 "parse3.om" + v14 = v_c; +#line 926 "parse3.om" + v15 = 25UL; +#line 926 "parse3.om" + v16 = ((u (*)())(v13))(v14, v15); +#line 927 "parse3.om" +b7: return v_ok; +#line 926 "parse3.om" +b9: v17 = (u)my_fail; +#line 926 "parse3.om" + v18 = v_c; +#line 926 "parse3.om" + v19 = ((u (*)())(v17))(v18); +#line 926 "parse3.om" + goto b7; +} +u my_peg_P_enum(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -43670,86 +43504,86 @@ u my_peg_P_byte(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1910 "parse3.om" +#line 1901 "parse3.om" b0: v2 = (u)my_enter; -#line 1910 "parse3.om" +#line 1901 "parse3.om" v3 = v_c; -#line 1910 "parse3.om" - v4 = 82UL; -#line 1910 "parse3.om" +#line 1901 "parse3.om" + v4 = 79UL; +#line 1901 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1911 "parse3.om" +#line 1902 "parse3.om" b1: v6 = (u)my_literal; -#line 1911 "parse3.om" +#line 1902 "parse3.om" v7 = v_c; -#line 1911 "parse3.om" - v8 = (u)"byte"; -#line 1911 "parse3.om" +#line 1902 "parse3.om" + v8 = (u)"enum"; +#line 1902 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1911 "parse3.om" +#line 1902 "parse3.om" b2: v_ok = v9; -#line 1912 "parse3.om" +#line 1903 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1913 "parse3.om" +#line 1904 "parse3.om" b4: v10 = (u)my_choice; -#line 1913 "parse3.om" +#line 1904 "parse3.om" v11 = v_c; -#line 1913 "parse3.om" +#line 1904 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1914 "parse3.om" +#line 1905 "parse3.om" b6: v13 = (u)my_charset; -#line 1914 "parse3.om" +#line 1905 "parse3.om" v14 = v_c; -#line 1914 "parse3.om" +#line 1905 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1914 "parse3.om" +#line 1905 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1914 "parse3.om" +#line 1905 "parse3.om" b7: v_ok = v16; -#line 1915 "parse3.om" +#line 1906 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1915 "parse3.om" +#line 1906 "parse3.om" b9: v17 = (u)my_fail; -#line 1915 "parse3.om" +#line 1906 "parse3.om" v18 = v_c; -#line 1915 "parse3.om" +#line 1906 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1915 "parse3.om" +#line 1906 "parse3.om" b11: v20 = (u)my_fail; -#line 1915 "parse3.om" +#line 1906 "parse3.om" v21 = v_c; -#line 1915 "parse3.om" +#line 1906 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1915 "parse3.om" +#line 1906 "parse3.om" b12: v_ok = 0UL; -#line 1915 "parse3.om" +#line 1906 "parse3.om" goto b3; -#line 1917 "parse3.om" +#line 1908 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1917 "parse3.om" +#line 1908 "parse3.om" b14: v23 = (u)my_leave; -#line 1917 "parse3.om" +#line 1908 "parse3.om" v24 = v_c; -#line 1917 "parse3.om" - v25 = 82UL; -#line 1917 "parse3.om" +#line 1908 "parse3.om" + v25 = 79UL; +#line 1908 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1918 "parse3.om" +#line 1909 "parse3.om" b13: return v_ok; -#line 1917 "parse3.om" +#line 1908 "parse3.om" b15: v27 = (u)my_fail; -#line 1917 "parse3.om" +#line 1908 "parse3.om" v28 = v_c; -#line 1917 "parse3.om" +#line 1908 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1917 "parse3.om" +#line 1908 "parse3.om" goto b13; -#line 1915 "parse3.om" +#line 1906 "parse3.om" b10: v_ok = 1UL; -#line 1915 "parse3.om" +#line 1906 "parse3.om" goto b3; } -u my_peg_P_call_expr(u v_c) { +u my_peg_P_enum_decl(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -43815,717 +43649,250 @@ u my_peg_P_call_expr(u v_c) { u v63 = 0; u v64 = 0; u v65 = 0; -#line 1384 "parse3.om" + u v66 = 0; + u v67 = 0; + u v68 = 0; + u v69 = 0; + u v70 = 0; + u v71 = 0; +#line 275 "parse3.om" b0: v2 = (u)my_enter; -#line 1384 "parse3.om" +#line 275 "parse3.om" v3 = v_c; -#line 1384 "parse3.om" - v4 = 59UL; -#line 1384 "parse3.om" +#line 275 "parse3.om" + v4 = 2UL; +#line 275 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1385 "parse3.om" -b1: v6 = (u)my_literal; -#line 1385 "parse3.om" +#line 276 "parse3.om" +b1: v6 = (u)my_peg_P_enum; +#line 276 "parse3.om" v7 = v_c; -#line 1385 "parse3.om" - v8 = (u)"("; -#line 1385 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 1385 "parse3.om" -b2: v_ok = v9; -#line 1386 "parse3.om" +#line 276 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 276 "parse3.om" +b2: v_ok = v8; +#line 277 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1387 "parse3.om" -b4: v10 = (u)my_peg_P_sp; -#line 1387 "parse3.om" - v11 = v_c; -#line 1387 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 1387 "parse3.om" -b6: v_ok = v12; -#line 1387 "parse3.om" +#line 278 "parse3.om" +b4: v9 = (u)my_peg_P_sp; +#line 278 "parse3.om" + v10 = v_c; +#line 278 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 278 "parse3.om" +b6: v_ok = v11; +#line 278 "parse3.om" goto b3; -#line 1389 "parse3.om" +#line 280 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 1390 "parse3.om" -b8: v13 = (u)my_choice; -#line 1390 "parse3.om" - v14 = v_c; -#line 1390 "parse3.om" - v15 = ((u (*)())(v13))(v14); -#line 1391 "parse3.om" -b10: v16 = (u)my_peg_P_expr; -#line 1391 "parse3.om" - v17 = v_c; -#line 1391 "parse3.om" - v18 = ((u (*)())(v16))(v17); -#line 1391 "parse3.om" -b11: v_ok = v18; -#line 1392 "parse3.om" - if (!(v_ok)) { goto b12; } -#line 1394 "parse3.om" -b15: v19 = (u)my_choice; -#line 1394 "parse3.om" +#line 281 "parse3.om" +b8: v12 = (u)my_literal; +#line 281 "parse3.om" + v13 = v_c; +#line 281 "parse3.om" + v14 = (u)"{"; +#line 281 "parse3.om" + v15 = ((u (*)())(v12))(v13, v14); +#line 281 "parse3.om" +b10: v_ok = v15; +#line 281 "parse3.om" + goto b7; +#line 283 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 284 "parse3.om" +b12: v16 = (u)my_peg_P_sp; +#line 284 "parse3.om" + v17 = v_c; +#line 284 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 284 "parse3.om" +b14: v_ok = v18; +#line 284 "parse3.om" + goto b11; +#line 286 "parse3.om" +b11: if (!(v_ok)) { goto b15; } +#line 287 "parse3.om" +b16: v19 = (u)my_choice; +#line 287 "parse3.om" v20 = v_c; -#line 1394 "parse3.om" +#line 287 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 1395 "parse3.om" -b17: v22 = (u)my_literal; -#line 1395 "parse3.om" +#line 288 "parse3.om" +b18: v22 = (u)my_peg_P_enum_item; +#line 288 "parse3.om" v23 = v_c; -#line 1395 "parse3.om" - v24 = (u)","; -#line 1395 "parse3.om" - v25 = ((u (*)())(v22))(v23, v24); -#line 1395 "parse3.om" -b18: v_ok = v25; -#line 1396 "parse3.om" - if (!(v_ok)) { goto b19; } -#line 1397 "parse3.om" -b20: v26 = (u)my_peg_P_sp; -#line 1397 "parse3.om" - v27 = v_c; -#line 1397 "parse3.om" - v28 = ((u (*)())(v26))(v27); -#line 1397 "parse3.om" -b22: v_ok = v28; -#line 1397 "parse3.om" - goto b19; -#line 1399 "parse3.om" -b19: if (!(v_ok)) { goto b23; } -#line 1400 "parse3.om" -b24: v29 = (u)my_peg_P_expr; -#line 1400 "parse3.om" - v30 = v_c; -#line 1400 "parse3.om" - v31 = ((u (*)())(v29))(v30); -#line 1400 "parse3.om" +#line 288 "parse3.om" + v24 = ((u (*)())(v22))(v23); +#line 288 "parse3.om" +b19: v_ok = v24; +#line 289 "parse3.om" + if (!(v_ok)) { goto b20; } +#line 291 "parse3.om" +b23: v25 = (u)my_choice; +#line 291 "parse3.om" + v26 = v_c; +#line 291 "parse3.om" + v27 = ((u (*)())(v25))(v26); +#line 292 "parse3.om" +b25: v28 = (u)my_literal; +#line 292 "parse3.om" + v29 = v_c; +#line 292 "parse3.om" + v30 = (u)","; +#line 292 "parse3.om" + v31 = ((u (*)())(v28))(v29, v30); +#line 292 "parse3.om" b26: v_ok = v31; -#line 1400 "parse3.om" - goto b23; -#line 1402 "parse3.om" -b23: if (!(v_ok)) { goto b31; } -#line 1402 "parse3.om" -b30: v32 = 0UL; -#line 1402 "parse3.om" - goto b32; -#line 1402 "parse3.om" -b32: if (!(v32)) { goto b27; } -#line 1402 "parse3.om" -b28: v_ok = 1UL; -#line 1402 "parse3.om" - goto b12; -#line 1406 "parse3.om" -b12: if (!(v_ok)) { goto b36; } -#line 1406 "parse3.om" -b35: v36 = (u)my_commit; -#line 1406 "parse3.om" - v37 = v_c; -#line 1406 "parse3.om" - v38 = ((u (*)())(v36))(v37); -#line 1408 "parse3.om" -b7: if (!(v_ok)) { goto b38; } -#line 1409 "parse3.om" -b39: v39 = (u)my_choice; -#line 1409 "parse3.om" - v40 = v_c; -#line 1409 "parse3.om" - v41 = ((u (*)())(v39))(v40); -#line 1410 "parse3.om" -b41: v42 = (u)my_literal; -#line 1410 "parse3.om" +#line 293 "parse3.om" + if (!(v_ok)) { goto b27; } +#line 294 "parse3.om" +b28: v32 = (u)my_peg_P_sp; +#line 294 "parse3.om" + v33 = v_c; +#line 294 "parse3.om" + v34 = ((u (*)())(v32))(v33); +#line 294 "parse3.om" +b30: v_ok = v34; +#line 294 "parse3.om" + goto b27; +#line 296 "parse3.om" +b27: if (!(v_ok)) { goto b31; } +#line 297 "parse3.om" +b32: v35 = (u)my_peg_P_enum_item; +#line 297 "parse3.om" + v36 = v_c; +#line 297 "parse3.om" + v37 = ((u (*)())(v35))(v36); +#line 297 "parse3.om" +b34: v_ok = v37; +#line 297 "parse3.om" + goto b31; +#line 299 "parse3.om" +b31: if (!(v_ok)) { goto b39; } +#line 299 "parse3.om" +b38: v38 = 0UL; +#line 299 "parse3.om" + goto b40; +#line 299 "parse3.om" +b40: if (!(v38)) { goto b35; } +#line 299 "parse3.om" +b36: v_ok = 1UL; +#line 299 "parse3.om" + goto b20; +#line 303 "parse3.om" +b20: if (!(v_ok)) { goto b44; } +#line 303 "parse3.om" +b43: v42 = (u)my_commit; +#line 303 "parse3.om" v43 = v_c; -#line 1410 "parse3.om" - v44 = (u)","; -#line 1410 "parse3.om" - v45 = ((u (*)())(v42))(v43, v44); -#line 1410 "parse3.om" -b42: v_ok = v45; -#line 1411 "parse3.om" - if (!(v_ok)) { goto b43; } -#line 1412 "parse3.om" -b44: v46 = (u)my_peg_P_sp; -#line 1412 "parse3.om" - v47 = v_c; -#line 1412 "parse3.om" - v48 = ((u (*)())(v46))(v47); -#line 1412 "parse3.om" -b46: v_ok = v48; -#line 1412 "parse3.om" - goto b43; -#line 1414 "parse3.om" -b43: if (!(v_ok)) { goto b49; } -#line 1414 "parse3.om" -b48: v49 = (u)my_commit; -#line 1414 "parse3.om" - v50 = v_c; -#line 1414 "parse3.om" - v51 = ((u (*)())(v49))(v50); -#line 1416 "parse3.om" -b38: if (!(v_ok)) { goto b51; } -#line 1417 "parse3.om" -b52: v52 = (u)my_literal; -#line 1417 "parse3.om" +#line 303 "parse3.om" + v44 = ((u (*)())(v42))(v43); +#line 305 "parse3.om" +b15: if (!(v_ok)) { goto b46; } +#line 306 "parse3.om" +b47: v45 = (u)my_choice; +#line 306 "parse3.om" + v46 = v_c; +#line 306 "parse3.om" + v47 = ((u (*)())(v45))(v46); +#line 307 "parse3.om" +b49: v48 = (u)my_literal; +#line 307 "parse3.om" + v49 = v_c; +#line 307 "parse3.om" + v50 = (u)","; +#line 307 "parse3.om" + v51 = ((u (*)())(v48))(v49, v50); +#line 307 "parse3.om" +b50: v_ok = v51; +#line 308 "parse3.om" + if (!(v_ok)) { goto b51; } +#line 309 "parse3.om" +b52: v52 = (u)my_peg_P_sp; +#line 309 "parse3.om" v53 = v_c; -#line 1417 "parse3.om" - v54 = (u)")"; -#line 1417 "parse3.om" - v55 = ((u (*)())(v52))(v53, v54); -#line 1417 "parse3.om" -b54: v_ok = v55; -#line 1417 "parse3.om" +#line 309 "parse3.om" + v54 = ((u (*)())(v52))(v53); +#line 309 "parse3.om" +b54: v_ok = v54; +#line 309 "parse3.om" goto b51; -#line 1419 "parse3.om" -b51: if (!(v_ok)) { goto b55; } -#line 1420 "parse3.om" -b56: v56 = (u)my_peg_P_sp; -#line 1420 "parse3.om" - v57 = v_c; -#line 1420 "parse3.om" - v58 = ((u (*)())(v56))(v57); -#line 1420 "parse3.om" -b58: v_ok = v58; -#line 1420 "parse3.om" - goto b55; -#line 1422 "parse3.om" -b55: if (!(v_ok)) { goto b61; } -#line 1422 "parse3.om" -b60: v59 = (u)my_leave; -#line 1422 "parse3.om" - v60 = v_c; -#line 1422 "parse3.om" - v61 = 59UL; -#line 1422 "parse3.om" - v62 = ((u (*)())(v59))(v60, v61); -#line 1423 "parse3.om" -b59: return v_ok; -#line 1422 "parse3.om" -b61: v63 = (u)my_fail; -#line 1422 "parse3.om" - v64 = v_c; -#line 1422 "parse3.om" - v65 = ((u (*)())(v63))(v64); -#line 1422 "parse3.om" +#line 311 "parse3.om" +b51: if (!(v_ok)) { goto b57; } +#line 311 "parse3.om" +b56: v55 = (u)my_commit; +#line 311 "parse3.om" + v56 = v_c; +#line 311 "parse3.om" + v57 = ((u (*)())(v55))(v56); +#line 313 "parse3.om" +b46: if (!(v_ok)) { goto b59; } +#line 314 "parse3.om" +b60: v58 = (u)my_literal; +#line 314 "parse3.om" + v59 = v_c; +#line 314 "parse3.om" + v60 = (u)"}"; +#line 314 "parse3.om" + v61 = ((u (*)())(v58))(v59, v60); +#line 314 "parse3.om" +b62: v_ok = v61; +#line 314 "parse3.om" goto b59; -#line 1414 "parse3.om" -b49: v_ok = 1UL; -#line 1414 "parse3.om" - goto b38; -#line 1406 "parse3.om" -b36: v_ok = 1UL; -#line 1406 "parse3.om" - goto b7; -#line 1403 "parse3.om" -b27: v33 = (u)my_commit; -#line 1403 "parse3.om" - v34 = v_c; -#line 1403 "parse3.om" - v35 = ((u (*)())(v33))(v34); -#line 1403 "parse3.om" +#line 316 "parse3.om" +b59: if (!(v_ok)) { goto b63; } +#line 317 "parse3.om" +b64: v62 = (u)my_peg_P_sp; +#line 317 "parse3.om" + v63 = v_c; +#line 317 "parse3.om" + v64 = ((u (*)())(v62))(v63); +#line 317 "parse3.om" +b66: v_ok = v64; +#line 317 "parse3.om" + goto b63; +#line 319 "parse3.om" +b63: if (!(v_ok)) { goto b69; } +#line 319 "parse3.om" +b68: v65 = (u)my_leave; +#line 319 "parse3.om" + v66 = v_c; +#line 319 "parse3.om" + v67 = 2UL; +#line 319 "parse3.om" + v68 = ((u (*)())(v65))(v66, v67); +#line 320 "parse3.om" +b67: return v_ok; +#line 319 "parse3.om" +b69: v69 = (u)my_fail; +#line 319 "parse3.om" + v70 = v_c; +#line 319 "parse3.om" + v71 = ((u (*)())(v69))(v70); +#line 319 "parse3.om" + goto b67; +#line 311 "parse3.om" +b57: v_ok = 1UL; +#line 311 "parse3.om" + goto b46; +#line 303 "parse3.om" +b44: v_ok = 1UL; +#line 303 "parse3.om" goto b15; -#line 1402 "parse3.om" -b31: v32 = 1UL; -#line 1402 "parse3.om" - goto b32; -} -u my_peg_P_cast_expr(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; -#line 1445 "parse3.om" -b0: v2 = (u)my_enter; -#line 1445 "parse3.om" - v3 = v_c; -#line 1445 "parse3.om" - v4 = 61UL; -#line 1445 "parse3.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 1446 "parse3.om" -b1: v6 = (u)my_literal; -#line 1446 "parse3.om" - v7 = v_c; -#line 1446 "parse3.om" - v8 = (u)"as"; -#line 1446 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 1446 "parse3.om" -b2: v_ok = v9; -#line 1447 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 1448 "parse3.om" -b4: v10 = (u)my_peg_P_sp; -#line 1448 "parse3.om" - v11 = v_c; -#line 1448 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 1448 "parse3.om" -b6: v_ok = v12; -#line 1448 "parse3.om" - goto b3; -#line 1450 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 1451 "parse3.om" -b8: v13 = (u)my_peg_P_type; -#line 1451 "parse3.om" - v14 = v_c; -#line 1451 "parse3.om" - v15 = ((u (*)())(v13))(v14); -#line 1451 "parse3.om" -b10: v_ok = v15; -#line 1451 "parse3.om" - goto b7; -#line 1453 "parse3.om" -b7: if (!(v_ok)) { goto b13; } -#line 1453 "parse3.om" -b12: v16 = (u)my_leave; -#line 1453 "parse3.om" - v17 = v_c; -#line 1453 "parse3.om" - v18 = 61UL; -#line 1453 "parse3.om" - v19 = ((u (*)())(v16))(v17, v18); -#line 1454 "parse3.om" -b11: return v_ok; -#line 1453 "parse3.om" -b13: v20 = (u)my_fail; -#line 1453 "parse3.om" - v21 = v_c; -#line 1453 "parse3.om" - v22 = ((u (*)())(v20))(v21); -#line 1453 "parse3.om" - goto b11; -} -u my_peg_P_char(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; - u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; - u v44 = 0; - u v45 = 0; - u v46 = 0; - u v47 = 0; - u v48 = 0; - u v49 = 0; - u v50 = 0; - u v51 = 0; - u v52 = 0; - u v53 = 0; - u v54 = 0; - u v55 = 0; - u v56 = 0; - u v57 = 0; - u v58 = 0; - u v59 = 0; - u v60 = 0; - u v61 = 0; - u v62 = 0; - u v63 = 0; - u v64 = 0; - u v65 = 0; - u v66 = 0; - u v67 = 0; - u v68 = 0; - u v69 = 0; - u v70 = 0; - u v71 = 0; - u v72 = 0; - u v73 = 0; - u v74 = 0; - u v75 = 0; - u v76 = 0; - u v77 = 0; - u v78 = 0; - u v79 = 0; - u v80 = 0; - u v81 = 0; - u v82 = 0; - u v83 = 0; - u v84 = 0; - u v85 = 0; - u v86 = 0; - u v87 = 0; - u v88 = 0; - u v89 = 0; - u v90 = 0; - u v91 = 0; - u v92 = 0; - u v93 = 0; - u v94 = 0; - u v95 = 0; - u v96 = 0; - u v97 = 0; - u v98 = 0; - u v99 = 0; -#line 1645 "parse3.om" -b0: v2 = (u)my_enter; -#line 1645 "parse3.om" - v3 = v_c; -#line 1645 "parse3.om" - v4 = 68UL; -#line 1645 "parse3.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 1646 "parse3.om" -b1: v6 = (u)my_literal; -#line 1646 "parse3.om" - v7 = v_c; -#line 1646 "parse3.om" - v8 = (u)"'"; -#line 1646 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 1646 "parse3.om" -b2: v_ok = v9; -#line 1647 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 1648 "parse3.om" -b4: v10 = (u)my_choice; -#line 1648 "parse3.om" - v11 = v_c; -#line 1648 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 1649 "parse3.om" -b6: v13 = (u)my_literal; -#line 1649 "parse3.om" - v14 = v_c; -#line 1649 "parse3.om" - v15 = (u)"\134"; -#line 1649 "parse3.om" - v16 = ((u (*)())(v13))(v14, v15); -#line 1649 "parse3.om" -b7: v_ok = v16; -#line 1650 "parse3.om" - if (!(v_ok)) { goto b8; } -#line 1651 "parse3.om" -b9: v17 = (u)my_any; -#line 1651 "parse3.om" - v18 = v_c; -#line 1651 "parse3.om" - v19 = ((u (*)())(v17))(v18); -#line 1651 "parse3.om" -b11: v_ok = v19; -#line 1651 "parse3.om" - goto b8; -#line 1653 "parse3.om" -b8: if (!(v_ok)) { goto b16; } -#line 1653 "parse3.om" -b15: v20 = 0UL; -#line 1653 "parse3.om" - goto b17; -#line 1653 "parse3.om" -b17: if (!(v20)) { goto b12; } -#line 1653 "parse3.om" -b13: v21 = (u)my_choice; -#line 1653 "parse3.om" - v22 = v_c; -#line 1653 "parse3.om" - v23 = ((u (*)())(v21))(v22); -#line 1654 "parse3.om" -b18: v24 = (u)my_choice; -#line 1654 "parse3.om" - v25 = v_c; -#line 1654 "parse3.om" - v26 = ((u (*)())(v24))(v25); -#line 1655 "parse3.om" -b19: v27 = (u)my_literal; -#line 1655 "parse3.om" - v28 = v_c; -#line 1655 "parse3.om" - v29 = (u)"'"; -#line 1655 "parse3.om" - v30 = ((u (*)())(v27))(v28, v29); -#line 1655 "parse3.om" -b20: v_ok = v30; -#line 1656 "parse3.om" - if (!(v_ok)) { goto b23; } -#line 1656 "parse3.om" -b22: v31 = (u)my_fail; -#line 1656 "parse3.om" - v32 = v_c; -#line 1656 "parse3.om" - v33 = ((u (*)())(v31))(v32); -#line 1656 "parse3.om" -b24: v34 = (u)my_fail; -#line 1656 "parse3.om" - v35 = v_c; -#line 1656 "parse3.om" - v36 = ((u (*)())(v34))(v35); -#line 1656 "parse3.om" -b25: v_ok = 0UL; -#line 1656 "parse3.om" - goto b21; -#line 1657 "parse3.om" -b21: if (!(v_ok)) { goto b12; } -#line 1658 "parse3.om" -b27: v37 = (u)my_any; -#line 1658 "parse3.om" - v38 = v_c; -#line 1658 "parse3.om" - v39 = ((u (*)())(v37))(v38); -#line 1658 "parse3.om" -b29: v_ok = v39; -#line 1658 "parse3.om" - goto b12; -#line 1661 "parse3.om" -b12: if (!(v_ok)) { goto b32; } -#line 1661 "parse3.om" -b31: v40 = (u)my_commit; -#line 1661 "parse3.om" - v41 = v_c; -#line 1661 "parse3.om" - v42 = ((u (*)())(v40))(v41); -#line 1662 "parse3.om" -b30: if (!(v_ok)) { goto b3; } -#line 1664 "parse3.om" -b38: v46 = (u)my_choice; -#line 1664 "parse3.om" - v47 = v_c; -#line 1664 "parse3.om" - v48 = ((u (*)())(v46))(v47); -#line 1665 "parse3.om" -b40: v49 = (u)my_choice; -#line 1665 "parse3.om" - v50 = v_c; -#line 1665 "parse3.om" - v51 = ((u (*)())(v49))(v50); -#line 1666 "parse3.om" -b41: v52 = (u)my_literal; -#line 1666 "parse3.om" - v53 = v_c; -#line 1666 "parse3.om" - v54 = (u)"\134"; -#line 1666 "parse3.om" - v55 = ((u (*)())(v52))(v53, v54); -#line 1666 "parse3.om" -b42: v_ok = v55; -#line 1667 "parse3.om" - if (!(v_ok)) { goto b43; } -#line 1668 "parse3.om" -b44: v56 = (u)my_any; -#line 1668 "parse3.om" - v57 = v_c; -#line 1668 "parse3.om" - v58 = ((u (*)())(v56))(v57); -#line 1668 "parse3.om" -b46: v_ok = v58; -#line 1668 "parse3.om" - goto b43; -#line 1670 "parse3.om" -b43: if (!(v_ok)) { goto b51; } -#line 1670 "parse3.om" -b50: v59 = 0UL; -#line 1670 "parse3.om" - goto b52; -#line 1670 "parse3.om" -b52: if (!(v59)) { goto b47; } -#line 1670 "parse3.om" -b48: v60 = (u)my_choice; -#line 1670 "parse3.om" - v61 = v_c; -#line 1670 "parse3.om" - v62 = ((u (*)())(v60))(v61); -#line 1671 "parse3.om" -b53: v63 = (u)my_choice; -#line 1671 "parse3.om" - v64 = v_c; -#line 1671 "parse3.om" - v65 = ((u (*)())(v63))(v64); -#line 1672 "parse3.om" -b54: v66 = (u)my_literal; -#line 1672 "parse3.om" - v67 = v_c; -#line 1672 "parse3.om" - v68 = (u)"'"; -#line 1672 "parse3.om" - v69 = ((u (*)())(v66))(v67, v68); -#line 1672 "parse3.om" -b55: v_ok = v69; -#line 1673 "parse3.om" - if (!(v_ok)) { goto b58; } -#line 1673 "parse3.om" -b57: v70 = (u)my_fail; -#line 1673 "parse3.om" - v71 = v_c; -#line 1673 "parse3.om" - v72 = ((u (*)())(v70))(v71); -#line 1673 "parse3.om" -b59: v73 = (u)my_fail; -#line 1673 "parse3.om" - v74 = v_c; -#line 1673 "parse3.om" - v75 = ((u (*)())(v73))(v74); -#line 1673 "parse3.om" -b60: v_ok = 0UL; -#line 1673 "parse3.om" - goto b56; -#line 1674 "parse3.om" -b56: if (!(v_ok)) { goto b47; } -#line 1675 "parse3.om" -b62: v76 = (u)my_any; -#line 1675 "parse3.om" - v77 = v_c; -#line 1675 "parse3.om" - v78 = ((u (*)())(v76))(v77); -#line 1675 "parse3.om" -b64: v_ok = v78; -#line 1675 "parse3.om" - goto b47; -#line 1678 "parse3.om" -b47: if (!(v_ok)) { goto b67; } -#line 1678 "parse3.om" -b66: v79 = (u)my_commit; -#line 1678 "parse3.om" - v80 = v_c; -#line 1678 "parse3.om" - v81 = ((u (*)())(v79))(v80); -#line 1679 "parse3.om" -b65: if (!(v_ok)) { goto b74; } -#line 1679 "parse3.om" -b73: v85 = 0UL; -#line 1679 "parse3.om" - goto b75; -#line 1679 "parse3.om" -b75: if (!(v85)) { goto b70; } -#line 1679 "parse3.om" -b71: v_ok = 1UL; -#line 1679 "parse3.om" - goto b3; -#line 1684 "parse3.om" -b3: if (!(v_ok)) { goto b77; } -#line 1685 "parse3.om" -b78: v89 = (u)my_literal; -#line 1685 "parse3.om" - v90 = v_c; -#line 1685 "parse3.om" - v91 = (u)"'"; -#line 1685 "parse3.om" - v92 = ((u (*)())(v89))(v90, v91); -#line 1685 "parse3.om" -b80: v_ok = v92; -#line 1685 "parse3.om" - goto b77; -#line 1687 "parse3.om" -b77: if (!(v_ok)) { goto b83; } -#line 1687 "parse3.om" -b82: v93 = (u)my_leave; -#line 1687 "parse3.om" - v94 = v_c; -#line 1687 "parse3.om" - v95 = 68UL; -#line 1687 "parse3.om" - v96 = ((u (*)())(v93))(v94, v95); -#line 1688 "parse3.om" -b81: return v_ok; -#line 1687 "parse3.om" -b83: v97 = (u)my_fail; -#line 1687 "parse3.om" - v98 = v_c; -#line 1687 "parse3.om" - v99 = ((u (*)())(v97))(v98); -#line 1687 "parse3.om" - goto b81; -#line 1680 "parse3.om" -b70: v86 = (u)my_commit; -#line 1680 "parse3.om" - v87 = v_c; -#line 1680 "parse3.om" - v88 = ((u (*)())(v86))(v87); -#line 1680 "parse3.om" - goto b38; -#line 1679 "parse3.om" -b74: v85 = 1UL; -#line 1679 "parse3.om" - goto b75; -#line 1678 "parse3.om" -b67: v82 = (u)my_fail; -#line 1678 "parse3.om" - v83 = v_c; -#line 1678 "parse3.om" - v84 = ((u (*)())(v82))(v83); -#line 1678 "parse3.om" - goto b65; -#line 1673 "parse3.om" -b58: v_ok = 1UL; -#line 1673 "parse3.om" - goto b56; -#line 1670 "parse3.om" -b51: v59 = 1UL; -#line 1670 "parse3.om" - goto b52; -#line 1661 "parse3.om" -b32: v43 = (u)my_fail; -#line 1661 "parse3.om" - v44 = v_c; -#line 1661 "parse3.om" - v45 = ((u (*)())(v43))(v44); -#line 1661 "parse3.om" - goto b30; -#line 1656 "parse3.om" -b23: v_ok = 1UL; -#line 1656 "parse3.om" - goto b21; -#line 1653 "parse3.om" -b16: v20 = 1UL; -#line 1653 "parse3.om" - goto b17; +#line 300 "parse3.om" +b35: v39 = (u)my_commit; +#line 300 "parse3.om" + v40 = v_c; +#line 300 "parse3.om" + v41 = ((u (*)())(v39))(v40); +#line 300 "parse3.om" + goto b23; +#line 299 "parse3.om" +b39: v38 = 1UL; +#line 299 "parse3.om" + goto b40; } -u my_peg_P_comp_expr(u v_c) { +u my_peg_P_enum_item(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -44560,298 +43927,219 @@ u my_peg_P_comp_expr(u v_c) { u v32 = 0; u v33 = 0; u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; - u v44 = 0; - u v45 = 0; - u v46 = 0; - u v47 = 0; - u v48 = 0; - u v49 = 0; - u v50 = 0; - u v51 = 0; - u v52 = 0; - u v53 = 0; - u v54 = 0; - u v55 = 0; - u v56 = 0; - u v57 = 0; - u v58 = 0; - u v59 = 0; - u v60 = 0; - u v61 = 0; - u v62 = 0; - u v63 = 0; - u v64 = 0; - u v65 = 0; - u v66 = 0; - u v67 = 0; - u v68 = 0; - u v69 = 0; - u v70 = 0; - u v71 = 0; - u v72 = 0; - u v73 = 0; - u v74 = 0; -#line 1046 "parse3.om" +#line 253 "parse3.om" b0: v2 = (u)my_enter; -#line 1046 "parse3.om" +#line 253 "parse3.om" v3 = v_c; -#line 1046 "parse3.om" - v4 = 37UL; -#line 1046 "parse3.om" +#line 253 "parse3.om" + v4 = 1UL; +#line 253 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1047 "parse3.om" -b1: v6 = (u)my_peg_P_add_expr; -#line 1047 "parse3.om" +#line 254 "parse3.om" +b1: v6 = (u)my_peg_P_ident; +#line 254 "parse3.om" v7 = v_c; -#line 1047 "parse3.om" +#line 254 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 1047 "parse3.om" +#line 254 "parse3.om" b2: v_ok = v8; -#line 1048 "parse3.om" +#line 255 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1049 "parse3.om" -b4: v9 = (u)my_choice; -#line 1049 "parse3.om" +#line 256 "parse3.om" +b4: v9 = (u)my_peg_P_sp; +#line 256 "parse3.om" v10 = v_c; -#line 1049 "parse3.om" +#line 256 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 1050 "parse3.om" -b6: v12 = (u)my_choice; -#line 1050 "parse3.om" +#line 256 "parse3.om" +b6: v_ok = v11; +#line 256 "parse3.om" + goto b3; +#line 258 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 259 "parse3.om" +b8: v12 = (u)my_choice; +#line 259 "parse3.om" v13 = v_c; -#line 1050 "parse3.om" +#line 259 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 1051 "parse3.om" -b7: v15 = (u)my_peg_P_le_op; -#line 1051 "parse3.om" +#line 260 "parse3.om" +b10: v15 = (u)my_literal; +#line 260 "parse3.om" v16 = v_c; -#line 1051 "parse3.om" - v17 = ((u (*)())(v15))(v16); -#line 1051 "parse3.om" -b8: v_ok = v17; -#line 1052 "parse3.om" - if (!(v_ok)) { goto b13; } -#line 1052 "parse3.om" -b12: v18 = 0UL; -#line 1052 "parse3.om" - goto b14; -#line 1052 "parse3.om" -b14: if (!(v18)) { goto b9; } -#line 1052 "parse3.om" -b10: v19 = (u)my_choice; -#line 1052 "parse3.om" +#line 260 "parse3.om" + v17 = (u)"="; +#line 260 "parse3.om" + v18 = ((u (*)())(v15))(v16, v17); +#line 260 "parse3.om" +b11: v_ok = v18; +#line 261 "parse3.om" + if (!(v_ok)) { goto b12; } +#line 262 "parse3.om" +b13: v19 = (u)my_peg_P_sp; +#line 262 "parse3.om" v20 = v_c; -#line 1052 "parse3.om" +#line 262 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 1053 "parse3.om" -b15: v22 = (u)my_peg_P_ge_op; -#line 1053 "parse3.om" +#line 262 "parse3.om" +b15: v_ok = v21; +#line 262 "parse3.om" + goto b12; +#line 264 "parse3.om" +b12: if (!(v_ok)) { goto b16; } +#line 265 "parse3.om" +b17: v22 = (u)my_peg_P_expr; +#line 265 "parse3.om" v23 = v_c; -#line 1053 "parse3.om" +#line 265 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 1053 "parse3.om" -b16: v_ok = v24; -#line 1053 "parse3.om" - goto b9; -#line 1055 "parse3.om" -b9: if (!(v_ok)) { goto b21; } -#line 1055 "parse3.om" -b20: v25 = 0UL; -#line 1055 "parse3.om" - goto b22; -#line 1055 "parse3.om" -b22: if (!(v25)) { goto b17; } -#line 1055 "parse3.om" -b18: v26 = (u)my_choice; -#line 1055 "parse3.om" - v27 = v_c; -#line 1055 "parse3.om" - v28 = ((u (*)())(v26))(v27); -#line 1056 "parse3.om" -b23: v29 = (u)my_peg_P_lt_op; -#line 1056 "parse3.om" - v30 = v_c; -#line 1056 "parse3.om" - v31 = ((u (*)())(v29))(v30); -#line 1056 "parse3.om" -b24: v_ok = v31; -#line 1056 "parse3.om" - goto b17; -#line 1058 "parse3.om" -b17: if (!(v_ok)) { goto b29; } -#line 1058 "parse3.om" -b28: v32 = 0UL; -#line 1058 "parse3.om" - goto b30; -#line 1058 "parse3.om" -b30: if (!(v32)) { goto b25; } -#line 1058 "parse3.om" -b26: v33 = (u)my_choice; -#line 1058 "parse3.om" - v34 = v_c; -#line 1058 "parse3.om" - v35 = ((u (*)())(v33))(v34); -#line 1059 "parse3.om" -b31: v36 = (u)my_peg_P_gt_op; -#line 1059 "parse3.om" - v37 = v_c; -#line 1059 "parse3.om" - v38 = ((u (*)())(v36))(v37); -#line 1059 "parse3.om" -b32: v_ok = v38; -#line 1059 "parse3.om" - goto b25; -#line 1061 "parse3.om" -b25: if (!(v_ok)) { goto b37; } -#line 1061 "parse3.om" -b36: v39 = 0UL; +#line 265 "parse3.om" +b19: v_ok = v24; +#line 265 "parse3.om" + goto b16; +#line 267 "parse3.om" +b16: if (!(v_ok)) { goto b22; } +#line 267 "parse3.om" +b21: v25 = (u)my_commit; +#line 267 "parse3.om" + v26 = v_c; +#line 267 "parse3.om" + v27 = ((u (*)())(v25))(v26); +#line 269 "parse3.om" +b7: if (!(v_ok)) { goto b26; } +#line 269 "parse3.om" +b25: v28 = (u)my_leave; +#line 269 "parse3.om" + v29 = v_c; +#line 269 "parse3.om" + v30 = 1UL; +#line 269 "parse3.om" + v31 = ((u (*)())(v28))(v29, v30); +#line 270 "parse3.om" +b24: return v_ok; +#line 269 "parse3.om" +b26: v32 = (u)my_fail; +#line 269 "parse3.om" + v33 = v_c; +#line 269 "parse3.om" + v34 = ((u (*)())(v32))(v33); +#line 269 "parse3.om" + goto b24; +#line 267 "parse3.om" +b22: v_ok = 1UL; +#line 267 "parse3.om" + goto b7; +} +u my_peg_P_eq_op(u v_c) { + u v_ok = 0; + u v2 = 0; + u v3 = 0; + u v4 = 0; + u v5 = 0; + u v6 = 0; + u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; + u v16 = 0; +#line 1060 "parse3.om" +b0: v2 = (u)my_enter; +#line 1060 "parse3.om" + v3 = v_c; +#line 1060 "parse3.om" + v4 = 35UL; +#line 1060 "parse3.om" + v5 = ((u (*)())(v2))(v3, v4); #line 1061 "parse3.om" - goto b38; +b1: v6 = (u)my_literal; #line 1061 "parse3.om" -b38: if (!(v39)) { goto b33; } + v7 = v_c; #line 1061 "parse3.om" -b34: v40 = (u)my_choice; + v8 = (u)"=="; #line 1061 "parse3.om" - v41 = v_c; + v9 = ((u (*)())(v6))(v7, v8); #line 1061 "parse3.om" - v42 = ((u (*)())(v40))(v41); +b2: v_ok = v9; #line 1062 "parse3.om" -b39: v43 = (u)my_peg_P_eq_op; + if (!(v_ok)) { goto b5; } #line 1062 "parse3.om" - v44 = v_c; +b4: v10 = (u)my_leave; #line 1062 "parse3.om" - v45 = ((u (*)())(v43))(v44); + v11 = v_c; #line 1062 "parse3.om" -b40: v_ok = v45; + v12 = 35UL; +#line 1062 "parse3.om" + v13 = ((u (*)())(v10))(v11, v12); +#line 1063 "parse3.om" +b3: return v_ok; +#line 1062 "parse3.om" +b5: v14 = (u)my_fail; +#line 1062 "parse3.om" + v15 = v_c; +#line 1062 "parse3.om" + v16 = ((u (*)())(v14))(v15); #line 1062 "parse3.om" - goto b33; -#line 1064 "parse3.om" -b33: if (!(v_ok)) { goto b45; } -#line 1064 "parse3.om" -b44: v46 = 0UL; -#line 1064 "parse3.om" - goto b46; -#line 1064 "parse3.om" -b46: if (!(v46)) { goto b41; } -#line 1064 "parse3.om" -b42: v47 = (u)my_choice; -#line 1064 "parse3.om" - v48 = v_c; -#line 1064 "parse3.om" - v49 = ((u (*)())(v47))(v48); -#line 1065 "parse3.om" -b47: v50 = (u)my_peg_P_ne_op; -#line 1065 "parse3.om" - v51 = v_c; -#line 1065 "parse3.om" - v52 = ((u (*)())(v50))(v51); -#line 1065 "parse3.om" -b48: v_ok = v52; -#line 1065 "parse3.om" - goto b41; -#line 1067 "parse3.om" -b41: if (!(v_ok)) { goto b51; } -#line 1067 "parse3.om" -b50: v53 = (u)my_commit; -#line 1067 "parse3.om" - v54 = v_c; -#line 1067 "parse3.om" - v55 = ((u (*)())(v53))(v54); -#line 1068 "parse3.om" -b49: if (!(v_ok)) { goto b54; } -#line 1069 "parse3.om" -b55: v59 = (u)my_peg_P_sp; -#line 1069 "parse3.om" - v60 = v_c; -#line 1069 "parse3.om" - v61 = ((u (*)())(v59))(v60); -#line 1069 "parse3.om" -b57: v_ok = v61; -#line 1069 "parse3.om" - goto b54; -#line 1071 "parse3.om" -b54: if (!(v_ok)) { goto b58; } -#line 1072 "parse3.om" -b59: v62 = (u)my_peg_P_add_expr; -#line 1072 "parse3.om" - v63 = v_c; -#line 1072 "parse3.om" - v64 = ((u (*)())(v62))(v63); -#line 1072 "parse3.om" -b61: v_ok = v64; -#line 1072 "parse3.om" - goto b58; -#line 1074 "parse3.om" -b58: if (!(v_ok)) { goto b64; } -#line 1074 "parse3.om" -b63: v65 = (u)my_commit; -#line 1074 "parse3.om" - v66 = v_c; -#line 1074 "parse3.om" - v67 = ((u (*)())(v65))(v66); -#line 1076 "parse3.om" -b3: if (!(v_ok)) { goto b68; } -#line 1076 "parse3.om" -b67: v68 = (u)my_leave; -#line 1076 "parse3.om" - v69 = v_c; -#line 1076 "parse3.om" - v70 = 37UL; -#line 1076 "parse3.om" - v71 = ((u (*)())(v68))(v69, v70); -#line 1077 "parse3.om" -b66: return v_ok; -#line 1076 "parse3.om" -b68: v72 = (u)my_fail; -#line 1076 "parse3.om" - v73 = v_c; -#line 1076 "parse3.om" - v74 = ((u (*)())(v72))(v73); -#line 1076 "parse3.om" - goto b66; -#line 1074 "parse3.om" -b64: v_ok = 1UL; -#line 1074 "parse3.om" goto b3; -#line 1067 "parse3.om" -b51: v56 = (u)my_fail; -#line 1067 "parse3.om" - v57 = v_c; -#line 1067 "parse3.om" - v58 = ((u (*)())(v56))(v57); -#line 1067 "parse3.om" - goto b49; -#line 1064 "parse3.om" -b45: v46 = 1UL; -#line 1064 "parse3.om" - goto b46; -#line 1061 "parse3.om" -b37: v39 = 1UL; -#line 1061 "parse3.om" - goto b38; -#line 1058 "parse3.om" -b29: v32 = 1UL; -#line 1058 "parse3.om" - goto b30; -#line 1055 "parse3.om" -b21: v25 = 1UL; -#line 1055 "parse3.om" - goto b22; -#line 1052 "parse3.om" -b13: v18 = 1UL; -#line 1052 "parse3.om" - goto b14; } -u my_peg_P_compound_stmt(u v_c) { +u my_peg_P_expr(u v_c) { + u v_ok = 0; + u v2 = 0; + u v3 = 0; + u v4 = 0; + u v5 = 0; + u v6 = 0; + u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; +#line 957 "parse3.om" +b0: v2 = (u)my_enter; +#line 957 "parse3.om" + v3 = v_c; +#line 957 "parse3.om" + v4 = 27UL; +#line 957 "parse3.om" + v5 = ((u (*)())(v2))(v3, v4); +#line 958 "parse3.om" +b1: v6 = (u)my_peg_P_bool_expr; +#line 958 "parse3.om" + v7 = v_c; +#line 958 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 958 "parse3.om" +b2: v_ok = v8; +#line 959 "parse3.om" + if (!(v_ok)) { goto b5; } +#line 959 "parse3.om" +b4: v9 = (u)my_leave; +#line 959 "parse3.om" + v10 = v_c; +#line 959 "parse3.om" + v11 = 27UL; +#line 959 "parse3.om" + v12 = ((u (*)())(v9))(v10, v11); +#line 960 "parse3.om" +b3: return v_ok; +#line 959 "parse3.om" +b5: v13 = (u)my_fail; +#line 959 "parse3.om" + v14 = v_c; +#line 959 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 959 "parse3.om" + goto b3; +} +u my_peg_P_expr_stmt(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -44874,138 +44162,70 @@ u my_peg_P_compound_stmt(u v_c) { u v20 = 0; u v21 = 0; u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; - u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; -#line 902 "parse3.om" +#line 907 "parse3.om" b0: v2 = (u)my_enter; -#line 902 "parse3.om" +#line 907 "parse3.om" v3 = v_c; -#line 902 "parse3.om" - v4 = 26UL; -#line 902 "parse3.om" +#line 907 "parse3.om" + v4 = 24UL; +#line 907 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 903 "parse3.om" -b1: v6 = (u)my_literal; -#line 903 "parse3.om" +#line 908 "parse3.om" +b1: v6 = (u)my_peg_P_expr; +#line 908 "parse3.om" v7 = v_c; -#line 903 "parse3.om" - v8 = (u)"{"; -#line 903 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 903 "parse3.om" -b2: v_ok = v9; -#line 904 "parse3.om" +#line 908 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 908 "parse3.om" +b2: v_ok = v8; +#line 909 "parse3.om" if (!(v_ok)) { goto b3; } -#line 905 "parse3.om" -b4: v10 = (u)my_peg_P_sp; -#line 905 "parse3.om" - v11 = v_c; -#line 905 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 905 "parse3.om" +#line 910 "parse3.om" +b4: v9 = (u)my_literal; +#line 910 "parse3.om" + v10 = v_c; +#line 910 "parse3.om" + v11 = (u)";"; +#line 910 "parse3.om" + v12 = ((u (*)())(v9))(v10, v11); +#line 910 "parse3.om" b6: v_ok = v12; -#line 905 "parse3.om" +#line 910 "parse3.om" goto b3; -#line 907 "parse3.om" +#line 912 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 909 "parse3.om" -b10: v13 = (u)my_choice; -#line 909 "parse3.om" +#line 913 "parse3.om" +b8: v13 = (u)my_peg_P_sp; +#line 913 "parse3.om" v14 = v_c; -#line 909 "parse3.om" +#line 913 "parse3.om" v15 = ((u (*)())(v13))(v14); -#line 910 "parse3.om" -b12: v16 = (u)my_peg_P_stmt; -#line 910 "parse3.om" - v17 = v_c; -#line 910 "parse3.om" - v18 = ((u (*)())(v16))(v17); -#line 910 "parse3.om" -b13: v_ok = v18; -#line 911 "parse3.om" - if (!(v_ok)) { goto b18; } -#line 911 "parse3.om" -b17: v19 = 0UL; -#line 911 "parse3.om" - goto b19; -#line 911 "parse3.om" -b19: if (!(v19)) { goto b14; } -#line 911 "parse3.om" -b15: v_ok = 1UL; -#line 911 "parse3.om" +#line 913 "parse3.om" +b10: v_ok = v15; +#line 913 "parse3.om" goto b7; #line 915 "parse3.om" -b7: if (!(v_ok)) { goto b21; } -#line 916 "parse3.om" -b22: v23 = (u)my_literal; -#line 916 "parse3.om" - v24 = v_c; -#line 916 "parse3.om" - v25 = (u)"}"; -#line 916 "parse3.om" - v26 = ((u (*)())(v23))(v24, v25); -#line 916 "parse3.om" -b24: v_ok = v26; +b7: if (!(v_ok)) { goto b13; } +#line 915 "parse3.om" +b12: v16 = (u)my_leave; +#line 915 "parse3.om" + v17 = v_c; +#line 915 "parse3.om" + v18 = 24UL; +#line 915 "parse3.om" + v19 = ((u (*)())(v16))(v17, v18); #line 916 "parse3.om" - goto b21; -#line 918 "parse3.om" -b21: if (!(v_ok)) { goto b25; } -#line 919 "parse3.om" -b26: v27 = (u)my_peg_P_sp; -#line 919 "parse3.om" - v28 = v_c; -#line 919 "parse3.om" - v29 = ((u (*)())(v27))(v28); -#line 919 "parse3.om" -b28: v_ok = v29; -#line 919 "parse3.om" - goto b25; -#line 921 "parse3.om" -b25: if (!(v_ok)) { goto b31; } -#line 921 "parse3.om" -b30: v30 = (u)my_leave; -#line 921 "parse3.om" - v31 = v_c; -#line 921 "parse3.om" - v32 = 26UL; -#line 921 "parse3.om" - v33 = ((u (*)())(v30))(v31, v32); -#line 922 "parse3.om" -b29: return v_ok; -#line 921 "parse3.om" -b31: v34 = (u)my_fail; -#line 921 "parse3.om" - v35 = v_c; -#line 921 "parse3.om" - v36 = ((u (*)())(v34))(v35); -#line 921 "parse3.om" - goto b29; -#line 912 "parse3.om" -b14: v20 = (u)my_commit; -#line 912 "parse3.om" +b11: return v_ok; +#line 915 "parse3.om" +b13: v20 = (u)my_fail; +#line 915 "parse3.om" v21 = v_c; -#line 912 "parse3.om" +#line 915 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 912 "parse3.om" - goto b10; -#line 911 "parse3.om" -b18: v19 = 1UL; -#line 911 "parse3.om" - goto b19; +#line 915 "parse3.om" + goto b11; } -u my_peg_P_continue(u v_c) { +u my_peg_P_func(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -45035,86 +44255,86 @@ u my_peg_P_continue(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1832 "parse3.om" +#line 1979 "parse3.om" b0: v2 = (u)my_enter; -#line 1832 "parse3.om" +#line 1979 "parse3.om" v3 = v_c; -#line 1832 "parse3.om" - v4 = 76UL; -#line 1832 "parse3.om" +#line 1979 "parse3.om" + v4 = 85UL; +#line 1979 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1833 "parse3.om" +#line 1980 "parse3.om" b1: v6 = (u)my_literal; -#line 1833 "parse3.om" +#line 1980 "parse3.om" v7 = v_c; -#line 1833 "parse3.om" - v8 = (u)"continue"; -#line 1833 "parse3.om" +#line 1980 "parse3.om" + v8 = (u)"func"; +#line 1980 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1833 "parse3.om" +#line 1980 "parse3.om" b2: v_ok = v9; -#line 1834 "parse3.om" +#line 1981 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1835 "parse3.om" +#line 1982 "parse3.om" b4: v10 = (u)my_choice; -#line 1835 "parse3.om" +#line 1982 "parse3.om" v11 = v_c; -#line 1835 "parse3.om" +#line 1982 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1836 "parse3.om" +#line 1983 "parse3.om" b6: v13 = (u)my_charset; -#line 1836 "parse3.om" +#line 1983 "parse3.om" v14 = v_c; -#line 1836 "parse3.om" +#line 1983 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1836 "parse3.om" +#line 1983 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1836 "parse3.om" +#line 1983 "parse3.om" b7: v_ok = v16; -#line 1837 "parse3.om" +#line 1984 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1837 "parse3.om" +#line 1984 "parse3.om" b9: v17 = (u)my_fail; -#line 1837 "parse3.om" +#line 1984 "parse3.om" v18 = v_c; -#line 1837 "parse3.om" +#line 1984 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1837 "parse3.om" +#line 1984 "parse3.om" b11: v20 = (u)my_fail; -#line 1837 "parse3.om" +#line 1984 "parse3.om" v21 = v_c; -#line 1837 "parse3.om" +#line 1984 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1837 "parse3.om" +#line 1984 "parse3.om" b12: v_ok = 0UL; -#line 1837 "parse3.om" +#line 1984 "parse3.om" goto b3; -#line 1839 "parse3.om" +#line 1986 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1839 "parse3.om" +#line 1986 "parse3.om" b14: v23 = (u)my_leave; -#line 1839 "parse3.om" +#line 1986 "parse3.om" v24 = v_c; -#line 1839 "parse3.om" - v25 = 76UL; -#line 1839 "parse3.om" +#line 1986 "parse3.om" + v25 = 85UL; +#line 1986 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1840 "parse3.om" +#line 1987 "parse3.om" b13: return v_ok; -#line 1839 "parse3.om" +#line 1986 "parse3.om" b15: v27 = (u)my_fail; -#line 1839 "parse3.om" +#line 1986 "parse3.om" v28 = v_c; -#line 1839 "parse3.om" +#line 1986 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1839 "parse3.om" +#line 1986 "parse3.om" goto b13; -#line 1837 "parse3.om" +#line 1984 "parse3.om" b10: v_ok = 1UL; -#line 1837 "parse3.om" +#line 1984 "parse3.om" goto b3; } -u my_peg_P_continue_stmt(u v_c) { +u my_peg_P_func_decl(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -45140,82 +44360,194 @@ u my_peg_P_continue_stmt(u v_c) { u v23 = 0; u v24 = 0; u v25 = 0; -#line 740 "parse3.om" + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; + u v30 = 0; + u v31 = 0; + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; + u v41 = 0; + u v42 = 0; + u v43 = 0; + u v44 = 0; + u v45 = 0; + u v46 = 0; + u v47 = 0; + u v48 = 0; + u v49 = 0; + u v50 = 0; + u v51 = 0; +#line 425 "parse3.om" b0: v2 = (u)my_enter; -#line 740 "parse3.om" +#line 425 "parse3.om" v3 = v_c; -#line 740 "parse3.om" - v4 = 18UL; -#line 740 "parse3.om" +#line 425 "parse3.om" + v4 = 6UL; +#line 425 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 741 "parse3.om" -b1: v6 = (u)my_peg_P_continue; -#line 741 "parse3.om" +#line 426 "parse3.om" +b1: v6 = (u)my_literal; +#line 426 "parse3.om" v7 = v_c; -#line 741 "parse3.om" - v8 = ((u (*)())(v6))(v7); -#line 741 "parse3.om" -b2: v_ok = v8; -#line 742 "parse3.om" +#line 426 "parse3.om" + v8 = (u)"func"; +#line 426 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 426 "parse3.om" +b2: v_ok = v9; +#line 427 "parse3.om" if (!(v_ok)) { goto b3; } -#line 743 "parse3.om" -b4: v9 = (u)my_peg_P_sp; -#line 743 "parse3.om" - v10 = v_c; -#line 743 "parse3.om" - v11 = ((u (*)())(v9))(v10); -#line 743 "parse3.om" -b6: v_ok = v11; -#line 743 "parse3.om" +#line 428 "parse3.om" +b4: v10 = (u)my_peg_P_sp; +#line 428 "parse3.om" + v11 = v_c; +#line 428 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 428 "parse3.om" +b6: v_ok = v12; +#line 428 "parse3.om" goto b3; -#line 745 "parse3.om" +#line 430 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 746 "parse3.om" -b8: v12 = (u)my_literal; -#line 746 "parse3.om" - v13 = v_c; -#line 746 "parse3.om" - v14 = (u)";"; -#line 746 "parse3.om" - v15 = ((u (*)())(v12))(v13, v14); -#line 746 "parse3.om" +#line 431 "parse3.om" +b8: v13 = (u)my_peg_P_ident; +#line 431 "parse3.om" + v14 = v_c; +#line 431 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 431 "parse3.om" b10: v_ok = v15; -#line 746 "parse3.om" +#line 431 "parse3.om" goto b7; -#line 748 "parse3.om" +#line 433 "parse3.om" b7: if (!(v_ok)) { goto b11; } -#line 749 "parse3.om" +#line 434 "parse3.om" b12: v16 = (u)my_peg_P_sp; -#line 749 "parse3.om" +#line 434 "parse3.om" v17 = v_c; -#line 749 "parse3.om" +#line 434 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 749 "parse3.om" +#line 434 "parse3.om" b14: v_ok = v18; -#line 749 "parse3.om" +#line 434 "parse3.om" goto b11; -#line 751 "parse3.om" -b11: if (!(v_ok)) { goto b17; } -#line 751 "parse3.om" -b16: v19 = (u)my_leave; -#line 751 "parse3.om" +#line 436 "parse3.om" +b11: if (!(v_ok)) { goto b15; } +#line 437 "parse3.om" +b16: v19 = (u)my_peg_P_func_type; +#line 437 "parse3.om" v20 = v_c; -#line 751 "parse3.om" - v21 = 18UL; -#line 751 "parse3.om" - v22 = ((u (*)())(v19))(v20, v21); -#line 752 "parse3.om" -b15: return v_ok; -#line 751 "parse3.om" -b17: v23 = (u)my_fail; -#line 751 "parse3.om" - v24 = v_c; -#line 751 "parse3.om" - v25 = ((u (*)())(v23))(v24); -#line 751 "parse3.om" +#line 437 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 437 "parse3.om" +b18: v_ok = v21; +#line 437 "parse3.om" goto b15; +#line 439 "parse3.om" +b15: if (!(v_ok)) { goto b19; } +#line 440 "parse3.om" +b20: v22 = (u)my_choice; +#line 440 "parse3.om" + v23 = v_c; +#line 440 "parse3.om" + v24 = ((u (*)())(v22))(v23); +#line 441 "parse3.om" +b22: v25 = (u)my_literal; +#line 441 "parse3.om" + v26 = v_c; +#line 441 "parse3.om" + v27 = (u)";"; +#line 441 "parse3.om" + v28 = ((u (*)())(v25))(v26, v27); +#line 441 "parse3.om" +b23: v_ok = v28; +#line 442 "parse3.om" + if (!(v_ok)) { goto b24; } +#line 443 "parse3.om" +b25: v29 = (u)my_peg_P_sp; +#line 443 "parse3.om" + v30 = v_c; +#line 443 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 443 "parse3.om" +b27: v_ok = v31; +#line 443 "parse3.om" + goto b24; +#line 445 "parse3.om" +b24: if (!(v_ok)) { goto b32; } +#line 445 "parse3.om" +b31: v32 = 0UL; +#line 445 "parse3.om" + goto b33; +#line 445 "parse3.om" +b33: if (!(v32)) { goto b28; } +#line 445 "parse3.om" +b29: v33 = (u)my_choice; +#line 445 "parse3.om" + v34 = v_c; +#line 445 "parse3.om" + v35 = ((u (*)())(v33))(v34); +#line 446 "parse3.om" +b34: v36 = (u)my_peg_P_compound_stmt; +#line 446 "parse3.om" + v37 = v_c; +#line 446 "parse3.om" + v38 = ((u (*)())(v36))(v37); +#line 446 "parse3.om" +b35: v_ok = v38; +#line 446 "parse3.om" + goto b28; +#line 448 "parse3.om" +b28: if (!(v_ok)) { goto b38; } +#line 448 "parse3.om" +b37: v39 = (u)my_commit; +#line 448 "parse3.om" + v40 = v_c; +#line 448 "parse3.om" + v41 = ((u (*)())(v39))(v40); +#line 450 "parse3.om" +b19: if (!(v_ok)) { goto b43; } +#line 450 "parse3.om" +b42: v45 = (u)my_leave; +#line 450 "parse3.om" + v46 = v_c; +#line 450 "parse3.om" + v47 = 6UL; +#line 450 "parse3.om" + v48 = ((u (*)())(v45))(v46, v47); +#line 451 "parse3.om" +b41: return v_ok; +#line 450 "parse3.om" +b43: v49 = (u)my_fail; +#line 450 "parse3.om" + v50 = v_c; +#line 450 "parse3.om" + v51 = ((u (*)())(v49))(v50); +#line 450 "parse3.om" + goto b41; +#line 448 "parse3.om" +b38: v42 = (u)my_fail; +#line 448 "parse3.om" + v43 = v_c; +#line 448 "parse3.om" + v44 = ((u (*)())(v42))(v43); +#line 448 "parse3.om" + goto b19; +#line 445 "parse3.om" +b32: v32 = 1UL; +#line 445 "parse3.om" + goto b33; } -u my_peg_P_dec(u v_c) { +u my_peg_P_func_type(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -45256,128 +44588,315 @@ u my_peg_P_dec(u v_c) { u v38 = 0; u v39 = 0; u v40 = 0; -#line 1592 "parse3.om" + u v41 = 0; + u v42 = 0; + u v43 = 0; + u v44 = 0; + u v45 = 0; + u v46 = 0; + u v47 = 0; + u v48 = 0; + u v49 = 0; + u v50 = 0; + u v51 = 0; + u v52 = 0; + u v53 = 0; + u v54 = 0; + u v55 = 0; + u v56 = 0; + u v57 = 0; + u v58 = 0; + u v59 = 0; + u v60 = 0; + u v61 = 0; + u v62 = 0; + u v63 = 0; + u v64 = 0; + u v65 = 0; + u v66 = 0; + u v67 = 0; + u v68 = 0; + u v69 = 0; + u v70 = 0; + u v71 = 0; + u v72 = 0; + u v73 = 0; + u v74 = 0; + u v75 = 0; + u v76 = 0; + u v77 = 0; + u v78 = 0; + u v79 = 0; + u v80 = 0; + u v81 = 0; +#line 571 "parse3.om" b0: v2 = (u)my_enter; -#line 1592 "parse3.om" +#line 571 "parse3.om" v3 = v_c; -#line 1592 "parse3.om" - v4 = 66UL; -#line 1592 "parse3.om" +#line 571 "parse3.om" + v4 = 11UL; +#line 571 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1593 "parse3.om" -b1: v6 = (u)my_choice; -#line 1593 "parse3.om" +#line 572 "parse3.om" +b1: v6 = (u)my_literal; +#line 572 "parse3.om" v7 = v_c; -#line 1593 "parse3.om" - v8 = ((u (*)())(v6))(v7); -#line 1594 "parse3.om" -b2: v9 = (u)my_literal; -#line 1594 "parse3.om" - v10 = v_c; -#line 1594 "parse3.om" - v11 = (u)"_"; -#line 1594 "parse3.om" - v12 = ((u (*)())(v9))(v10, v11); -#line 1594 "parse3.om" -b3: v_ok = v12; -#line 1595 "parse3.om" - if (!(v_ok)) { goto b6; } -#line 1595 "parse3.om" -b5: v13 = (u)my_fail; -#line 1595 "parse3.om" +#line 572 "parse3.om" + v8 = (u)"("; +#line 572 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 572 "parse3.om" +b2: v_ok = v9; +#line 573 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 574 "parse3.om" +b4: v10 = (u)my_peg_P_sp; +#line 574 "parse3.om" + v11 = v_c; +#line 574 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 574 "parse3.om" +b6: v_ok = v12; +#line 574 "parse3.om" + goto b3; +#line 576 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 577 "parse3.om" +b8: v13 = (u)my_choice; +#line 577 "parse3.om" v14 = v_c; -#line 1595 "parse3.om" +#line 577 "parse3.om" v15 = ((u (*)())(v13))(v14); -#line 1595 "parse3.om" -b7: v16 = (u)my_fail; -#line 1595 "parse3.om" +#line 578 "parse3.om" +b10: v16 = (u)my_peg_P_arg_decl; +#line 578 "parse3.om" v17 = v_c; -#line 1595 "parse3.om" +#line 578 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 1595 "parse3.om" -b8: v_ok = 0UL; -#line 1595 "parse3.om" - goto b4; -#line 1596 "parse3.om" -b4: if (!(v_ok)) { goto b9; } -#line 1597 "parse3.om" -b10: v19 = (u)my_charset; -#line 1597 "parse3.om" +#line 578 "parse3.om" +b11: v_ok = v18; +#line 579 "parse3.om" + if (!(v_ok)) { goto b12; } +#line 581 "parse3.om" +b15: v19 = (u)my_choice; +#line 581 "parse3.om" v20 = v_c; -#line 1597 "parse3.om" - v21 = (u)"0123456789_"; -#line 1597 "parse3.om" - v22 = ((u (*)())(v19))(v20, v21); -#line 1597 "parse3.om" -b12: v_ok = v22; -#line 1598 "parse3.om" - if (!(v_ok)) { goto b9; } -#line 1600 "parse3.om" -b16: v23 = (u)my_choice; -#line 1600 "parse3.om" - v24 = v_c; -#line 1600 "parse3.om" - v25 = ((u (*)())(v23))(v24); -#line 1601 "parse3.om" -b18: v26 = (u)my_charset; -#line 1601 "parse3.om" +#line 581 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 582 "parse3.om" +b17: v22 = (u)my_literal; +#line 582 "parse3.om" + v23 = v_c; +#line 582 "parse3.om" + v24 = (u)","; +#line 582 "parse3.om" + v25 = ((u (*)())(v22))(v23, v24); +#line 582 "parse3.om" +b18: v_ok = v25; +#line 583 "parse3.om" + if (!(v_ok)) { goto b19; } +#line 584 "parse3.om" +b20: v26 = (u)my_peg_P_sp; +#line 584 "parse3.om" v27 = v_c; -#line 1601 "parse3.om" - v28 = (u)"0123456789_"; -#line 1601 "parse3.om" - v29 = ((u (*)())(v26))(v27, v28); -#line 1601 "parse3.om" -b19: v_ok = v29; -#line 1602 "parse3.om" - if (!(v_ok)) { goto b24; } -#line 1602 "parse3.om" -b23: v30 = 0UL; -#line 1602 "parse3.om" - goto b25; -#line 1602 "parse3.om" -b25: if (!(v30)) { goto b20; } -#line 1602 "parse3.om" -b21: v_ok = 1UL; -#line 1602 "parse3.om" - goto b9; -#line 1607 "parse3.om" -b9: if (!(v_ok)) { goto b29; } -#line 1607 "parse3.om" -b28: v34 = (u)my_leave; -#line 1607 "parse3.om" - v35 = v_c; -#line 1607 "parse3.om" - v36 = 66UL; -#line 1607 "parse3.om" - v37 = ((u (*)())(v34))(v35, v36); -#line 1608 "parse3.om" -b27: return v_ok; -#line 1607 "parse3.om" -b29: v38 = (u)my_fail; -#line 1607 "parse3.om" - v39 = v_c; -#line 1607 "parse3.om" - v40 = ((u (*)())(v38))(v39); -#line 1607 "parse3.om" - goto b27; -#line 1603 "parse3.om" -b20: v31 = (u)my_commit; -#line 1603 "parse3.om" - v32 = v_c; -#line 1603 "parse3.om" - v33 = ((u (*)())(v31))(v32); -#line 1603 "parse3.om" - goto b16; -#line 1602 "parse3.om" -b24: v30 = 1UL; -#line 1602 "parse3.om" - goto b25; -#line 1595 "parse3.om" -b6: v_ok = 1UL; -#line 1595 "parse3.om" - goto b4; +#line 584 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 584 "parse3.om" +b22: v_ok = v28; +#line 584 "parse3.om" + goto b19; +#line 586 "parse3.om" +b19: if (!(v_ok)) { goto b23; } +#line 587 "parse3.om" +b24: v29 = (u)my_peg_P_arg_decl; +#line 587 "parse3.om" + v30 = v_c; +#line 587 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 587 "parse3.om" +b26: v_ok = v31; +#line 587 "parse3.om" + goto b23; +#line 589 "parse3.om" +b23: if (!(v_ok)) { goto b31; } +#line 589 "parse3.om" +b30: v32 = 0UL; +#line 589 "parse3.om" + goto b32; +#line 589 "parse3.om" +b32: if (!(v32)) { goto b27; } +#line 589 "parse3.om" +b28: v_ok = 1UL; +#line 589 "parse3.om" + goto b12; +#line 593 "parse3.om" +b12: if (!(v_ok)) { goto b36; } +#line 593 "parse3.om" +b35: v36 = (u)my_commit; +#line 593 "parse3.om" + v37 = v_c; +#line 593 "parse3.om" + v38 = ((u (*)())(v36))(v37); +#line 595 "parse3.om" +b7: if (!(v_ok)) { goto b38; } +#line 596 "parse3.om" +b39: v39 = (u)my_choice; +#line 596 "parse3.om" + v40 = v_c; +#line 596 "parse3.om" + v41 = ((u (*)())(v39))(v40); +#line 597 "parse3.om" +b41: v42 = (u)my_literal; +#line 597 "parse3.om" + v43 = v_c; +#line 597 "parse3.om" + v44 = (u)","; +#line 597 "parse3.om" + v45 = ((u (*)())(v42))(v43, v44); +#line 597 "parse3.om" +b42: v_ok = v45; +#line 598 "parse3.om" + if (!(v_ok)) { goto b43; } +#line 599 "parse3.om" +b44: v46 = (u)my_peg_P_sp; +#line 599 "parse3.om" + v47 = v_c; +#line 599 "parse3.om" + v48 = ((u (*)())(v46))(v47); +#line 599 "parse3.om" +b46: v_ok = v48; +#line 599 "parse3.om" + goto b43; +#line 601 "parse3.om" +b43: if (!(v_ok)) { goto b49; } +#line 601 "parse3.om" +b48: v49 = (u)my_commit; +#line 601 "parse3.om" + v50 = v_c; +#line 601 "parse3.om" + v51 = ((u (*)())(v49))(v50); +#line 603 "parse3.om" +b38: if (!(v_ok)) { goto b51; } +#line 604 "parse3.om" +b52: v52 = (u)my_literal; +#line 604 "parse3.om" + v53 = v_c; +#line 604 "parse3.om" + v54 = (u)")"; +#line 604 "parse3.om" + v55 = ((u (*)())(v52))(v53, v54); +#line 604 "parse3.om" +b54: v_ok = v55; +#line 604 "parse3.om" + goto b51; +#line 606 "parse3.om" +b51: if (!(v_ok)) { goto b55; } +#line 607 "parse3.om" +b56: v56 = (u)my_peg_P_sp; +#line 607 "parse3.om" + v57 = v_c; +#line 607 "parse3.om" + v58 = ((u (*)())(v56))(v57); +#line 607 "parse3.om" +b58: v_ok = v58; +#line 607 "parse3.om" + goto b55; +#line 609 "parse3.om" +b55: if (!(v_ok)) { goto b59; } +#line 610 "parse3.om" +b60: v59 = (u)my_choice; +#line 610 "parse3.om" + v60 = v_c; +#line 610 "parse3.om" + v61 = ((u (*)())(v59))(v60); +#line 611 "parse3.om" +b62: v62 = (u)my_literal; +#line 611 "parse3.om" + v63 = v_c; +#line 611 "parse3.om" + v64 = (u)":"; +#line 611 "parse3.om" + v65 = ((u (*)())(v62))(v63, v64); +#line 611 "parse3.om" +b63: v_ok = v65; +#line 612 "parse3.om" + if (!(v_ok)) { goto b64; } +#line 613 "parse3.om" +b65: v66 = (u)my_peg_P_sp; +#line 613 "parse3.om" + v67 = v_c; +#line 613 "parse3.om" + v68 = ((u (*)())(v66))(v67); +#line 613 "parse3.om" +b67: v_ok = v68; +#line 613 "parse3.om" + goto b64; +#line 615 "parse3.om" +b64: if (!(v_ok)) { goto b68; } +#line 616 "parse3.om" +b69: v69 = (u)my_peg_P_type; +#line 616 "parse3.om" + v70 = v_c; +#line 616 "parse3.om" + v71 = ((u (*)())(v69))(v70); +#line 616 "parse3.om" +b71: v_ok = v71; +#line 616 "parse3.om" + goto b68; +#line 618 "parse3.om" +b68: if (!(v_ok)) { goto b74; } +#line 618 "parse3.om" +b73: v72 = (u)my_commit; +#line 618 "parse3.om" + v73 = v_c; +#line 618 "parse3.om" + v74 = ((u (*)())(v72))(v73); +#line 620 "parse3.om" +b59: if (!(v_ok)) { goto b78; } +#line 620 "parse3.om" +b77: v75 = (u)my_leave; +#line 620 "parse3.om" + v76 = v_c; +#line 620 "parse3.om" + v77 = 11UL; +#line 620 "parse3.om" + v78 = ((u (*)())(v75))(v76, v77); +#line 621 "parse3.om" +b76: return v_ok; +#line 620 "parse3.om" +b78: v79 = (u)my_fail; +#line 620 "parse3.om" + v80 = v_c; +#line 620 "parse3.om" + v81 = ((u (*)())(v79))(v80); +#line 620 "parse3.om" + goto b76; +#line 618 "parse3.om" +b74: v_ok = 1UL; +#line 618 "parse3.om" + goto b59; +#line 601 "parse3.om" +b49: v_ok = 1UL; +#line 601 "parse3.om" + goto b38; +#line 593 "parse3.om" +b36: v_ok = 1UL; +#line 593 "parse3.om" + goto b7; +#line 590 "parse3.om" +b27: v33 = (u)my_commit; +#line 590 "parse3.om" + v34 = v_c; +#line 590 "parse3.om" + v35 = ((u (*)())(v33))(v34); +#line 590 "parse3.om" + goto b15; +#line 589 "parse3.om" +b31: v32 = 1UL; +#line 589 "parse3.om" + goto b32; } -u my_peg_P_deref_op(u v_c) { +u my_peg_P_ge_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -45394,46 +44913,46 @@ u my_peg_P_deref_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1283 "parse3.om" +#line 1016 "parse3.om" b0: v2 = (u)my_enter; -#line 1283 "parse3.om" +#line 1016 "parse3.om" v3 = v_c; -#line 1283 "parse3.om" - v4 = 52UL; -#line 1283 "parse3.om" +#line 1016 "parse3.om" + v4 = 32UL; +#line 1016 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1284 "parse3.om" +#line 1017 "parse3.om" b1: v6 = (u)my_literal; -#line 1284 "parse3.om" +#line 1017 "parse3.om" v7 = v_c; -#line 1284 "parse3.om" - v8 = (u)"*"; -#line 1284 "parse3.om" +#line 1017 "parse3.om" + v8 = (u)">="; +#line 1017 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1284 "parse3.om" +#line 1017 "parse3.om" b2: v_ok = v9; -#line 1285 "parse3.om" +#line 1018 "parse3.om" if (!(v_ok)) { goto b5; } -#line 1285 "parse3.om" +#line 1018 "parse3.om" b4: v10 = (u)my_leave; -#line 1285 "parse3.om" +#line 1018 "parse3.om" v11 = v_c; -#line 1285 "parse3.om" - v12 = 52UL; -#line 1285 "parse3.om" +#line 1018 "parse3.om" + v12 = 32UL; +#line 1018 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 1286 "parse3.om" +#line 1019 "parse3.om" b3: return v_ok; -#line 1285 "parse3.om" +#line 1018 "parse3.om" b5: v14 = (u)my_fail; -#line 1285 "parse3.om" +#line 1018 "parse3.om" v15 = v_c; -#line 1285 "parse3.om" +#line 1018 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 1285 "parse3.om" +#line 1018 "parse3.om" goto b3; } -u my_peg_P_div_op(u v_c) { +u my_peg_P_goto(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -45463,86 +44982,217 @@ u my_peg_P_div_op(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1160 "parse3.om" +#line 1875 "parse3.om" b0: v2 = (u)my_enter; -#line 1160 "parse3.om" +#line 1875 "parse3.om" v3 = v_c; -#line 1160 "parse3.om" - v4 = 44UL; -#line 1160 "parse3.om" +#line 1875 "parse3.om" + v4 = 77UL; +#line 1875 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1161 "parse3.om" +#line 1876 "parse3.om" b1: v6 = (u)my_literal; -#line 1161 "parse3.om" +#line 1876 "parse3.om" v7 = v_c; -#line 1161 "parse3.om" - v8 = (u)"/"; -#line 1161 "parse3.om" +#line 1876 "parse3.om" + v8 = (u)"goto"; +#line 1876 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1161 "parse3.om" +#line 1876 "parse3.om" b2: v_ok = v9; -#line 1162 "parse3.om" +#line 1877 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1163 "parse3.om" +#line 1878 "parse3.om" b4: v10 = (u)my_choice; -#line 1163 "parse3.om" +#line 1878 "parse3.om" v11 = v_c; -#line 1163 "parse3.om" +#line 1878 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1164 "parse3.om" -b6: v13 = (u)my_literal; -#line 1164 "parse3.om" +#line 1879 "parse3.om" +b6: v13 = (u)my_charset; +#line 1879 "parse3.om" v14 = v_c; -#line 1164 "parse3.om" - v15 = (u)"/"; -#line 1164 "parse3.om" +#line 1879 "parse3.om" + v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 1879 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1164 "parse3.om" +#line 1879 "parse3.om" b7: v_ok = v16; -#line 1165 "parse3.om" +#line 1880 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1165 "parse3.om" +#line 1880 "parse3.om" b9: v17 = (u)my_fail; -#line 1165 "parse3.om" +#line 1880 "parse3.om" v18 = v_c; -#line 1165 "parse3.om" +#line 1880 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1165 "parse3.om" +#line 1880 "parse3.om" b11: v20 = (u)my_fail; -#line 1165 "parse3.om" +#line 1880 "parse3.om" v21 = v_c; -#line 1165 "parse3.om" +#line 1880 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1165 "parse3.om" +#line 1880 "parse3.om" b12: v_ok = 0UL; -#line 1165 "parse3.om" +#line 1880 "parse3.om" goto b3; -#line 1167 "parse3.om" +#line 1882 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1167 "parse3.om" +#line 1882 "parse3.om" b14: v23 = (u)my_leave; -#line 1167 "parse3.om" +#line 1882 "parse3.om" v24 = v_c; -#line 1167 "parse3.om" - v25 = 44UL; -#line 1167 "parse3.om" +#line 1882 "parse3.om" + v25 = 77UL; +#line 1882 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1168 "parse3.om" +#line 1883 "parse3.om" b13: return v_ok; -#line 1167 "parse3.om" +#line 1882 "parse3.om" b15: v27 = (u)my_fail; -#line 1167 "parse3.om" +#line 1882 "parse3.om" v28 = v_c; -#line 1167 "parse3.om" +#line 1882 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1167 "parse3.om" +#line 1882 "parse3.om" goto b13; -#line 1165 "parse3.om" +#line 1880 "parse3.om" b10: v_ok = 1UL; -#line 1165 "parse3.om" +#line 1880 "parse3.om" + goto b3; +} +u my_peg_P_goto_stmt(u v_c) { + u v_ok = 0; + u v2 = 0; + u v3 = 0; + u v4 = 0; + u v5 = 0; + u v6 = 0; + u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; + u v16 = 0; + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; + u v30 = 0; + u v31 = 0; +#line 861 "parse3.om" +b0: v2 = (u)my_enter; +#line 861 "parse3.om" + v3 = v_c; +#line 861 "parse3.om" + v4 = 22UL; +#line 861 "parse3.om" + v5 = ((u (*)())(v2))(v3, v4); +#line 862 "parse3.om" +b1: v6 = (u)my_peg_P_goto; +#line 862 "parse3.om" + v7 = v_c; +#line 862 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 862 "parse3.om" +b2: v_ok = v8; +#line 863 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 864 "parse3.om" +b4: v9 = (u)my_peg_P_sp; +#line 864 "parse3.om" + v10 = v_c; +#line 864 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 864 "parse3.om" +b6: v_ok = v11; +#line 864 "parse3.om" goto b3; +#line 866 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 867 "parse3.om" +b8: v12 = (u)my_peg_P_ident; +#line 867 "parse3.om" + v13 = v_c; +#line 867 "parse3.om" + v14 = ((u (*)())(v12))(v13); +#line 867 "parse3.om" +b10: v_ok = v14; +#line 867 "parse3.om" + goto b7; +#line 869 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 870 "parse3.om" +b12: v15 = (u)my_peg_P_sp; +#line 870 "parse3.om" + v16 = v_c; +#line 870 "parse3.om" + v17 = ((u (*)())(v15))(v16); +#line 870 "parse3.om" +b14: v_ok = v17; +#line 870 "parse3.om" + goto b11; +#line 872 "parse3.om" +b11: if (!(v_ok)) { goto b15; } +#line 873 "parse3.om" +b16: v18 = (u)my_literal; +#line 873 "parse3.om" + v19 = v_c; +#line 873 "parse3.om" + v20 = (u)";"; +#line 873 "parse3.om" + v21 = ((u (*)())(v18))(v19, v20); +#line 873 "parse3.om" +b18: v_ok = v21; +#line 873 "parse3.om" + goto b15; +#line 875 "parse3.om" +b15: if (!(v_ok)) { goto b19; } +#line 876 "parse3.om" +b20: v22 = (u)my_peg_P_sp; +#line 876 "parse3.om" + v23 = v_c; +#line 876 "parse3.om" + v24 = ((u (*)())(v22))(v23); +#line 876 "parse3.om" +b22: v_ok = v24; +#line 876 "parse3.om" + goto b19; +#line 878 "parse3.om" +b19: if (!(v_ok)) { goto b25; } +#line 878 "parse3.om" +b24: v25 = (u)my_leave; +#line 878 "parse3.om" + v26 = v_c; +#line 878 "parse3.om" + v27 = 22UL; +#line 878 "parse3.om" + v28 = ((u (*)())(v25))(v26, v27); +#line 879 "parse3.om" +b23: return v_ok; +#line 878 "parse3.om" +b25: v29 = (u)my_fail; +#line 878 "parse3.om" + v30 = v_c; +#line 878 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 878 "parse3.om" + goto b23; } -u my_peg_P_elif_stmt(u v_c) { +u my_peg_P_grammar(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -45573,104 +45223,265 @@ u my_peg_P_elif_stmt(u v_c) { u v28 = 0; u v29 = 0; u v30 = 0; -#line 639 "parse3.om" + u v31 = 0; + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; + u v41 = 0; + u v42 = 0; + u v43 = 0; + u v44 = 0; + u v45 = 0; + u v46 = 0; + u v47 = 0; + u v48 = 0; + u v49 = 0; + u v50 = 0; + u v51 = 0; + u v52 = 0; + u v53 = 0; + u v54 = 0; + u v55 = 0; + u v56 = 0; + u v57 = 0; + u v58 = 0; + u v59 = 0; + u v60 = 0; + u v61 = 0; + u v62 = 0; + u v63 = 0; + u v64 = 0; + u v65 = 0; + u v66 = 0; + u v67 = 0; +#line 221 "parse3.om" b0: v2 = (u)my_enter; -#line 639 "parse3.om" +#line 221 "parse3.om" v3 = v_c; -#line 639 "parse3.om" - v4 = 13UL; -#line 639 "parse3.om" +#line 221 "parse3.om" + v4 = 0UL; +#line 221 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 640 "parse3.om" -b1: v6 = (u)my_peg_P_else; -#line 640 "parse3.om" +#line 222 "parse3.om" +b1: v6 = (u)my_peg_P_sp; +#line 222 "parse3.om" v7 = v_c; -#line 640 "parse3.om" +#line 222 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 640 "parse3.om" +#line 222 "parse3.om" b2: v_ok = v8; -#line 641 "parse3.om" +#line 223 "parse3.om" if (!(v_ok)) { goto b3; } -#line 642 "parse3.om" -b4: v9 = (u)my_peg_P_sp; -#line 642 "parse3.om" +#line 225 "parse3.om" +b6: v9 = (u)my_choice; +#line 225 "parse3.om" v10 = v_c; -#line 642 "parse3.om" +#line 225 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 642 "parse3.om" -b6: v_ok = v11; -#line 642 "parse3.om" - goto b3; -#line 644 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 645 "parse3.om" -b8: v12 = (u)my_peg_P_if; -#line 645 "parse3.om" +#line 226 "parse3.om" +b8: v12 = (u)my_choice; +#line 226 "parse3.om" v13 = v_c; -#line 645 "parse3.om" +#line 226 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 645 "parse3.om" -b10: v_ok = v14; -#line 645 "parse3.om" - goto b7; -#line 647 "parse3.om" -b7: if (!(v_ok)) { goto b11; } -#line 648 "parse3.om" -b12: v15 = (u)my_peg_P_sp; -#line 648 "parse3.om" +#line 227 "parse3.om" +b9: v15 = (u)my_peg_P_enum_decl; +#line 227 "parse3.om" v16 = v_c; -#line 648 "parse3.om" +#line 227 "parse3.om" v17 = ((u (*)())(v15))(v16); -#line 648 "parse3.om" -b14: v_ok = v17; -#line 648 "parse3.om" +#line 227 "parse3.om" +b10: v_ok = v17; +#line 228 "parse3.om" + if (!(v_ok)) { goto b15; } +#line 228 "parse3.om" +b14: v18 = 0UL; +#line 228 "parse3.om" + goto b16; +#line 228 "parse3.om" +b16: if (!(v18)) { goto b11; } +#line 228 "parse3.om" +b12: v19 = (u)my_choice; +#line 228 "parse3.om" + v20 = v_c; +#line 228 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 229 "parse3.om" +b17: v22 = (u)my_peg_P_struct_decl; +#line 229 "parse3.om" + v23 = v_c; +#line 229 "parse3.om" + v24 = ((u (*)())(v22))(v23); +#line 229 "parse3.om" +b18: v_ok = v24; +#line 229 "parse3.om" goto b11; -#line 650 "parse3.om" -b11: if (!(v_ok)) { goto b15; } -#line 651 "parse3.om" -b16: v18 = (u)my_peg_P_expr; -#line 651 "parse3.om" - v19 = v_c; -#line 651 "parse3.om" - v20 = ((u (*)())(v18))(v19); -#line 651 "parse3.om" -b18: v_ok = v20; -#line 651 "parse3.om" - goto b15; -#line 653 "parse3.om" -b15: if (!(v_ok)) { goto b19; } -#line 654 "parse3.om" -b20: v21 = (u)my_peg_P_compound_stmt; -#line 654 "parse3.om" - v22 = v_c; -#line 654 "parse3.om" - v23 = ((u (*)())(v21))(v22); -#line 654 "parse3.om" -b22: v_ok = v23; -#line 654 "parse3.om" +#line 231 "parse3.om" +b11: if (!(v_ok)) { goto b23; } +#line 231 "parse3.om" +b22: v25 = 0UL; +#line 231 "parse3.om" + goto b24; +#line 231 "parse3.om" +b24: if (!(v25)) { goto b19; } +#line 231 "parse3.om" +b20: v26 = (u)my_choice; +#line 231 "parse3.om" + v27 = v_c; +#line 231 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 232 "parse3.om" +b25: v29 = (u)my_peg_P_union_decl; +#line 232 "parse3.om" + v30 = v_c; +#line 232 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 232 "parse3.om" +b26: v_ok = v31; +#line 232 "parse3.om" goto b19; -#line 656 "parse3.om" -b19: if (!(v_ok)) { goto b25; } -#line 656 "parse3.om" -b24: v24 = (u)my_leave; -#line 656 "parse3.om" - v25 = v_c; -#line 656 "parse3.om" - v26 = 13UL; -#line 656 "parse3.om" - v27 = ((u (*)())(v24))(v25, v26); -#line 657 "parse3.om" -b23: return v_ok; -#line 656 "parse3.om" -b25: v28 = (u)my_fail; -#line 656 "parse3.om" - v29 = v_c; -#line 656 "parse3.om" - v30 = ((u (*)())(v28))(v29); -#line 656 "parse3.om" - goto b23; +#line 234 "parse3.om" +b19: if (!(v_ok)) { goto b31; } +#line 234 "parse3.om" +b30: v32 = 0UL; +#line 234 "parse3.om" + goto b32; +#line 234 "parse3.om" +b32: if (!(v32)) { goto b27; } +#line 234 "parse3.om" +b28: v33 = (u)my_choice; +#line 234 "parse3.om" + v34 = v_c; +#line 234 "parse3.om" + v35 = ((u (*)())(v33))(v34); +#line 235 "parse3.om" +b33: v36 = (u)my_peg_P_func_decl; +#line 235 "parse3.om" + v37 = v_c; +#line 235 "parse3.om" + v38 = ((u (*)())(v36))(v37); +#line 235 "parse3.om" +b34: v_ok = v38; +#line 235 "parse3.om" + goto b27; +#line 237 "parse3.om" +b27: if (!(v_ok)) { goto b37; } +#line 237 "parse3.om" +b36: v39 = (u)my_commit; +#line 237 "parse3.om" + v40 = v_c; +#line 237 "parse3.om" + v41 = ((u (*)())(v39))(v40); +#line 238 "parse3.om" +b35: if (!(v_ok)) { goto b44; } +#line 238 "parse3.om" +b43: v45 = 0UL; +#line 238 "parse3.om" + goto b45; +#line 238 "parse3.om" +b45: if (!(v45)) { goto b40; } +#line 238 "parse3.om" +b41: v_ok = 1UL; +#line 238 "parse3.om" + goto b3; +#line 242 "parse3.om" +b3: if (!(v_ok)) { goto b47; } +#line 243 "parse3.om" +b48: v49 = (u)my_choice; +#line 243 "parse3.om" + v50 = v_c; +#line 243 "parse3.om" + v51 = ((u (*)())(v49))(v50); +#line 244 "parse3.om" +b50: v52 = (u)my_any; +#line 244 "parse3.om" + v53 = v_c; +#line 244 "parse3.om" + v54 = ((u (*)())(v52))(v53); +#line 244 "parse3.om" +b51: v_ok = v54; +#line 245 "parse3.om" + if (!(v_ok)) { goto b54; } +#line 245 "parse3.om" +b53: v55 = (u)my_fail; +#line 245 "parse3.om" + v56 = v_c; +#line 245 "parse3.om" + v57 = ((u (*)())(v55))(v56); +#line 245 "parse3.om" +b55: v58 = (u)my_fail; +#line 245 "parse3.om" + v59 = v_c; +#line 245 "parse3.om" + v60 = ((u (*)())(v58))(v59); +#line 245 "parse3.om" +b56: v_ok = 0UL; +#line 245 "parse3.om" + goto b47; +#line 247 "parse3.om" +b47: if (!(v_ok)) { goto b59; } +#line 247 "parse3.om" +b58: v61 = (u)my_leave; +#line 247 "parse3.om" + v62 = v_c; +#line 247 "parse3.om" + v63 = 0UL; +#line 247 "parse3.om" + v64 = ((u (*)())(v61))(v62, v63); +#line 248 "parse3.om" +b57: return v_ok; +#line 247 "parse3.om" +b59: v65 = (u)my_fail; +#line 247 "parse3.om" + v66 = v_c; +#line 247 "parse3.om" + v67 = ((u (*)())(v65))(v66); +#line 247 "parse3.om" + goto b57; +#line 245 "parse3.om" +b54: v_ok = 1UL; +#line 245 "parse3.om" + goto b47; +#line 239 "parse3.om" +b40: v46 = (u)my_commit; +#line 239 "parse3.om" + v47 = v_c; +#line 239 "parse3.om" + v48 = ((u (*)())(v46))(v47); +#line 239 "parse3.om" + goto b6; +#line 238 "parse3.om" +b44: v45 = 1UL; +#line 238 "parse3.om" + goto b45; +#line 237 "parse3.om" +b37: v42 = (u)my_fail; +#line 237 "parse3.om" + v43 = v_c; +#line 237 "parse3.om" + v44 = ((u (*)())(v42))(v43); +#line 237 "parse3.om" + goto b35; +#line 234 "parse3.om" +b31: v32 = 1UL; +#line 234 "parse3.om" + goto b32; +#line 231 "parse3.om" +b23: v25 = 1UL; +#line 231 "parse3.om" + goto b24; +#line 228 "parse3.om" +b15: v18 = 1UL; +#line 228 "parse3.om" + goto b16; } -u my_peg_P_else(u v_c) { +u my_peg_P_gt_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -45700,169 +45511,139 @@ u my_peg_P_else(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1806 "parse3.om" + u v30 = 0; + u v31 = 0; + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; + u v41 = 0; + u v42 = 0; +#line 1042 "parse3.om" b0: v2 = (u)my_enter; -#line 1806 "parse3.om" +#line 1042 "parse3.om" v3 = v_c; -#line 1806 "parse3.om" - v4 = 74UL; -#line 1806 "parse3.om" +#line 1042 "parse3.om" + v4 = 34UL; +#line 1042 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1807 "parse3.om" +#line 1043 "parse3.om" b1: v6 = (u)my_literal; -#line 1807 "parse3.om" +#line 1043 "parse3.om" v7 = v_c; -#line 1807 "parse3.om" - v8 = (u)"else"; -#line 1807 "parse3.om" +#line 1043 "parse3.om" + v8 = (u)">"; +#line 1043 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1807 "parse3.om" +#line 1043 "parse3.om" b2: v_ok = v9; -#line 1808 "parse3.om" +#line 1044 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1809 "parse3.om" +#line 1045 "parse3.om" b4: v10 = (u)my_choice; -#line 1809 "parse3.om" +#line 1045 "parse3.om" v11 = v_c; -#line 1809 "parse3.om" +#line 1045 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1810 "parse3.om" -b6: v13 = (u)my_charset; -#line 1810 "parse3.om" +#line 1046 "parse3.om" +b6: v13 = (u)my_literal; +#line 1046 "parse3.om" v14 = v_c; -#line 1810 "parse3.om" - v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1810 "parse3.om" +#line 1046 "parse3.om" + v15 = (u)"="; +#line 1046 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1810 "parse3.om" +#line 1046 "parse3.om" b7: v_ok = v16; -#line 1811 "parse3.om" +#line 1047 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1811 "parse3.om" +#line 1047 "parse3.om" b9: v17 = (u)my_fail; -#line 1811 "parse3.om" +#line 1047 "parse3.om" v18 = v_c; -#line 1811 "parse3.om" +#line 1047 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1811 "parse3.om" +#line 1047 "parse3.om" b11: v20 = (u)my_fail; -#line 1811 "parse3.om" +#line 1047 "parse3.om" v21 = v_c; -#line 1811 "parse3.om" +#line 1047 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1811 "parse3.om" +#line 1047 "parse3.om" b12: v_ok = 0UL; -#line 1811 "parse3.om" +#line 1047 "parse3.om" goto b3; -#line 1813 "parse3.om" -b3: if (!(v_ok)) { goto b15; } -#line 1813 "parse3.om" -b14: v23 = (u)my_leave; -#line 1813 "parse3.om" +#line 1049 "parse3.om" +b3: if (!(v_ok)) { goto b13; } +#line 1050 "parse3.om" +b14: v23 = (u)my_choice; +#line 1050 "parse3.om" v24 = v_c; -#line 1813 "parse3.om" - v25 = 74UL; -#line 1813 "parse3.om" - v26 = ((u (*)())(v23))(v24, v25); -#line 1814 "parse3.om" -b13: return v_ok; -#line 1813 "parse3.om" -b15: v27 = (u)my_fail; -#line 1813 "parse3.om" - v28 = v_c; -#line 1813 "parse3.om" - v29 = ((u (*)())(v27))(v28); -#line 1813 "parse3.om" +#line 1050 "parse3.om" + v25 = ((u (*)())(v23))(v24); +#line 1051 "parse3.om" +b16: v26 = (u)my_literal; +#line 1051 "parse3.om" + v27 = v_c; +#line 1051 "parse3.om" + v28 = (u)">"; +#line 1051 "parse3.om" + v29 = ((u (*)())(v26))(v27, v28); +#line 1051 "parse3.om" +b17: v_ok = v29; +#line 1052 "parse3.om" + if (!(v_ok)) { goto b20; } +#line 1052 "parse3.om" +b19: v30 = (u)my_fail; +#line 1052 "parse3.om" + v31 = v_c; +#line 1052 "parse3.om" + v32 = ((u (*)())(v30))(v31); +#line 1052 "parse3.om" +b21: v33 = (u)my_fail; +#line 1052 "parse3.om" + v34 = v_c; +#line 1052 "parse3.om" + v35 = ((u (*)())(v33))(v34); +#line 1052 "parse3.om" +b22: v_ok = 0UL; +#line 1052 "parse3.om" goto b13; -#line 1811 "parse3.om" +#line 1054 "parse3.om" +b13: if (!(v_ok)) { goto b25; } +#line 1054 "parse3.om" +b24: v36 = (u)my_leave; +#line 1054 "parse3.om" + v37 = v_c; +#line 1054 "parse3.om" + v38 = 34UL; +#line 1054 "parse3.om" + v39 = ((u (*)())(v36))(v37, v38); +#line 1055 "parse3.om" +b23: return v_ok; +#line 1054 "parse3.om" +b25: v40 = (u)my_fail; +#line 1054 "parse3.om" + v41 = v_c; +#line 1054 "parse3.om" + v42 = ((u (*)())(v40))(v41); +#line 1054 "parse3.om" + goto b23; +#line 1052 "parse3.om" +b20: v_ok = 1UL; +#line 1052 "parse3.om" + goto b13; +#line 1047 "parse3.om" b10: v_ok = 1UL; -#line 1811 "parse3.om" - goto b3; -} -u my_peg_P_else_stmt(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; -#line 662 "parse3.om" -b0: v2 = (u)my_enter; -#line 662 "parse3.om" - v3 = v_c; -#line 662 "parse3.om" - v4 = 14UL; -#line 662 "parse3.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 663 "parse3.om" -b1: v6 = (u)my_peg_P_else; -#line 663 "parse3.om" - v7 = v_c; -#line 663 "parse3.om" - v8 = ((u (*)())(v6))(v7); -#line 663 "parse3.om" -b2: v_ok = v8; -#line 664 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 665 "parse3.om" -b4: v9 = (u)my_peg_P_sp; -#line 665 "parse3.om" - v10 = v_c; -#line 665 "parse3.om" - v11 = ((u (*)())(v9))(v10); -#line 665 "parse3.om" -b6: v_ok = v11; -#line 665 "parse3.om" +#line 1047 "parse3.om" goto b3; -#line 667 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 668 "parse3.om" -b8: v12 = (u)my_peg_P_compound_stmt; -#line 668 "parse3.om" - v13 = v_c; -#line 668 "parse3.om" - v14 = ((u (*)())(v12))(v13); -#line 668 "parse3.om" -b10: v_ok = v14; -#line 668 "parse3.om" - goto b7; -#line 670 "parse3.om" -b7: if (!(v_ok)) { goto b13; } -#line 670 "parse3.om" -b12: v15 = (u)my_leave; -#line 670 "parse3.om" - v16 = v_c; -#line 670 "parse3.om" - v17 = 14UL; -#line 670 "parse3.om" - v18 = ((u (*)())(v15))(v16, v17); -#line 671 "parse3.om" -b11: return v_ok; -#line 670 "parse3.om" -b13: v19 = (u)my_fail; -#line 670 "parse3.om" - v20 = v_c; -#line 670 "parse3.om" - v21 = ((u (*)())(v19))(v20); -#line 670 "parse3.om" - goto b11; } -u my_peg_P_empty_stmt(u v_c) { +u my_peg_P_hex(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -45882,58 +45663,112 @@ u my_peg_P_empty_stmt(u v_c) { u v17 = 0; u v18 = 0; u v19 = 0; -#line 891 "parse3.om" + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; + u v30 = 0; + u v31 = 0; +#line 1603 "parse3.om" b0: v2 = (u)my_enter; -#line 891 "parse3.om" +#line 1603 "parse3.om" v3 = v_c; -#line 891 "parse3.om" - v4 = 25UL; -#line 891 "parse3.om" +#line 1603 "parse3.om" + v4 = 65UL; +#line 1603 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 892 "parse3.om" +#line 1604 "parse3.om" b1: v6 = (u)my_literal; -#line 892 "parse3.om" +#line 1604 "parse3.om" v7 = v_c; -#line 892 "parse3.om" - v8 = (u)";"; -#line 892 "parse3.om" +#line 1604 "parse3.om" + v8 = (u)"0x"; +#line 1604 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 892 "parse3.om" +#line 1604 "parse3.om" b2: v_ok = v9; -#line 893 "parse3.om" +#line 1605 "parse3.om" if (!(v_ok)) { goto b3; } -#line 894 "parse3.om" -b4: v10 = (u)my_peg_P_sp; -#line 894 "parse3.om" +#line 1606 "parse3.om" +b4: v10 = (u)my_charset; +#line 1606 "parse3.om" v11 = v_c; -#line 894 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 894 "parse3.om" -b6: v_ok = v12; -#line 894 "parse3.om" - goto b3; -#line 896 "parse3.om" -b3: if (!(v_ok)) { goto b9; } -#line 896 "parse3.om" -b8: v13 = (u)my_leave; -#line 896 "parse3.om" - v14 = v_c; -#line 896 "parse3.om" - v15 = 25UL; -#line 896 "parse3.om" - v16 = ((u (*)())(v13))(v14, v15); -#line 897 "parse3.om" -b7: return v_ok; -#line 896 "parse3.om" -b9: v17 = (u)my_fail; -#line 896 "parse3.om" +#line 1606 "parse3.om" + v12 = (u)"0123456789ABCDEF_abcdef"; +#line 1606 "parse3.om" + v13 = ((u (*)())(v10))(v11, v12); +#line 1606 "parse3.om" +b6: v_ok = v13; +#line 1607 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 1609 "parse3.om" +b10: v14 = (u)my_choice; +#line 1609 "parse3.om" + v15 = v_c; +#line 1609 "parse3.om" + v16 = ((u (*)())(v14))(v15); +#line 1610 "parse3.om" +b12: v17 = (u)my_charset; +#line 1610 "parse3.om" v18 = v_c; -#line 896 "parse3.om" - v19 = ((u (*)())(v17))(v18); -#line 896 "parse3.om" - goto b7; +#line 1610 "parse3.om" + v19 = (u)"0123456789ABCDEF_abcdef"; +#line 1610 "parse3.om" + v20 = ((u (*)())(v17))(v18, v19); +#line 1610 "parse3.om" +b13: v_ok = v20; +#line 1611 "parse3.om" + if (!(v_ok)) { goto b18; } +#line 1611 "parse3.om" +b17: v21 = 0UL; +#line 1611 "parse3.om" + goto b19; +#line 1611 "parse3.om" +b19: if (!(v21)) { goto b14; } +#line 1611 "parse3.om" +b15: v_ok = 1UL; +#line 1611 "parse3.om" + goto b3; +#line 1616 "parse3.om" +b3: if (!(v_ok)) { goto b23; } +#line 1616 "parse3.om" +b22: v25 = (u)my_leave; +#line 1616 "parse3.om" + v26 = v_c; +#line 1616 "parse3.om" + v27 = 65UL; +#line 1616 "parse3.om" + v28 = ((u (*)())(v25))(v26, v27); +#line 1617 "parse3.om" +b21: return v_ok; +#line 1616 "parse3.om" +b23: v29 = (u)my_fail; +#line 1616 "parse3.om" + v30 = v_c; +#line 1616 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 1616 "parse3.om" + goto b21; +#line 1612 "parse3.om" +b14: v22 = (u)my_commit; +#line 1612 "parse3.om" + v23 = v_c; +#line 1612 "parse3.om" + v24 = ((u (*)())(v22))(v23); +#line 1612 "parse3.om" + goto b10; +#line 1611 "parse3.om" +b18: v21 = 1UL; +#line 1611 "parse3.om" + goto b19; } -u my_peg_P_enum(u v_c) { +u my_peg_P_ident(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -45963,86 +45798,138 @@ u my_peg_P_enum(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1871 "parse3.om" + u v30 = 0; + u v31 = 0; + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; +#line 2018 "parse3.om" b0: v2 = (u)my_enter; -#line 1871 "parse3.om" +#line 2018 "parse3.om" v3 = v_c; -#line 1871 "parse3.om" - v4 = 79UL; -#line 1871 "parse3.om" +#line 2018 "parse3.om" + v4 = 88UL; +#line 2018 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1872 "parse3.om" -b1: v6 = (u)my_literal; -#line 1872 "parse3.om" +#line 2019 "parse3.om" +b1: v6 = (u)my_choice; +#line 2019 "parse3.om" v7 = v_c; -#line 1872 "parse3.om" - v8 = (u)"enum"; -#line 1872 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 1872 "parse3.om" -b2: v_ok = v9; -#line 1873 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 1874 "parse3.om" -b4: v10 = (u)my_choice; -#line 1874 "parse3.om" - v11 = v_c; -#line 1874 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 1875 "parse3.om" -b6: v13 = (u)my_charset; -#line 1875 "parse3.om" - v14 = v_c; -#line 1875 "parse3.om" - v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1875 "parse3.om" - v16 = ((u (*)())(v13))(v14, v15); -#line 1875 "parse3.om" -b7: v_ok = v16; -#line 1876 "parse3.om" - if (!(v_ok)) { goto b10; } -#line 1876 "parse3.om" -b9: v17 = (u)my_fail; -#line 1876 "parse3.om" - v18 = v_c; -#line 1876 "parse3.om" - v19 = ((u (*)())(v17))(v18); -#line 1876 "parse3.om" -b11: v20 = (u)my_fail; -#line 1876 "parse3.om" - v21 = v_c; -#line 1876 "parse3.om" - v22 = ((u (*)())(v20))(v21); -#line 1876 "parse3.om" -b12: v_ok = 0UL; -#line 1876 "parse3.om" - goto b3; -#line 1878 "parse3.om" -b3: if (!(v_ok)) { goto b15; } -#line 1878 "parse3.om" -b14: v23 = (u)my_leave; -#line 1878 "parse3.om" - v24 = v_c; -#line 1878 "parse3.om" - v25 = 79UL; -#line 1878 "parse3.om" - v26 = ((u (*)())(v23))(v24, v25); -#line 1879 "parse3.om" -b13: return v_ok; -#line 1878 "parse3.om" -b15: v27 = (u)my_fail; -#line 1878 "parse3.om" - v28 = v_c; -#line 1878 "parse3.om" - v29 = ((u (*)())(v27))(v28); -#line 1878 "parse3.om" +#line 2019 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 2020 "parse3.om" +b2: v9 = (u)my_peg_P_reserved; +#line 2020 "parse3.om" + v10 = v_c; +#line 2020 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 2020 "parse3.om" +b3: v_ok = v11; +#line 2021 "parse3.om" + if (!(v_ok)) { goto b6; } +#line 2021 "parse3.om" +b5: v12 = (u)my_fail; +#line 2021 "parse3.om" + v13 = v_c; +#line 2021 "parse3.om" + v14 = ((u (*)())(v12))(v13); +#line 2021 "parse3.om" +b7: v15 = (u)my_fail; +#line 2021 "parse3.om" + v16 = v_c; +#line 2021 "parse3.om" + v17 = ((u (*)())(v15))(v16); +#line 2021 "parse3.om" +b8: v_ok = 0UL; +#line 2021 "parse3.om" + goto b4; +#line 2022 "parse3.om" +b4: if (!(v_ok)) { goto b9; } +#line 2023 "parse3.om" +b10: v18 = (u)my_charset; +#line 2023 "parse3.om" + v19 = v_c; +#line 2023 "parse3.om" + v20 = (u)"ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 2023 "parse3.om" + v21 = ((u (*)())(v18))(v19, v20); +#line 2023 "parse3.om" +b12: v_ok = v21; +#line 2023 "parse3.om" + goto b9; +#line 2025 "parse3.om" +b9: if (!(v_ok)) { goto b13; } +#line 2027 "parse3.om" +b16: v22 = (u)my_choice; +#line 2027 "parse3.om" + v23 = v_c; +#line 2027 "parse3.om" + v24 = ((u (*)())(v22))(v23); +#line 2028 "parse3.om" +b18: v25 = (u)my_charset; +#line 2028 "parse3.om" + v26 = v_c; +#line 2028 "parse3.om" + v27 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 2028 "parse3.om" + v28 = ((u (*)())(v25))(v26, v27); +#line 2028 "parse3.om" +b19: v_ok = v28; +#line 2029 "parse3.om" + if (!(v_ok)) { goto b24; } +#line 2029 "parse3.om" +b23: v29 = 0UL; +#line 2029 "parse3.om" + goto b25; +#line 2029 "parse3.om" +b25: if (!(v29)) { goto b20; } +#line 2029 "parse3.om" +b21: v_ok = 1UL; +#line 2029 "parse3.om" goto b13; -#line 1876 "parse3.om" -b10: v_ok = 1UL; -#line 1876 "parse3.om" - goto b3; +#line 2033 "parse3.om" +b13: if (!(v_ok)) { goto b29; } +#line 2033 "parse3.om" +b28: v33 = (u)my_leave; +#line 2033 "parse3.om" + v34 = v_c; +#line 2033 "parse3.om" + v35 = 88UL; +#line 2033 "parse3.om" + v36 = ((u (*)())(v33))(v34, v35); +#line 2034 "parse3.om" +b27: return v_ok; +#line 2033 "parse3.om" +b29: v37 = (u)my_fail; +#line 2033 "parse3.om" + v38 = v_c; +#line 2033 "parse3.om" + v39 = ((u (*)())(v37))(v38); +#line 2033 "parse3.om" + goto b27; +#line 2030 "parse3.om" +b20: v30 = (u)my_commit; +#line 2030 "parse3.om" + v31 = v_c; +#line 2030 "parse3.om" + v32 = ((u (*)())(v30))(v31); +#line 2030 "parse3.om" + goto b16; +#line 2029 "parse3.om" +b24: v29 = 1UL; +#line 2029 "parse3.om" + goto b25; +#line 2021 "parse3.om" +b6: v_ok = 1UL; +#line 2021 "parse3.om" + goto b4; } -u my_peg_P_enum_decl(u v_c) { +u my_peg_P_if(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -46072,286 +45959,86 @@ u my_peg_P_enum_decl(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; - u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; - u v44 = 0; - u v45 = 0; - u v46 = 0; - u v47 = 0; - u v48 = 0; - u v49 = 0; - u v50 = 0; - u v51 = 0; - u v52 = 0; - u v53 = 0; - u v54 = 0; - u v55 = 0; - u v56 = 0; - u v57 = 0; - u v58 = 0; - u v59 = 0; - u v60 = 0; - u v61 = 0; - u v62 = 0; - u v63 = 0; - u v64 = 0; - u v65 = 0; - u v66 = 0; - u v67 = 0; - u v68 = 0; - u v69 = 0; - u v70 = 0; - u v71 = 0; -#line 245 "parse3.om" +#line 1823 "parse3.om" b0: v2 = (u)my_enter; -#line 245 "parse3.om" +#line 1823 "parse3.om" v3 = v_c; -#line 245 "parse3.om" - v4 = 2UL; -#line 245 "parse3.om" +#line 1823 "parse3.om" + v4 = 73UL; +#line 1823 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 246 "parse3.om" -b1: v6 = (u)my_peg_P_enum; -#line 246 "parse3.om" +#line 1824 "parse3.om" +b1: v6 = (u)my_literal; +#line 1824 "parse3.om" v7 = v_c; -#line 246 "parse3.om" - v8 = ((u (*)())(v6))(v7); -#line 246 "parse3.om" -b2: v_ok = v8; -#line 247 "parse3.om" +#line 1824 "parse3.om" + v8 = (u)"if"; +#line 1824 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 1824 "parse3.om" +b2: v_ok = v9; +#line 1825 "parse3.om" if (!(v_ok)) { goto b3; } -#line 248 "parse3.om" -b4: v9 = (u)my_peg_P_sp; -#line 248 "parse3.om" - v10 = v_c; -#line 248 "parse3.om" - v11 = ((u (*)())(v9))(v10); -#line 248 "parse3.om" -b6: v_ok = v11; -#line 248 "parse3.om" - goto b3; -#line 250 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 251 "parse3.om" -b8: v12 = (u)my_literal; -#line 251 "parse3.om" - v13 = v_c; -#line 251 "parse3.om" - v14 = (u)"{"; -#line 251 "parse3.om" - v15 = ((u (*)())(v12))(v13, v14); -#line 251 "parse3.om" -b10: v_ok = v15; -#line 251 "parse3.om" - goto b7; -#line 253 "parse3.om" -b7: if (!(v_ok)) { goto b11; } -#line 254 "parse3.om" -b12: v16 = (u)my_peg_P_sp; -#line 254 "parse3.om" - v17 = v_c; -#line 254 "parse3.om" - v18 = ((u (*)())(v16))(v17); -#line 254 "parse3.om" -b14: v_ok = v18; -#line 254 "parse3.om" - goto b11; -#line 256 "parse3.om" -b11: if (!(v_ok)) { goto b15; } -#line 257 "parse3.om" -b16: v19 = (u)my_choice; -#line 257 "parse3.om" - v20 = v_c; -#line 257 "parse3.om" - v21 = ((u (*)())(v19))(v20); -#line 258 "parse3.om" -b18: v22 = (u)my_peg_P_enum_item; -#line 258 "parse3.om" - v23 = v_c; -#line 258 "parse3.om" - v24 = ((u (*)())(v22))(v23); -#line 258 "parse3.om" -b19: v_ok = v24; -#line 259 "parse3.om" - if (!(v_ok)) { goto b20; } -#line 261 "parse3.om" -b23: v25 = (u)my_choice; -#line 261 "parse3.om" - v26 = v_c; -#line 261 "parse3.om" - v27 = ((u (*)())(v25))(v26); -#line 262 "parse3.om" -b25: v28 = (u)my_literal; -#line 262 "parse3.om" - v29 = v_c; -#line 262 "parse3.om" - v30 = (u)","; -#line 262 "parse3.om" - v31 = ((u (*)())(v28))(v29, v30); -#line 262 "parse3.om" -b26: v_ok = v31; -#line 263 "parse3.om" - if (!(v_ok)) { goto b27; } -#line 264 "parse3.om" -b28: v32 = (u)my_peg_P_sp; -#line 264 "parse3.om" - v33 = v_c; -#line 264 "parse3.om" - v34 = ((u (*)())(v32))(v33); -#line 264 "parse3.om" -b30: v_ok = v34; -#line 264 "parse3.om" - goto b27; -#line 266 "parse3.om" -b27: if (!(v_ok)) { goto b31; } -#line 267 "parse3.om" -b32: v35 = (u)my_peg_P_enum_item; -#line 267 "parse3.om" - v36 = v_c; -#line 267 "parse3.om" - v37 = ((u (*)())(v35))(v36); -#line 267 "parse3.om" -b34: v_ok = v37; -#line 267 "parse3.om" - goto b31; -#line 269 "parse3.om" -b31: if (!(v_ok)) { goto b39; } -#line 269 "parse3.om" -b38: v38 = 0UL; -#line 269 "parse3.om" - goto b40; -#line 269 "parse3.om" -b40: if (!(v38)) { goto b35; } -#line 269 "parse3.om" -b36: v_ok = 1UL; -#line 269 "parse3.om" - goto b20; -#line 273 "parse3.om" -b20: if (!(v_ok)) { goto b44; } -#line 273 "parse3.om" -b43: v42 = (u)my_commit; -#line 273 "parse3.om" - v43 = v_c; -#line 273 "parse3.om" - v44 = ((u (*)())(v42))(v43); -#line 275 "parse3.om" -b15: if (!(v_ok)) { goto b46; } -#line 276 "parse3.om" -b47: v45 = (u)my_choice; -#line 276 "parse3.om" - v46 = v_c; -#line 276 "parse3.om" - v47 = ((u (*)())(v45))(v46); -#line 277 "parse3.om" -b49: v48 = (u)my_literal; -#line 277 "parse3.om" - v49 = v_c; -#line 277 "parse3.om" - v50 = (u)","; -#line 277 "parse3.om" - v51 = ((u (*)())(v48))(v49, v50); -#line 277 "parse3.om" -b50: v_ok = v51; -#line 278 "parse3.om" - if (!(v_ok)) { goto b51; } -#line 279 "parse3.om" -b52: v52 = (u)my_peg_P_sp; -#line 279 "parse3.om" - v53 = v_c; -#line 279 "parse3.om" - v54 = ((u (*)())(v52))(v53); -#line 279 "parse3.om" -b54: v_ok = v54; -#line 279 "parse3.om" - goto b51; -#line 281 "parse3.om" -b51: if (!(v_ok)) { goto b57; } -#line 281 "parse3.om" -b56: v55 = (u)my_commit; -#line 281 "parse3.om" - v56 = v_c; -#line 281 "parse3.om" - v57 = ((u (*)())(v55))(v56); -#line 283 "parse3.om" -b46: if (!(v_ok)) { goto b59; } -#line 284 "parse3.om" -b60: v58 = (u)my_literal; -#line 284 "parse3.om" - v59 = v_c; -#line 284 "parse3.om" - v60 = (u)"}"; -#line 284 "parse3.om" - v61 = ((u (*)())(v58))(v59, v60); -#line 284 "parse3.om" -b62: v_ok = v61; -#line 284 "parse3.om" - goto b59; -#line 286 "parse3.om" -b59: if (!(v_ok)) { goto b63; } -#line 287 "parse3.om" -b64: v62 = (u)my_peg_P_sp; -#line 287 "parse3.om" - v63 = v_c; -#line 287 "parse3.om" - v64 = ((u (*)())(v62))(v63); -#line 287 "parse3.om" -b66: v_ok = v64; -#line 287 "parse3.om" - goto b63; -#line 289 "parse3.om" -b63: if (!(v_ok)) { goto b69; } -#line 289 "parse3.om" -b68: v65 = (u)my_leave; -#line 289 "parse3.om" - v66 = v_c; -#line 289 "parse3.om" - v67 = 2UL; -#line 289 "parse3.om" - v68 = ((u (*)())(v65))(v66, v67); -#line 290 "parse3.om" -b67: return v_ok; -#line 289 "parse3.om" -b69: v69 = (u)my_fail; -#line 289 "parse3.om" - v70 = v_c; -#line 289 "parse3.om" - v71 = ((u (*)())(v69))(v70); -#line 289 "parse3.om" - goto b67; -#line 281 "parse3.om" -b57: v_ok = 1UL; -#line 281 "parse3.om" - goto b46; -#line 273 "parse3.om" -b44: v_ok = 1UL; -#line 273 "parse3.om" - goto b15; -#line 270 "parse3.om" -b35: v39 = (u)my_commit; -#line 270 "parse3.om" - v40 = v_c; -#line 270 "parse3.om" - v41 = ((u (*)())(v39))(v40); -#line 270 "parse3.om" - goto b23; -#line 269 "parse3.om" -b39: v38 = 1UL; -#line 269 "parse3.om" - goto b40; +#line 1826 "parse3.om" +b4: v10 = (u)my_choice; +#line 1826 "parse3.om" + v11 = v_c; +#line 1826 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 1827 "parse3.om" +b6: v13 = (u)my_charset; +#line 1827 "parse3.om" + v14 = v_c; +#line 1827 "parse3.om" + v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 1827 "parse3.om" + v16 = ((u (*)())(v13))(v14, v15); +#line 1827 "parse3.om" +b7: v_ok = v16; +#line 1828 "parse3.om" + if (!(v_ok)) { goto b10; } +#line 1828 "parse3.om" +b9: v17 = (u)my_fail; +#line 1828 "parse3.om" + v18 = v_c; +#line 1828 "parse3.om" + v19 = ((u (*)())(v17))(v18); +#line 1828 "parse3.om" +b11: v20 = (u)my_fail; +#line 1828 "parse3.om" + v21 = v_c; +#line 1828 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 1828 "parse3.om" +b12: v_ok = 0UL; +#line 1828 "parse3.om" + goto b3; +#line 1830 "parse3.om" +b3: if (!(v_ok)) { goto b15; } +#line 1830 "parse3.om" +b14: v23 = (u)my_leave; +#line 1830 "parse3.om" + v24 = v_c; +#line 1830 "parse3.om" + v25 = 73UL; +#line 1830 "parse3.om" + v26 = ((u (*)())(v23))(v24, v25); +#line 1831 "parse3.om" +b13: return v_ok; +#line 1830 "parse3.om" +b15: v27 = (u)my_fail; +#line 1830 "parse3.om" + v28 = v_c; +#line 1830 "parse3.om" + v29 = ((u (*)())(v27))(v28); +#line 1830 "parse3.om" + goto b13; +#line 1828 "parse3.om" +b10: v_ok = 1UL; +#line 1828 "parse3.om" + goto b3; } -u my_peg_P_enum_item(u v_c) { +u my_peg_P_if_stmt(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -46386,110 +46073,157 @@ u my_peg_P_enum_item(u v_c) { u v32 = 0; u v33 = 0; u v34 = 0; -#line 223 "parse3.om" + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; + u v41 = 0; + u v42 = 0; + u v43 = 0; +#line 706 "parse3.om" b0: v2 = (u)my_enter; -#line 223 "parse3.om" +#line 706 "parse3.om" v3 = v_c; -#line 223 "parse3.om" - v4 = 1UL; -#line 223 "parse3.om" +#line 706 "parse3.om" + v4 = 15UL; +#line 706 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 224 "parse3.om" -b1: v6 = (u)my_peg_P_ident; -#line 224 "parse3.om" +#line 707 "parse3.om" +b1: v6 = (u)my_peg_P_if; +#line 707 "parse3.om" v7 = v_c; -#line 224 "parse3.om" +#line 707 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 224 "parse3.om" +#line 707 "parse3.om" b2: v_ok = v8; -#line 225 "parse3.om" +#line 708 "parse3.om" if (!(v_ok)) { goto b3; } -#line 226 "parse3.om" +#line 709 "parse3.om" b4: v9 = (u)my_peg_P_sp; -#line 226 "parse3.om" +#line 709 "parse3.om" v10 = v_c; -#line 226 "parse3.om" +#line 709 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 226 "parse3.om" +#line 709 "parse3.om" b6: v_ok = v11; -#line 226 "parse3.om" +#line 709 "parse3.om" goto b3; -#line 228 "parse3.om" +#line 711 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 229 "parse3.om" -b8: v12 = (u)my_choice; -#line 229 "parse3.om" +#line 712 "parse3.om" +b8: v12 = (u)my_peg_P_expr; +#line 712 "parse3.om" v13 = v_c; -#line 229 "parse3.om" +#line 712 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 230 "parse3.om" -b10: v15 = (u)my_literal; -#line 230 "parse3.om" +#line 712 "parse3.om" +b10: v_ok = v14; +#line 712 "parse3.om" + goto b7; +#line 714 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 715 "parse3.om" +b12: v15 = (u)my_peg_P_compound_stmt; +#line 715 "parse3.om" v16 = v_c; -#line 230 "parse3.om" - v17 = (u)"="; -#line 230 "parse3.om" - v18 = ((u (*)())(v15))(v16, v17); -#line 230 "parse3.om" -b11: v_ok = v18; -#line 231 "parse3.om" - if (!(v_ok)) { goto b12; } -#line 232 "parse3.om" -b13: v19 = (u)my_peg_P_sp; -#line 232 "parse3.om" - v20 = v_c; -#line 232 "parse3.om" - v21 = ((u (*)())(v19))(v20); -#line 232 "parse3.om" -b15: v_ok = v21; -#line 232 "parse3.om" - goto b12; -#line 234 "parse3.om" -b12: if (!(v_ok)) { goto b16; } -#line 235 "parse3.om" -b17: v22 = (u)my_peg_P_expr; -#line 235 "parse3.om" - v23 = v_c; -#line 235 "parse3.om" - v24 = ((u (*)())(v22))(v23); -#line 235 "parse3.om" -b19: v_ok = v24; -#line 235 "parse3.om" - goto b16; -#line 237 "parse3.om" -b16: if (!(v_ok)) { goto b22; } -#line 237 "parse3.om" -b21: v25 = (u)my_commit; -#line 237 "parse3.om" +#line 715 "parse3.om" + v17 = ((u (*)())(v15))(v16); +#line 715 "parse3.om" +b14: v_ok = v17; +#line 715 "parse3.om" + goto b11; +#line 717 "parse3.om" +b11: if (!(v_ok)) { goto b15; } +#line 719 "parse3.om" +b18: v18 = (u)my_choice; +#line 719 "parse3.om" + v19 = v_c; +#line 719 "parse3.om" + v20 = ((u (*)())(v18))(v19); +#line 720 "parse3.om" +b20: v21 = (u)my_peg_P_elif_stmt; +#line 720 "parse3.om" + v22 = v_c; +#line 720 "parse3.om" + v23 = ((u (*)())(v21))(v22); +#line 720 "parse3.om" +b21: v_ok = v23; +#line 721 "parse3.om" + if (!(v_ok)) { goto b26; } +#line 721 "parse3.om" +b25: v24 = 0UL; +#line 721 "parse3.om" + goto b27; +#line 721 "parse3.om" +b27: if (!(v24)) { goto b22; } +#line 721 "parse3.om" +b23: v_ok = 1UL; +#line 721 "parse3.om" + goto b15; +#line 725 "parse3.om" +b15: if (!(v_ok)) { goto b29; } +#line 726 "parse3.om" +b30: v28 = (u)my_choice; +#line 726 "parse3.om" + v29 = v_c; +#line 726 "parse3.om" + v30 = ((u (*)())(v28))(v29); +#line 727 "parse3.om" +b32: v31 = (u)my_peg_P_else_stmt; +#line 727 "parse3.om" + v32 = v_c; +#line 727 "parse3.om" + v33 = ((u (*)())(v31))(v32); +#line 727 "parse3.om" +b33: v_ok = v33; +#line 728 "parse3.om" + if (!(v_ok)) { goto b36; } +#line 728 "parse3.om" +b35: v34 = (u)my_commit; +#line 728 "parse3.om" + v35 = v_c; +#line 728 "parse3.om" + v36 = ((u (*)())(v34))(v35); +#line 730 "parse3.om" +b29: if (!(v_ok)) { goto b40; } +#line 730 "parse3.om" +b39: v37 = (u)my_leave; +#line 730 "parse3.om" + v38 = v_c; +#line 730 "parse3.om" + v39 = 15UL; +#line 730 "parse3.om" + v40 = ((u (*)())(v37))(v38, v39); +#line 731 "parse3.om" +b38: return v_ok; +#line 730 "parse3.om" +b40: v41 = (u)my_fail; +#line 730 "parse3.om" + v42 = v_c; +#line 730 "parse3.om" + v43 = ((u (*)())(v41))(v42); +#line 730 "parse3.om" + goto b38; +#line 728 "parse3.om" +b36: v_ok = 1UL; +#line 728 "parse3.om" + goto b29; +#line 722 "parse3.om" +b22: v25 = (u)my_commit; +#line 722 "parse3.om" v26 = v_c; -#line 237 "parse3.om" +#line 722 "parse3.om" v27 = ((u (*)())(v25))(v26); -#line 239 "parse3.om" -b7: if (!(v_ok)) { goto b26; } -#line 239 "parse3.om" -b25: v28 = (u)my_leave; -#line 239 "parse3.om" - v29 = v_c; -#line 239 "parse3.om" - v30 = 1UL; -#line 239 "parse3.om" - v31 = ((u (*)())(v28))(v29, v30); -#line 240 "parse3.om" -b24: return v_ok; -#line 239 "parse3.om" -b26: v32 = (u)my_fail; -#line 239 "parse3.om" - v33 = v_c; -#line 239 "parse3.om" - v34 = ((u (*)())(v32))(v33); -#line 239 "parse3.om" - goto b24; -#line 237 "parse3.om" -b22: v_ok = 1UL; -#line 237 "parse3.om" - goto b7; +#line 722 "parse3.om" + goto b18; +#line 721 "parse3.om" +b26: v24 = 1UL; +#line 721 "parse3.om" + goto b27; } -u my_peg_P_eq_op(u v_c) { +u my_peg_P_index_expr(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -46506,46 +46240,109 @@ u my_peg_P_eq_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1030 "parse3.om" + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; +#line 1394 "parse3.om" b0: v2 = (u)my_enter; -#line 1030 "parse3.om" +#line 1394 "parse3.om" v3 = v_c; -#line 1030 "parse3.om" - v4 = 35UL; -#line 1030 "parse3.om" +#line 1394 "parse3.om" + v4 = 58UL; +#line 1394 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1031 "parse3.om" +#line 1395 "parse3.om" b1: v6 = (u)my_literal; -#line 1031 "parse3.om" +#line 1395 "parse3.om" v7 = v_c; -#line 1031 "parse3.om" - v8 = (u)"=="; -#line 1031 "parse3.om" +#line 1395 "parse3.om" + v8 = (u)"["; +#line 1395 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1031 "parse3.om" +#line 1395 "parse3.om" b2: v_ok = v9; -#line 1032 "parse3.om" - if (!(v_ok)) { goto b5; } -#line 1032 "parse3.om" -b4: v10 = (u)my_leave; -#line 1032 "parse3.om" +#line 1396 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 1397 "parse3.om" +b4: v10 = (u)my_peg_P_sp; +#line 1397 "parse3.om" v11 = v_c; -#line 1032 "parse3.om" - v12 = 35UL; -#line 1032 "parse3.om" - v13 = ((u (*)())(v10))(v11, v12); -#line 1033 "parse3.om" -b3: return v_ok; -#line 1032 "parse3.om" -b5: v14 = (u)my_fail; -#line 1032 "parse3.om" - v15 = v_c; -#line 1032 "parse3.om" - v16 = ((u (*)())(v14))(v15); -#line 1032 "parse3.om" +#line 1397 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 1397 "parse3.om" +b6: v_ok = v12; +#line 1397 "parse3.om" goto b3; +#line 1399 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 1400 "parse3.om" +b8: v13 = (u)my_peg_P_expr; +#line 1400 "parse3.om" + v14 = v_c; +#line 1400 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 1400 "parse3.om" +b10: v_ok = v15; +#line 1400 "parse3.om" + goto b7; +#line 1402 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 1403 "parse3.om" +b12: v16 = (u)my_literal; +#line 1403 "parse3.om" + v17 = v_c; +#line 1403 "parse3.om" + v18 = (u)"]"; +#line 1403 "parse3.om" + v19 = ((u (*)())(v16))(v17, v18); +#line 1403 "parse3.om" +b14: v_ok = v19; +#line 1403 "parse3.om" + goto b11; +#line 1405 "parse3.om" +b11: if (!(v_ok)) { goto b15; } +#line 1406 "parse3.om" +b16: v20 = (u)my_peg_P_sp; +#line 1406 "parse3.om" + v21 = v_c; +#line 1406 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 1406 "parse3.om" +b18: v_ok = v22; +#line 1406 "parse3.om" + goto b15; +#line 1408 "parse3.om" +b15: if (!(v_ok)) { goto b21; } +#line 1408 "parse3.om" +b20: v23 = (u)my_leave; +#line 1408 "parse3.om" + v24 = v_c; +#line 1408 "parse3.om" + v25 = 58UL; +#line 1408 "parse3.om" + v26 = ((u (*)())(v23))(v24, v25); +#line 1409 "parse3.om" +b19: return v_ok; +#line 1408 "parse3.om" +b21: v27 = (u)my_fail; +#line 1408 "parse3.om" + v28 = v_c; +#line 1408 "parse3.om" + v29 = ((u (*)())(v27))(v28); +#line 1408 "parse3.om" + goto b19; } -u my_peg_P_expr(u v_c) { +u my_peg_P_int(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -46561,44 +46358,100 @@ u my_peg_P_expr(u v_c) { u v13 = 0; u v14 = 0; u v15 = 0; -#line 927 "parse3.om" + u v16 = 0; + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; +#line 1953 "parse3.om" b0: v2 = (u)my_enter; -#line 927 "parse3.om" +#line 1953 "parse3.om" v3 = v_c; -#line 927 "parse3.om" - v4 = 27UL; -#line 927 "parse3.om" +#line 1953 "parse3.om" + v4 = 83UL; +#line 1953 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 928 "parse3.om" -b1: v6 = (u)my_peg_P_bool_expr; -#line 928 "parse3.om" +#line 1954 "parse3.om" +b1: v6 = (u)my_literal; +#line 1954 "parse3.om" v7 = v_c; -#line 928 "parse3.om" - v8 = ((u (*)())(v6))(v7); -#line 928 "parse3.om" -b2: v_ok = v8; -#line 929 "parse3.om" - if (!(v_ok)) { goto b5; } -#line 929 "parse3.om" -b4: v9 = (u)my_leave; -#line 929 "parse3.om" - v10 = v_c; -#line 929 "parse3.om" - v11 = 27UL; -#line 929 "parse3.om" - v12 = ((u (*)())(v9))(v10, v11); -#line 930 "parse3.om" -b3: return v_ok; -#line 929 "parse3.om" -b5: v13 = (u)my_fail; -#line 929 "parse3.om" +#line 1954 "parse3.om" + v8 = (u)"int"; +#line 1954 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 1954 "parse3.om" +b2: v_ok = v9; +#line 1955 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 1956 "parse3.om" +b4: v10 = (u)my_choice; +#line 1956 "parse3.om" + v11 = v_c; +#line 1956 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 1957 "parse3.om" +b6: v13 = (u)my_charset; +#line 1957 "parse3.om" v14 = v_c; -#line 929 "parse3.om" - v15 = ((u (*)())(v13))(v14); -#line 929 "parse3.om" +#line 1957 "parse3.om" + v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 1957 "parse3.om" + v16 = ((u (*)())(v13))(v14, v15); +#line 1957 "parse3.om" +b7: v_ok = v16; +#line 1958 "parse3.om" + if (!(v_ok)) { goto b10; } +#line 1958 "parse3.om" +b9: v17 = (u)my_fail; +#line 1958 "parse3.om" + v18 = v_c; +#line 1958 "parse3.om" + v19 = ((u (*)())(v17))(v18); +#line 1958 "parse3.om" +b11: v20 = (u)my_fail; +#line 1958 "parse3.om" + v21 = v_c; +#line 1958 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 1958 "parse3.om" +b12: v_ok = 0UL; +#line 1958 "parse3.om" + goto b3; +#line 1960 "parse3.om" +b3: if (!(v_ok)) { goto b15; } +#line 1960 "parse3.om" +b14: v23 = (u)my_leave; +#line 1960 "parse3.om" + v24 = v_c; +#line 1960 "parse3.om" + v25 = 83UL; +#line 1960 "parse3.om" + v26 = ((u (*)())(v23))(v24, v25); +#line 1961 "parse3.om" +b13: return v_ok; +#line 1960 "parse3.om" +b15: v27 = (u)my_fail; +#line 1960 "parse3.om" + v28 = v_c; +#line 1960 "parse3.om" + v29 = ((u (*)())(v27))(v28); +#line 1960 "parse3.om" + goto b13; +#line 1958 "parse3.om" +b10: v_ok = 1UL; +#line 1958 "parse3.om" goto b3; } -u my_peg_P_expr_stmt(u v_c) { +u my_peg_P_label_stmt(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -46621,70 +46474,141 @@ u my_peg_P_expr_stmt(u v_c) { u v20 = 0; u v21 = 0; u v22 = 0; -#line 877 "parse3.om" + u v23 = 0; + u v24 = 0; + u v25 = 0; +#line 844 "parse3.om" b0: v2 = (u)my_enter; -#line 877 "parse3.om" +#line 844 "parse3.om" v3 = v_c; -#line 877 "parse3.om" - v4 = 24UL; -#line 877 "parse3.om" +#line 844 "parse3.om" + v4 = 21UL; +#line 844 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 878 "parse3.om" -b1: v6 = (u)my_peg_P_expr; -#line 878 "parse3.om" +#line 845 "parse3.om" +b1: v6 = (u)my_peg_P_ident; +#line 845 "parse3.om" v7 = v_c; -#line 878 "parse3.om" +#line 845 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 878 "parse3.om" +#line 845 "parse3.om" b2: v_ok = v8; -#line 879 "parse3.om" +#line 846 "parse3.om" if (!(v_ok)) { goto b3; } -#line 880 "parse3.om" -b4: v9 = (u)my_literal; -#line 880 "parse3.om" +#line 847 "parse3.om" +b4: v9 = (u)my_peg_P_sp; +#line 847 "parse3.om" v10 = v_c; -#line 880 "parse3.om" - v11 = (u)";"; -#line 880 "parse3.om" - v12 = ((u (*)())(v9))(v10, v11); -#line 880 "parse3.om" -b6: v_ok = v12; -#line 880 "parse3.om" +#line 847 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 847 "parse3.om" +b6: v_ok = v11; +#line 847 "parse3.om" goto b3; -#line 882 "parse3.om" +#line 849 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 883 "parse3.om" -b8: v13 = (u)my_peg_P_sp; -#line 883 "parse3.om" - v14 = v_c; -#line 883 "parse3.om" - v15 = ((u (*)())(v13))(v14); -#line 883 "parse3.om" +#line 850 "parse3.om" +b8: v12 = (u)my_literal; +#line 850 "parse3.om" + v13 = v_c; +#line 850 "parse3.om" + v14 = (u)":"; +#line 850 "parse3.om" + v15 = ((u (*)())(v12))(v13, v14); +#line 850 "parse3.om" b10: v_ok = v15; -#line 883 "parse3.om" +#line 850 "parse3.om" goto b7; -#line 885 "parse3.om" -b7: if (!(v_ok)) { goto b13; } -#line 885 "parse3.om" -b12: v16 = (u)my_leave; -#line 885 "parse3.om" +#line 852 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 853 "parse3.om" +b12: v16 = (u)my_peg_P_sp; +#line 853 "parse3.om" v17 = v_c; -#line 885 "parse3.om" - v18 = 24UL; -#line 885 "parse3.om" - v19 = ((u (*)())(v16))(v17, v18); -#line 886 "parse3.om" -b11: return v_ok; -#line 885 "parse3.om" -b13: v20 = (u)my_fail; -#line 885 "parse3.om" - v21 = v_c; -#line 885 "parse3.om" - v22 = ((u (*)())(v20))(v21); -#line 885 "parse3.om" +#line 853 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 853 "parse3.om" +b14: v_ok = v18; +#line 853 "parse3.om" goto b11; +#line 855 "parse3.om" +b11: if (!(v_ok)) { goto b17; } +#line 855 "parse3.om" +b16: v19 = (u)my_leave; +#line 855 "parse3.om" + v20 = v_c; +#line 855 "parse3.om" + v21 = 21UL; +#line 855 "parse3.om" + v22 = ((u (*)())(v19))(v20, v21); +#line 856 "parse3.om" +b15: return v_ok; +#line 855 "parse3.om" +b17: v23 = (u)my_fail; +#line 855 "parse3.om" + v24 = v_c; +#line 855 "parse3.om" + v25 = ((u (*)())(v23))(v24); +#line 855 "parse3.om" + goto b15; +} +u my_peg_P_le_op(u v_c) { + u v_ok = 0; + u v2 = 0; + u v3 = 0; + u v4 = 0; + u v5 = 0; + u v6 = 0; + u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; + u v16 = 0; +#line 1008 "parse3.om" +b0: v2 = (u)my_enter; +#line 1008 "parse3.om" + v3 = v_c; +#line 1008 "parse3.om" + v4 = 31UL; +#line 1008 "parse3.om" + v5 = ((u (*)())(v2))(v3, v4); +#line 1009 "parse3.om" +b1: v6 = (u)my_literal; +#line 1009 "parse3.om" + v7 = v_c; +#line 1009 "parse3.om" + v8 = (u)"<="; +#line 1009 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 1009 "parse3.om" +b2: v_ok = v9; +#line 1010 "parse3.om" + if (!(v_ok)) { goto b5; } +#line 1010 "parse3.om" +b4: v10 = (u)my_leave; +#line 1010 "parse3.om" + v11 = v_c; +#line 1010 "parse3.om" + v12 = 31UL; +#line 1010 "parse3.om" + v13 = ((u (*)())(v10))(v11, v12); +#line 1011 "parse3.om" +b3: return v_ok; +#line 1010 "parse3.om" +b5: v14 = (u)my_fail; +#line 1010 "parse3.om" + v15 = v_c; +#line 1010 "parse3.om" + v16 = ((u (*)())(v14))(v15); +#line 1010 "parse3.om" + goto b3; } -u my_peg_P_func(u v_c) { +u my_peg_P_loop(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -46714,86 +46638,86 @@ u my_peg_P_func(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1949 "parse3.om" +#line 1849 "parse3.om" b0: v2 = (u)my_enter; -#line 1949 "parse3.om" +#line 1849 "parse3.om" v3 = v_c; -#line 1949 "parse3.om" - v4 = 85UL; -#line 1949 "parse3.om" +#line 1849 "parse3.om" + v4 = 75UL; +#line 1849 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1950 "parse3.om" +#line 1850 "parse3.om" b1: v6 = (u)my_literal; -#line 1950 "parse3.om" +#line 1850 "parse3.om" v7 = v_c; -#line 1950 "parse3.om" - v8 = (u)"func"; -#line 1950 "parse3.om" +#line 1850 "parse3.om" + v8 = (u)"loop"; +#line 1850 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1950 "parse3.om" +#line 1850 "parse3.om" b2: v_ok = v9; -#line 1951 "parse3.om" +#line 1851 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1952 "parse3.om" +#line 1852 "parse3.om" b4: v10 = (u)my_choice; -#line 1952 "parse3.om" +#line 1852 "parse3.om" v11 = v_c; -#line 1952 "parse3.om" +#line 1852 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1953 "parse3.om" +#line 1853 "parse3.om" b6: v13 = (u)my_charset; -#line 1953 "parse3.om" +#line 1853 "parse3.om" v14 = v_c; -#line 1953 "parse3.om" +#line 1853 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1953 "parse3.om" +#line 1853 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1953 "parse3.om" +#line 1853 "parse3.om" b7: v_ok = v16; -#line 1954 "parse3.om" +#line 1854 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1954 "parse3.om" +#line 1854 "parse3.om" b9: v17 = (u)my_fail; -#line 1954 "parse3.om" +#line 1854 "parse3.om" v18 = v_c; -#line 1954 "parse3.om" +#line 1854 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1954 "parse3.om" +#line 1854 "parse3.om" b11: v20 = (u)my_fail; -#line 1954 "parse3.om" +#line 1854 "parse3.om" v21 = v_c; -#line 1954 "parse3.om" +#line 1854 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1954 "parse3.om" +#line 1854 "parse3.om" b12: v_ok = 0UL; -#line 1954 "parse3.om" +#line 1854 "parse3.om" goto b3; -#line 1956 "parse3.om" +#line 1856 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1956 "parse3.om" +#line 1856 "parse3.om" b14: v23 = (u)my_leave; -#line 1956 "parse3.om" +#line 1856 "parse3.om" v24 = v_c; -#line 1956 "parse3.om" - v25 = 85UL; -#line 1956 "parse3.om" +#line 1856 "parse3.om" + v25 = 75UL; +#line 1856 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1957 "parse3.om" +#line 1857 "parse3.om" b13: return v_ok; -#line 1956 "parse3.om" +#line 1856 "parse3.om" b15: v27 = (u)my_fail; -#line 1956 "parse3.om" +#line 1856 "parse3.om" v28 = v_c; -#line 1956 "parse3.om" +#line 1856 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1956 "parse3.om" +#line 1856 "parse3.om" goto b13; -#line 1954 "parse3.om" +#line 1854 "parse3.om" b10: v_ok = 1UL; -#line 1954 "parse3.om" +#line 1854 "parse3.om" goto b3; } -u my_peg_P_func_decl(u v_c) { +u my_peg_P_loop_stmt(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -46818,544 +46742,80 @@ u my_peg_P_func_decl(u v_c) { u v22 = 0; u v23 = 0; u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; - u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; - u v44 = 0; - u v45 = 0; - u v46 = 0; - u v47 = 0; - u v48 = 0; - u v49 = 0; - u v50 = 0; - u v51 = 0; -#line 395 "parse3.om" +#line 736 "parse3.om" b0: v2 = (u)my_enter; -#line 395 "parse3.om" +#line 736 "parse3.om" v3 = v_c; -#line 395 "parse3.om" - v4 = 6UL; -#line 395 "parse3.om" +#line 736 "parse3.om" + v4 = 16UL; +#line 736 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 396 "parse3.om" -b1: v6 = (u)my_literal; -#line 396 "parse3.om" +#line 737 "parse3.om" +b1: v6 = (u)my_peg_P_loop; +#line 737 "parse3.om" v7 = v_c; -#line 396 "parse3.om" - v8 = (u)"func"; -#line 396 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 396 "parse3.om" -b2: v_ok = v9; -#line 397 "parse3.om" +#line 737 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 737 "parse3.om" +b2: v_ok = v8; +#line 738 "parse3.om" if (!(v_ok)) { goto b3; } -#line 398 "parse3.om" -b4: v10 = (u)my_peg_P_sp; -#line 398 "parse3.om" - v11 = v_c; -#line 398 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 398 "parse3.om" -b6: v_ok = v12; -#line 398 "parse3.om" +#line 739 "parse3.om" +b4: v9 = (u)my_peg_P_sp; +#line 739 "parse3.om" + v10 = v_c; +#line 739 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 739 "parse3.om" +b6: v_ok = v11; +#line 739 "parse3.om" goto b3; -#line 400 "parse3.om" +#line 741 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 401 "parse3.om" -b8: v13 = (u)my_peg_P_ident; -#line 401 "parse3.om" - v14 = v_c; -#line 401 "parse3.om" - v15 = ((u (*)())(v13))(v14); -#line 401 "parse3.om" -b10: v_ok = v15; -#line 401 "parse3.om" +#line 742 "parse3.om" +b8: v12 = (u)my_peg_P_compound_stmt; +#line 742 "parse3.om" + v13 = v_c; +#line 742 "parse3.om" + v14 = ((u (*)())(v12))(v13); +#line 742 "parse3.om" +b10: v_ok = v14; +#line 742 "parse3.om" goto b7; -#line 403 "parse3.om" +#line 744 "parse3.om" b7: if (!(v_ok)) { goto b11; } -#line 404 "parse3.om" -b12: v16 = (u)my_peg_P_sp; -#line 404 "parse3.om" - v17 = v_c; -#line 404 "parse3.om" - v18 = ((u (*)())(v16))(v17); -#line 404 "parse3.om" -b14: v_ok = v18; -#line 404 "parse3.om" - goto b11; -#line 406 "parse3.om" -b11: if (!(v_ok)) { goto b15; } -#line 407 "parse3.om" -b16: v19 = (u)my_peg_P_func_type; -#line 407 "parse3.om" - v20 = v_c; -#line 407 "parse3.om" - v21 = ((u (*)())(v19))(v20); -#line 407 "parse3.om" -b18: v_ok = v21; -#line 407 "parse3.om" - goto b15; -#line 409 "parse3.om" -b15: if (!(v_ok)) { goto b19; } -#line 410 "parse3.om" -b20: v22 = (u)my_choice; -#line 410 "parse3.om" - v23 = v_c; -#line 410 "parse3.om" - v24 = ((u (*)())(v22))(v23); -#line 411 "parse3.om" -b22: v25 = (u)my_literal; -#line 411 "parse3.om" - v26 = v_c; -#line 411 "parse3.om" - v27 = (u)";"; -#line 411 "parse3.om" - v28 = ((u (*)())(v25))(v26, v27); -#line 411 "parse3.om" -b23: v_ok = v28; -#line 412 "parse3.om" - if (!(v_ok)) { goto b24; } -#line 413 "parse3.om" -b25: v29 = (u)my_peg_P_sp; -#line 413 "parse3.om" - v30 = v_c; -#line 413 "parse3.om" - v31 = ((u (*)())(v29))(v30); -#line 413 "parse3.om" -b27: v_ok = v31; -#line 413 "parse3.om" - goto b24; -#line 415 "parse3.om" -b24: if (!(v_ok)) { goto b32; } -#line 415 "parse3.om" -b31: v32 = 0UL; -#line 415 "parse3.om" - goto b33; -#line 415 "parse3.om" -b33: if (!(v32)) { goto b28; } -#line 415 "parse3.om" -b29: v33 = (u)my_choice; -#line 415 "parse3.om" - v34 = v_c; -#line 415 "parse3.om" - v35 = ((u (*)())(v33))(v34); -#line 416 "parse3.om" -b34: v36 = (u)my_peg_P_compound_stmt; -#line 416 "parse3.om" - v37 = v_c; -#line 416 "parse3.om" - v38 = ((u (*)())(v36))(v37); -#line 416 "parse3.om" -b35: v_ok = v38; -#line 416 "parse3.om" - goto b28; -#line 418 "parse3.om" -b28: if (!(v_ok)) { goto b38; } -#line 418 "parse3.om" -b37: v39 = (u)my_commit; -#line 418 "parse3.om" - v40 = v_c; -#line 418 "parse3.om" - v41 = ((u (*)())(v39))(v40); -#line 420 "parse3.om" -b19: if (!(v_ok)) { goto b43; } -#line 420 "parse3.om" -b42: v45 = (u)my_leave; -#line 420 "parse3.om" - v46 = v_c; -#line 420 "parse3.om" - v47 = 6UL; -#line 420 "parse3.om" - v48 = ((u (*)())(v45))(v46, v47); -#line 421 "parse3.om" -b41: return v_ok; -#line 420 "parse3.om" -b43: v49 = (u)my_fail; -#line 420 "parse3.om" - v50 = v_c; -#line 420 "parse3.om" - v51 = ((u (*)())(v49))(v50); -#line 420 "parse3.om" - goto b41; -#line 418 "parse3.om" -b38: v42 = (u)my_fail; -#line 418 "parse3.om" - v43 = v_c; -#line 418 "parse3.om" - v44 = ((u (*)())(v42))(v43); -#line 418 "parse3.om" - goto b19; -#line 415 "parse3.om" -b32: v32 = 1UL; -#line 415 "parse3.om" - goto b33; -} -u my_peg_P_func_type(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; - u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; - u v44 = 0; - u v45 = 0; - u v46 = 0; - u v47 = 0; - u v48 = 0; - u v49 = 0; - u v50 = 0; - u v51 = 0; - u v52 = 0; - u v53 = 0; - u v54 = 0; - u v55 = 0; - u v56 = 0; - u v57 = 0; - u v58 = 0; - u v59 = 0; - u v60 = 0; - u v61 = 0; - u v62 = 0; - u v63 = 0; - u v64 = 0; - u v65 = 0; - u v66 = 0; - u v67 = 0; - u v68 = 0; - u v69 = 0; - u v70 = 0; - u v71 = 0; - u v72 = 0; - u v73 = 0; - u v74 = 0; - u v75 = 0; - u v76 = 0; - u v77 = 0; - u v78 = 0; - u v79 = 0; - u v80 = 0; - u v81 = 0; -#line 541 "parse3.om" -b0: v2 = (u)my_enter; -#line 541 "parse3.om" - v3 = v_c; -#line 541 "parse3.om" - v4 = 11UL; -#line 541 "parse3.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 542 "parse3.om" -b1: v6 = (u)my_literal; -#line 542 "parse3.om" - v7 = v_c; -#line 542 "parse3.om" - v8 = (u)"("; -#line 542 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 542 "parse3.om" -b2: v_ok = v9; -#line 543 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 544 "parse3.om" -b4: v10 = (u)my_peg_P_sp; -#line 544 "parse3.om" - v11 = v_c; -#line 544 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 544 "parse3.om" -b6: v_ok = v12; -#line 544 "parse3.om" - goto b3; -#line 546 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 547 "parse3.om" -b8: v13 = (u)my_choice; -#line 547 "parse3.om" - v14 = v_c; -#line 547 "parse3.om" - v15 = ((u (*)())(v13))(v14); -#line 548 "parse3.om" -b10: v16 = (u)my_peg_P_arg_decl; -#line 548 "parse3.om" - v17 = v_c; -#line 548 "parse3.om" - v18 = ((u (*)())(v16))(v17); -#line 548 "parse3.om" -b11: v_ok = v18; -#line 549 "parse3.om" - if (!(v_ok)) { goto b12; } -#line 551 "parse3.om" -b15: v19 = (u)my_choice; -#line 551 "parse3.om" - v20 = v_c; -#line 551 "parse3.om" - v21 = ((u (*)())(v19))(v20); -#line 552 "parse3.om" -b17: v22 = (u)my_literal; -#line 552 "parse3.om" - v23 = v_c; -#line 552 "parse3.om" - v24 = (u)","; -#line 552 "parse3.om" - v25 = ((u (*)())(v22))(v23, v24); -#line 552 "parse3.om" -b18: v_ok = v25; -#line 553 "parse3.om" - if (!(v_ok)) { goto b19; } -#line 554 "parse3.om" -b20: v26 = (u)my_peg_P_sp; -#line 554 "parse3.om" - v27 = v_c; -#line 554 "parse3.om" - v28 = ((u (*)())(v26))(v27); -#line 554 "parse3.om" -b22: v_ok = v28; -#line 554 "parse3.om" - goto b19; -#line 556 "parse3.om" -b19: if (!(v_ok)) { goto b23; } -#line 557 "parse3.om" -b24: v29 = (u)my_peg_P_arg_decl; -#line 557 "parse3.om" - v30 = v_c; -#line 557 "parse3.om" - v31 = ((u (*)())(v29))(v30); -#line 557 "parse3.om" -b26: v_ok = v31; -#line 557 "parse3.om" - goto b23; -#line 559 "parse3.om" -b23: if (!(v_ok)) { goto b31; } -#line 559 "parse3.om" -b30: v32 = 0UL; -#line 559 "parse3.om" - goto b32; -#line 559 "parse3.om" -b32: if (!(v32)) { goto b27; } -#line 559 "parse3.om" -b28: v_ok = 1UL; -#line 559 "parse3.om" - goto b12; -#line 563 "parse3.om" -b12: if (!(v_ok)) { goto b36; } -#line 563 "parse3.om" -b35: v36 = (u)my_commit; -#line 563 "parse3.om" - v37 = v_c; -#line 563 "parse3.om" - v38 = ((u (*)())(v36))(v37); -#line 565 "parse3.om" -b7: if (!(v_ok)) { goto b38; } -#line 566 "parse3.om" -b39: v39 = (u)my_choice; -#line 566 "parse3.om" - v40 = v_c; -#line 566 "parse3.om" - v41 = ((u (*)())(v39))(v40); -#line 567 "parse3.om" -b41: v42 = (u)my_literal; -#line 567 "parse3.om" - v43 = v_c; -#line 567 "parse3.om" - v44 = (u)","; -#line 567 "parse3.om" - v45 = ((u (*)())(v42))(v43, v44); -#line 567 "parse3.om" -b42: v_ok = v45; -#line 568 "parse3.om" - if (!(v_ok)) { goto b43; } -#line 569 "parse3.om" -b44: v46 = (u)my_peg_P_sp; -#line 569 "parse3.om" - v47 = v_c; -#line 569 "parse3.om" - v48 = ((u (*)())(v46))(v47); -#line 569 "parse3.om" -b46: v_ok = v48; -#line 569 "parse3.om" - goto b43; -#line 571 "parse3.om" -b43: if (!(v_ok)) { goto b49; } -#line 571 "parse3.om" -b48: v49 = (u)my_commit; -#line 571 "parse3.om" - v50 = v_c; -#line 571 "parse3.om" - v51 = ((u (*)())(v49))(v50); -#line 573 "parse3.om" -b38: if (!(v_ok)) { goto b51; } -#line 574 "parse3.om" -b52: v52 = (u)my_literal; -#line 574 "parse3.om" - v53 = v_c; -#line 574 "parse3.om" - v54 = (u)")"; -#line 574 "parse3.om" - v55 = ((u (*)())(v52))(v53, v54); -#line 574 "parse3.om" -b54: v_ok = v55; -#line 574 "parse3.om" - goto b51; -#line 576 "parse3.om" -b51: if (!(v_ok)) { goto b55; } -#line 577 "parse3.om" -b56: v56 = (u)my_peg_P_sp; -#line 577 "parse3.om" - v57 = v_c; -#line 577 "parse3.om" - v58 = ((u (*)())(v56))(v57); -#line 577 "parse3.om" -b58: v_ok = v58; -#line 577 "parse3.om" - goto b55; -#line 579 "parse3.om" -b55: if (!(v_ok)) { goto b59; } -#line 580 "parse3.om" -b60: v59 = (u)my_choice; -#line 580 "parse3.om" - v60 = v_c; -#line 580 "parse3.om" - v61 = ((u (*)())(v59))(v60); -#line 581 "parse3.om" -b62: v62 = (u)my_literal; -#line 581 "parse3.om" - v63 = v_c; -#line 581 "parse3.om" - v64 = (u)":"; -#line 581 "parse3.om" - v65 = ((u (*)())(v62))(v63, v64); -#line 581 "parse3.om" -b63: v_ok = v65; -#line 582 "parse3.om" - if (!(v_ok)) { goto b64; } -#line 583 "parse3.om" -b65: v66 = (u)my_peg_P_sp; -#line 583 "parse3.om" - v67 = v_c; -#line 583 "parse3.om" - v68 = ((u (*)())(v66))(v67); -#line 583 "parse3.om" -b67: v_ok = v68; -#line 583 "parse3.om" - goto b64; -#line 585 "parse3.om" -b64: if (!(v_ok)) { goto b68; } -#line 586 "parse3.om" -b69: v69 = (u)my_peg_P_type; -#line 586 "parse3.om" - v70 = v_c; -#line 586 "parse3.om" - v71 = ((u (*)())(v69))(v70); -#line 586 "parse3.om" -b71: v_ok = v71; -#line 586 "parse3.om" - goto b68; -#line 588 "parse3.om" -b68: if (!(v_ok)) { goto b74; } -#line 588 "parse3.om" -b73: v72 = (u)my_commit; -#line 588 "parse3.om" - v73 = v_c; -#line 588 "parse3.om" - v74 = ((u (*)())(v72))(v73); -#line 590 "parse3.om" -b59: if (!(v_ok)) { goto b78; } -#line 590 "parse3.om" -b77: v75 = (u)my_leave; -#line 590 "parse3.om" - v76 = v_c; -#line 590 "parse3.om" - v77 = 11UL; -#line 590 "parse3.om" - v78 = ((u (*)())(v75))(v76, v77); -#line 591 "parse3.om" -b76: return v_ok; -#line 590 "parse3.om" -b78: v79 = (u)my_fail; -#line 590 "parse3.om" - v80 = v_c; -#line 590 "parse3.om" - v81 = ((u (*)())(v79))(v80); -#line 590 "parse3.om" - goto b76; -#line 588 "parse3.om" -b74: v_ok = 1UL; -#line 588 "parse3.om" - goto b59; -#line 571 "parse3.om" -b49: v_ok = 1UL; -#line 571 "parse3.om" - goto b38; -#line 563 "parse3.om" -b36: v_ok = 1UL; -#line 563 "parse3.om" - goto b7; -#line 560 "parse3.om" -b27: v33 = (u)my_commit; -#line 560 "parse3.om" - v34 = v_c; -#line 560 "parse3.om" - v35 = ((u (*)())(v33))(v34); -#line 560 "parse3.om" +#line 745 "parse3.om" +b12: v15 = (u)my_peg_P_sp; +#line 745 "parse3.om" + v16 = v_c; +#line 745 "parse3.om" + v17 = ((u (*)())(v15))(v16); +#line 745 "parse3.om" +b14: v_ok = v17; +#line 745 "parse3.om" + goto b11; +#line 747 "parse3.om" +b11: if (!(v_ok)) { goto b17; } +#line 747 "parse3.om" +b16: v18 = (u)my_leave; +#line 747 "parse3.om" + v19 = v_c; +#line 747 "parse3.om" + v20 = 16UL; +#line 747 "parse3.om" + v21 = ((u (*)())(v18))(v19, v20); +#line 748 "parse3.om" +b15: return v_ok; +#line 747 "parse3.om" +b17: v22 = (u)my_fail; +#line 747 "parse3.om" + v23 = v_c; +#line 747 "parse3.om" + v24 = ((u (*)())(v22))(v23); +#line 747 "parse3.om" goto b15; -#line 559 "parse3.om" -b31: v32 = 1UL; -#line 559 "parse3.om" - goto b32; } -u my_peg_P_ge_op(u v_c) { +u my_peg_P_lsh_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -47372,46 +46832,46 @@ u my_peg_P_ge_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 986 "parse3.om" +#line 1257 "parse3.om" b0: v2 = (u)my_enter; -#line 986 "parse3.om" +#line 1257 "parse3.om" v3 = v_c; -#line 986 "parse3.om" - v4 = 32UL; -#line 986 "parse3.om" +#line 1257 "parse3.om" + v4 = 48UL; +#line 1257 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 987 "parse3.om" +#line 1258 "parse3.om" b1: v6 = (u)my_literal; -#line 987 "parse3.om" +#line 1258 "parse3.om" v7 = v_c; -#line 987 "parse3.om" - v8 = (u)">="; -#line 987 "parse3.om" +#line 1258 "parse3.om" + v8 = (u)"<<"; +#line 1258 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 987 "parse3.om" +#line 1258 "parse3.om" b2: v_ok = v9; -#line 988 "parse3.om" +#line 1259 "parse3.om" if (!(v_ok)) { goto b5; } -#line 988 "parse3.om" +#line 1259 "parse3.om" b4: v10 = (u)my_leave; -#line 988 "parse3.om" +#line 1259 "parse3.om" v11 = v_c; -#line 988 "parse3.om" - v12 = 32UL; -#line 988 "parse3.om" +#line 1259 "parse3.om" + v12 = 48UL; +#line 1259 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 989 "parse3.om" +#line 1260 "parse3.om" b3: return v_ok; -#line 988 "parse3.om" +#line 1259 "parse3.om" b5: v14 = (u)my_fail; -#line 988 "parse3.om" +#line 1259 "parse3.om" v15 = v_c; -#line 988 "parse3.om" +#line 1259 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 988 "parse3.om" +#line 1259 "parse3.om" goto b3; } -u my_peg_P_goto(u v_c) { +u my_peg_P_lt_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -47441,86 +46901,139 @@ u my_peg_P_goto(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1845 "parse3.om" + u v30 = 0; + u v31 = 0; + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; + u v41 = 0; + u v42 = 0; +#line 1024 "parse3.om" b0: v2 = (u)my_enter; -#line 1845 "parse3.om" +#line 1024 "parse3.om" v3 = v_c; -#line 1845 "parse3.om" - v4 = 77UL; -#line 1845 "parse3.om" +#line 1024 "parse3.om" + v4 = 33UL; +#line 1024 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1846 "parse3.om" +#line 1025 "parse3.om" b1: v6 = (u)my_literal; -#line 1846 "parse3.om" +#line 1025 "parse3.om" v7 = v_c; -#line 1846 "parse3.om" - v8 = (u)"goto"; -#line 1846 "parse3.om" +#line 1025 "parse3.om" + v8 = (u)"<"; +#line 1025 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1846 "parse3.om" +#line 1025 "parse3.om" b2: v_ok = v9; -#line 1847 "parse3.om" +#line 1026 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1848 "parse3.om" +#line 1027 "parse3.om" b4: v10 = (u)my_choice; -#line 1848 "parse3.om" +#line 1027 "parse3.om" v11 = v_c; -#line 1848 "parse3.om" +#line 1027 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1849 "parse3.om" -b6: v13 = (u)my_charset; -#line 1849 "parse3.om" +#line 1028 "parse3.om" +b6: v13 = (u)my_literal; +#line 1028 "parse3.om" v14 = v_c; -#line 1849 "parse3.om" - v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1849 "parse3.om" +#line 1028 "parse3.om" + v15 = (u)"="; +#line 1028 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1849 "parse3.om" +#line 1028 "parse3.om" b7: v_ok = v16; -#line 1850 "parse3.om" +#line 1029 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1850 "parse3.om" +#line 1029 "parse3.om" b9: v17 = (u)my_fail; -#line 1850 "parse3.om" +#line 1029 "parse3.om" v18 = v_c; -#line 1850 "parse3.om" +#line 1029 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1850 "parse3.om" +#line 1029 "parse3.om" b11: v20 = (u)my_fail; -#line 1850 "parse3.om" +#line 1029 "parse3.om" v21 = v_c; -#line 1850 "parse3.om" +#line 1029 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1850 "parse3.om" +#line 1029 "parse3.om" b12: v_ok = 0UL; -#line 1850 "parse3.om" +#line 1029 "parse3.om" goto b3; -#line 1852 "parse3.om" -b3: if (!(v_ok)) { goto b15; } -#line 1852 "parse3.om" -b14: v23 = (u)my_leave; -#line 1852 "parse3.om" +#line 1031 "parse3.om" +b3: if (!(v_ok)) { goto b13; } +#line 1032 "parse3.om" +b14: v23 = (u)my_choice; +#line 1032 "parse3.om" v24 = v_c; -#line 1852 "parse3.om" - v25 = 77UL; -#line 1852 "parse3.om" - v26 = ((u (*)())(v23))(v24, v25); -#line 1853 "parse3.om" -b13: return v_ok; -#line 1852 "parse3.om" -b15: v27 = (u)my_fail; -#line 1852 "parse3.om" - v28 = v_c; -#line 1852 "parse3.om" - v29 = ((u (*)())(v27))(v28); -#line 1852 "parse3.om" +#line 1032 "parse3.om" + v25 = ((u (*)())(v23))(v24); +#line 1033 "parse3.om" +b16: v26 = (u)my_literal; +#line 1033 "parse3.om" + v27 = v_c; +#line 1033 "parse3.om" + v28 = (u)"<"; +#line 1033 "parse3.om" + v29 = ((u (*)())(v26))(v27, v28); +#line 1033 "parse3.om" +b17: v_ok = v29; +#line 1034 "parse3.om" + if (!(v_ok)) { goto b20; } +#line 1034 "parse3.om" +b19: v30 = (u)my_fail; +#line 1034 "parse3.om" + v31 = v_c; +#line 1034 "parse3.om" + v32 = ((u (*)())(v30))(v31); +#line 1034 "parse3.om" +b21: v33 = (u)my_fail; +#line 1034 "parse3.om" + v34 = v_c; +#line 1034 "parse3.om" + v35 = ((u (*)())(v33))(v34); +#line 1034 "parse3.om" +b22: v_ok = 0UL; +#line 1034 "parse3.om" goto b13; -#line 1850 "parse3.om" +#line 1036 "parse3.om" +b13: if (!(v_ok)) { goto b25; } +#line 1036 "parse3.om" +b24: v36 = (u)my_leave; +#line 1036 "parse3.om" + v37 = v_c; +#line 1036 "parse3.om" + v38 = 33UL; +#line 1036 "parse3.om" + v39 = ((u (*)())(v36))(v37, v38); +#line 1037 "parse3.om" +b23: return v_ok; +#line 1036 "parse3.om" +b25: v40 = (u)my_fail; +#line 1036 "parse3.om" + v41 = v_c; +#line 1036 "parse3.om" + v42 = ((u (*)())(v40))(v41); +#line 1036 "parse3.om" + goto b23; +#line 1034 "parse3.om" +b20: v_ok = 1UL; +#line 1034 "parse3.om" + goto b13; +#line 1029 "parse3.om" b10: v_ok = 1UL; -#line 1850 "parse3.om" +#line 1029 "parse3.om" goto b3; } -u my_peg_P_goto_stmt(u v_c) { +u my_peg_P_member_decl(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -47552,395 +47065,124 @@ u my_peg_P_goto_stmt(u v_c) { u v29 = 0; u v30 = 0; u v31 = 0; -#line 831 "parse3.om" + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; +#line 325 "parse3.om" b0: v2 = (u)my_enter; -#line 831 "parse3.om" +#line 325 "parse3.om" v3 = v_c; -#line 831 "parse3.om" - v4 = 22UL; -#line 831 "parse3.om" +#line 325 "parse3.om" + v4 = 3UL; +#line 325 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 832 "parse3.om" -b1: v6 = (u)my_peg_P_goto; -#line 832 "parse3.om" +#line 326 "parse3.om" +b1: v6 = (u)my_peg_P_ident; +#line 326 "parse3.om" v7 = v_c; -#line 832 "parse3.om" +#line 326 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 832 "parse3.om" +#line 326 "parse3.om" b2: v_ok = v8; -#line 833 "parse3.om" +#line 327 "parse3.om" if (!(v_ok)) { goto b3; } -#line 834 "parse3.om" +#line 328 "parse3.om" b4: v9 = (u)my_peg_P_sp; -#line 834 "parse3.om" +#line 328 "parse3.om" v10 = v_c; -#line 834 "parse3.om" +#line 328 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 834 "parse3.om" +#line 328 "parse3.om" b6: v_ok = v11; -#line 834 "parse3.om" +#line 328 "parse3.om" goto b3; -#line 836 "parse3.om" +#line 330 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 837 "parse3.om" -b8: v12 = (u)my_peg_P_ident; -#line 837 "parse3.om" +#line 331 "parse3.om" +b8: v12 = (u)my_literal; +#line 331 "parse3.om" v13 = v_c; -#line 837 "parse3.om" - v14 = ((u (*)())(v12))(v13); -#line 837 "parse3.om" -b10: v_ok = v14; -#line 837 "parse3.om" +#line 331 "parse3.om" + v14 = (u)":"; +#line 331 "parse3.om" + v15 = ((u (*)())(v12))(v13, v14); +#line 331 "parse3.om" +b10: v_ok = v15; +#line 331 "parse3.om" goto b7; -#line 839 "parse3.om" +#line 333 "parse3.om" b7: if (!(v_ok)) { goto b11; } -#line 840 "parse3.om" -b12: v15 = (u)my_peg_P_sp; -#line 840 "parse3.om" - v16 = v_c; -#line 840 "parse3.om" - v17 = ((u (*)())(v15))(v16); -#line 840 "parse3.om" -b14: v_ok = v17; -#line 840 "parse3.om" - goto b11; -#line 842 "parse3.om" -b11: if (!(v_ok)) { goto b15; } -#line 843 "parse3.om" -b16: v18 = (u)my_literal; -#line 843 "parse3.om" - v19 = v_c; -#line 843 "parse3.om" - v20 = (u)";"; -#line 843 "parse3.om" - v21 = ((u (*)())(v18))(v19, v20); -#line 843 "parse3.om" -b18: v_ok = v21; -#line 843 "parse3.om" - goto b15; -#line 845 "parse3.om" -b15: if (!(v_ok)) { goto b19; } -#line 846 "parse3.om" -b20: v22 = (u)my_peg_P_sp; -#line 846 "parse3.om" - v23 = v_c; -#line 846 "parse3.om" - v24 = ((u (*)())(v22))(v23); -#line 846 "parse3.om" -b22: v_ok = v24; -#line 846 "parse3.om" - goto b19; -#line 848 "parse3.om" -b19: if (!(v_ok)) { goto b25; } -#line 848 "parse3.om" -b24: v25 = (u)my_leave; -#line 848 "parse3.om" - v26 = v_c; -#line 848 "parse3.om" - v27 = 22UL; -#line 848 "parse3.om" - v28 = ((u (*)())(v25))(v26, v27); -#line 849 "parse3.om" -b23: return v_ok; -#line 848 "parse3.om" -b25: v29 = (u)my_fail; -#line 848 "parse3.om" - v30 = v_c; -#line 848 "parse3.om" - v31 = ((u (*)())(v29))(v30); -#line 848 "parse3.om" - goto b23; -} -u my_peg_P_grammar(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; - u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; - u v44 = 0; - u v45 = 0; - u v46 = 0; - u v47 = 0; - u v48 = 0; - u v49 = 0; - u v50 = 0; - u v51 = 0; - u v52 = 0; - u v53 = 0; - u v54 = 0; - u v55 = 0; - u v56 = 0; - u v57 = 0; - u v58 = 0; - u v59 = 0; - u v60 = 0; - u v61 = 0; - u v62 = 0; - u v63 = 0; - u v64 = 0; - u v65 = 0; - u v66 = 0; - u v67 = 0; -#line 191 "parse3.om" -b0: v2 = (u)my_enter; -#line 191 "parse3.om" - v3 = v_c; -#line 191 "parse3.om" - v4 = 0UL; -#line 191 "parse3.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 192 "parse3.om" -b1: v6 = (u)my_peg_P_sp; -#line 192 "parse3.om" - v7 = v_c; -#line 192 "parse3.om" - v8 = ((u (*)())(v6))(v7); -#line 192 "parse3.om" -b2: v_ok = v8; -#line 193 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 195 "parse3.om" -b6: v9 = (u)my_choice; -#line 195 "parse3.om" - v10 = v_c; -#line 195 "parse3.om" - v11 = ((u (*)())(v9))(v10); -#line 196 "parse3.om" -b8: v12 = (u)my_choice; -#line 196 "parse3.om" - v13 = v_c; -#line 196 "parse3.om" - v14 = ((u (*)())(v12))(v13); -#line 197 "parse3.om" -b9: v15 = (u)my_peg_P_enum_decl; -#line 197 "parse3.om" - v16 = v_c; -#line 197 "parse3.om" - v17 = ((u (*)())(v15))(v16); -#line 197 "parse3.om" -b10: v_ok = v17; -#line 198 "parse3.om" - if (!(v_ok)) { goto b15; } -#line 198 "parse3.om" -b14: v18 = 0UL; -#line 198 "parse3.om" - goto b16; -#line 198 "parse3.om" -b16: if (!(v18)) { goto b11; } -#line 198 "parse3.om" -b12: v19 = (u)my_choice; -#line 198 "parse3.om" - v20 = v_c; -#line 198 "parse3.om" - v21 = ((u (*)())(v19))(v20); -#line 199 "parse3.om" -b17: v22 = (u)my_peg_P_struct_decl; -#line 199 "parse3.om" - v23 = v_c; -#line 199 "parse3.om" - v24 = ((u (*)())(v22))(v23); -#line 199 "parse3.om" -b18: v_ok = v24; -#line 199 "parse3.om" +#line 334 "parse3.om" +b12: v16 = (u)my_peg_P_sp; +#line 334 "parse3.om" + v17 = v_c; +#line 334 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 334 "parse3.om" +b14: v_ok = v18; +#line 334 "parse3.om" goto b11; -#line 201 "parse3.om" -b11: if (!(v_ok)) { goto b23; } -#line 201 "parse3.om" -b22: v25 = 0UL; -#line 201 "parse3.om" - goto b24; -#line 201 "parse3.om" -b24: if (!(v25)) { goto b19; } -#line 201 "parse3.om" -b20: v26 = (u)my_choice; -#line 201 "parse3.om" - v27 = v_c; -#line 201 "parse3.om" - v28 = ((u (*)())(v26))(v27); -#line 202 "parse3.om" -b25: v29 = (u)my_peg_P_union_decl; -#line 202 "parse3.om" - v30 = v_c; -#line 202 "parse3.om" - v31 = ((u (*)())(v29))(v30); -#line 202 "parse3.om" -b26: v_ok = v31; -#line 202 "parse3.om" - goto b19; -#line 204 "parse3.om" -b19: if (!(v_ok)) { goto b31; } -#line 204 "parse3.om" -b30: v32 = 0UL; -#line 204 "parse3.om" - goto b32; -#line 204 "parse3.om" -b32: if (!(v32)) { goto b27; } -#line 204 "parse3.om" -b28: v33 = (u)my_choice; -#line 204 "parse3.om" - v34 = v_c; -#line 204 "parse3.om" - v35 = ((u (*)())(v33))(v34); -#line 205 "parse3.om" -b33: v36 = (u)my_peg_P_func_decl; -#line 205 "parse3.om" - v37 = v_c; -#line 205 "parse3.om" - v38 = ((u (*)())(v36))(v37); -#line 205 "parse3.om" -b34: v_ok = v38; -#line 205 "parse3.om" - goto b27; -#line 207 "parse3.om" -b27: if (!(v_ok)) { goto b37; } -#line 207 "parse3.om" -b36: v39 = (u)my_commit; -#line 207 "parse3.om" - v40 = v_c; -#line 207 "parse3.om" - v41 = ((u (*)())(v39))(v40); -#line 208 "parse3.om" -b35: if (!(v_ok)) { goto b44; } -#line 208 "parse3.om" -b43: v45 = 0UL; -#line 208 "parse3.om" - goto b45; -#line 208 "parse3.om" -b45: if (!(v45)) { goto b40; } -#line 208 "parse3.om" -b41: v_ok = 1UL; -#line 208 "parse3.om" - goto b3; -#line 212 "parse3.om" -b3: if (!(v_ok)) { goto b47; } -#line 213 "parse3.om" -b48: v49 = (u)my_choice; -#line 213 "parse3.om" - v50 = v_c; -#line 213 "parse3.om" - v51 = ((u (*)())(v49))(v50); -#line 214 "parse3.om" -b50: v52 = (u)my_any; -#line 214 "parse3.om" - v53 = v_c; -#line 214 "parse3.om" - v54 = ((u (*)())(v52))(v53); -#line 214 "parse3.om" -b51: v_ok = v54; -#line 215 "parse3.om" - if (!(v_ok)) { goto b54; } -#line 215 "parse3.om" -b53: v55 = (u)my_fail; -#line 215 "parse3.om" - v56 = v_c; -#line 215 "parse3.om" - v57 = ((u (*)())(v55))(v56); -#line 215 "parse3.om" -b55: v58 = (u)my_fail; -#line 215 "parse3.om" - v59 = v_c; -#line 215 "parse3.om" - v60 = ((u (*)())(v58))(v59); -#line 215 "parse3.om" -b56: v_ok = 0UL; -#line 215 "parse3.om" - goto b47; -#line 217 "parse3.om" -b47: if (!(v_ok)) { goto b59; } -#line 217 "parse3.om" -b58: v61 = (u)my_leave; -#line 217 "parse3.om" - v62 = v_c; -#line 217 "parse3.om" - v63 = 0UL; -#line 217 "parse3.om" - v64 = ((u (*)())(v61))(v62, v63); -#line 218 "parse3.om" -b57: return v_ok; -#line 217 "parse3.om" -b59: v65 = (u)my_fail; -#line 217 "parse3.om" - v66 = v_c; -#line 217 "parse3.om" - v67 = ((u (*)())(v65))(v66); -#line 217 "parse3.om" - goto b57; -#line 215 "parse3.om" -b54: v_ok = 1UL; -#line 215 "parse3.om" - goto b47; -#line 209 "parse3.om" -b40: v46 = (u)my_commit; -#line 209 "parse3.om" - v47 = v_c; -#line 209 "parse3.om" - v48 = ((u (*)())(v46))(v47); -#line 209 "parse3.om" - goto b6; -#line 208 "parse3.om" -b44: v45 = 1UL; -#line 208 "parse3.om" - goto b45; -#line 207 "parse3.om" -b37: v42 = (u)my_fail; -#line 207 "parse3.om" - v43 = v_c; -#line 207 "parse3.om" - v44 = ((u (*)())(v42))(v43); -#line 207 "parse3.om" - goto b35; -#line 204 "parse3.om" -b31: v32 = 1UL; -#line 204 "parse3.om" - goto b32; -#line 201 "parse3.om" -b23: v25 = 1UL; -#line 201 "parse3.om" - goto b24; -#line 198 "parse3.om" -b15: v18 = 1UL; -#line 198 "parse3.om" - goto b16; +#line 336 "parse3.om" +b11: if (!(v_ok)) { goto b15; } +#line 337 "parse3.om" +b16: v19 = (u)my_peg_P_type; +#line 337 "parse3.om" + v20 = v_c; +#line 337 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 337 "parse3.om" +b18: v_ok = v21; +#line 337 "parse3.om" + goto b15; +#line 339 "parse3.om" +b15: if (!(v_ok)) { goto b19; } +#line 340 "parse3.om" +b20: v22 = (u)my_literal; +#line 340 "parse3.om" + v23 = v_c; +#line 340 "parse3.om" + v24 = (u)";"; +#line 340 "parse3.om" + v25 = ((u (*)())(v22))(v23, v24); +#line 340 "parse3.om" +b22: v_ok = v25; +#line 340 "parse3.om" + goto b19; +#line 342 "parse3.om" +b19: if (!(v_ok)) { goto b23; } +#line 343 "parse3.om" +b24: v26 = (u)my_peg_P_sp; +#line 343 "parse3.om" + v27 = v_c; +#line 343 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 343 "parse3.om" +b26: v_ok = v28; +#line 343 "parse3.om" + goto b23; +#line 345 "parse3.om" +b23: if (!(v_ok)) { goto b29; } +#line 345 "parse3.om" +b28: v29 = (u)my_leave; +#line 345 "parse3.om" + v30 = v_c; +#line 345 "parse3.om" + v31 = 3UL; +#line 345 "parse3.om" + v32 = ((u (*)())(v29))(v30, v31); +#line 346 "parse3.om" +b27: return v_ok; +#line 345 "parse3.om" +b29: v33 = (u)my_fail; +#line 345 "parse3.om" + v34 = v_c; +#line 345 "parse3.om" + v35 = ((u (*)())(v33))(v34); +#line 345 "parse3.om" + goto b27; } -u my_peg_P_gt_op(u v_c) { +u my_peg_P_member_expr(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -47966,143 +47208,82 @@ u my_peg_P_gt_op(u v_c) { u v23 = 0; u v24 = 0; u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; - u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; -#line 1012 "parse3.om" +#line 1458 "parse3.om" b0: v2 = (u)my_enter; -#line 1012 "parse3.om" +#line 1458 "parse3.om" v3 = v_c; -#line 1012 "parse3.om" - v4 = 34UL; -#line 1012 "parse3.om" +#line 1458 "parse3.om" + v4 = 60UL; +#line 1458 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1013 "parse3.om" +#line 1459 "parse3.om" b1: v6 = (u)my_literal; -#line 1013 "parse3.om" +#line 1459 "parse3.om" v7 = v_c; -#line 1013 "parse3.om" - v8 = (u)">"; -#line 1013 "parse3.om" +#line 1459 "parse3.om" + v8 = (u)"."; +#line 1459 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1013 "parse3.om" +#line 1459 "parse3.om" b2: v_ok = v9; -#line 1014 "parse3.om" +#line 1460 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1015 "parse3.om" -b4: v10 = (u)my_choice; -#line 1015 "parse3.om" +#line 1461 "parse3.om" +b4: v10 = (u)my_peg_P_sp; +#line 1461 "parse3.om" v11 = v_c; -#line 1015 "parse3.om" +#line 1461 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1016 "parse3.om" -b6: v13 = (u)my_literal; -#line 1016 "parse3.om" - v14 = v_c; -#line 1016 "parse3.om" - v15 = (u)"="; -#line 1016 "parse3.om" - v16 = ((u (*)())(v13))(v14, v15); -#line 1016 "parse3.om" -b7: v_ok = v16; -#line 1017 "parse3.om" - if (!(v_ok)) { goto b10; } -#line 1017 "parse3.om" -b9: v17 = (u)my_fail; -#line 1017 "parse3.om" - v18 = v_c; -#line 1017 "parse3.om" - v19 = ((u (*)())(v17))(v18); -#line 1017 "parse3.om" -b11: v20 = (u)my_fail; -#line 1017 "parse3.om" - v21 = v_c; -#line 1017 "parse3.om" - v22 = ((u (*)())(v20))(v21); -#line 1017 "parse3.om" -b12: v_ok = 0UL; -#line 1017 "parse3.om" +#line 1461 "parse3.om" +b6: v_ok = v12; +#line 1461 "parse3.om" goto b3; -#line 1019 "parse3.om" -b3: if (!(v_ok)) { goto b13; } -#line 1020 "parse3.om" -b14: v23 = (u)my_choice; -#line 1020 "parse3.om" +#line 1463 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 1464 "parse3.om" +b8: v13 = (u)my_peg_P_ident; +#line 1464 "parse3.om" + v14 = v_c; +#line 1464 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 1464 "parse3.om" +b10: v_ok = v15; +#line 1464 "parse3.om" + goto b7; +#line 1466 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 1467 "parse3.om" +b12: v16 = (u)my_peg_P_sp; +#line 1467 "parse3.om" + v17 = v_c; +#line 1467 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 1467 "parse3.om" +b14: v_ok = v18; +#line 1467 "parse3.om" + goto b11; +#line 1469 "parse3.om" +b11: if (!(v_ok)) { goto b17; } +#line 1469 "parse3.om" +b16: v19 = (u)my_leave; +#line 1469 "parse3.om" + v20 = v_c; +#line 1469 "parse3.om" + v21 = 60UL; +#line 1469 "parse3.om" + v22 = ((u (*)())(v19))(v20, v21); +#line 1470 "parse3.om" +b15: return v_ok; +#line 1469 "parse3.om" +b17: v23 = (u)my_fail; +#line 1469 "parse3.om" v24 = v_c; -#line 1020 "parse3.om" +#line 1469 "parse3.om" v25 = ((u (*)())(v23))(v24); -#line 1021 "parse3.om" -b16: v26 = (u)my_literal; -#line 1021 "parse3.om" - v27 = v_c; -#line 1021 "parse3.om" - v28 = (u)">"; -#line 1021 "parse3.om" - v29 = ((u (*)())(v26))(v27, v28); -#line 1021 "parse3.om" -b17: v_ok = v29; -#line 1022 "parse3.om" - if (!(v_ok)) { goto b20; } -#line 1022 "parse3.om" -b19: v30 = (u)my_fail; -#line 1022 "parse3.om" - v31 = v_c; -#line 1022 "parse3.om" - v32 = ((u (*)())(v30))(v31); -#line 1022 "parse3.om" -b21: v33 = (u)my_fail; -#line 1022 "parse3.om" - v34 = v_c; -#line 1022 "parse3.om" - v35 = ((u (*)())(v33))(v34); -#line 1022 "parse3.om" -b22: v_ok = 0UL; -#line 1022 "parse3.om" - goto b13; -#line 1024 "parse3.om" -b13: if (!(v_ok)) { goto b25; } -#line 1024 "parse3.om" -b24: v36 = (u)my_leave; -#line 1024 "parse3.om" - v37 = v_c; -#line 1024 "parse3.om" - v38 = 34UL; -#line 1024 "parse3.om" - v39 = ((u (*)())(v36))(v37, v38); -#line 1025 "parse3.om" -b23: return v_ok; -#line 1024 "parse3.om" -b25: v40 = (u)my_fail; -#line 1024 "parse3.om" - v41 = v_c; -#line 1024 "parse3.om" - v42 = ((u (*)())(v40))(v41); -#line 1024 "parse3.om" - goto b23; -#line 1022 "parse3.om" -b20: v_ok = 1UL; -#line 1022 "parse3.om" - goto b13; -#line 1017 "parse3.om" -b10: v_ok = 1UL; -#line 1017 "parse3.om" - goto b3; +#line 1469 "parse3.om" + goto b15; } -u my_peg_P_hex(u v_c) { +u my_peg_P_mod_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -48119,115 +47300,46 @@ u my_peg_P_hex(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; - u v30 = 0; - u v31 = 0; -#line 1573 "parse3.om" +#line 1203 "parse3.om" b0: v2 = (u)my_enter; -#line 1573 "parse3.om" +#line 1203 "parse3.om" v3 = v_c; -#line 1573 "parse3.om" - v4 = 65UL; -#line 1573 "parse3.om" +#line 1203 "parse3.om" + v4 = 45UL; +#line 1203 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1574 "parse3.om" +#line 1204 "parse3.om" b1: v6 = (u)my_literal; -#line 1574 "parse3.om" +#line 1204 "parse3.om" v7 = v_c; -#line 1574 "parse3.om" - v8 = (u)"0x"; -#line 1574 "parse3.om" +#line 1204 "parse3.om" + v8 = (u)"%"; +#line 1204 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1574 "parse3.om" +#line 1204 "parse3.om" b2: v_ok = v9; -#line 1575 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 1576 "parse3.om" -b4: v10 = (u)my_charset; -#line 1576 "parse3.om" +#line 1205 "parse3.om" + if (!(v_ok)) { goto b5; } +#line 1205 "parse3.om" +b4: v10 = (u)my_leave; +#line 1205 "parse3.om" v11 = v_c; -#line 1576 "parse3.om" - v12 = (u)"0123456789ABCDEF_abcdef"; -#line 1576 "parse3.om" +#line 1205 "parse3.om" + v12 = 45UL; +#line 1205 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 1576 "parse3.om" -b6: v_ok = v13; -#line 1577 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 1579 "parse3.om" -b10: v14 = (u)my_choice; -#line 1579 "parse3.om" +#line 1206 "parse3.om" +b3: return v_ok; +#line 1205 "parse3.om" +b5: v14 = (u)my_fail; +#line 1205 "parse3.om" v15 = v_c; -#line 1579 "parse3.om" +#line 1205 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 1580 "parse3.om" -b12: v17 = (u)my_charset; -#line 1580 "parse3.om" - v18 = v_c; -#line 1580 "parse3.om" - v19 = (u)"0123456789ABCDEF_abcdef"; -#line 1580 "parse3.om" - v20 = ((u (*)())(v17))(v18, v19); -#line 1580 "parse3.om" -b13: v_ok = v20; -#line 1581 "parse3.om" - if (!(v_ok)) { goto b18; } -#line 1581 "parse3.om" -b17: v21 = 0UL; -#line 1581 "parse3.om" - goto b19; -#line 1581 "parse3.om" -b19: if (!(v21)) { goto b14; } -#line 1581 "parse3.om" -b15: v_ok = 1UL; -#line 1581 "parse3.om" +#line 1205 "parse3.om" goto b3; -#line 1586 "parse3.om" -b3: if (!(v_ok)) { goto b23; } -#line 1586 "parse3.om" -b22: v25 = (u)my_leave; -#line 1586 "parse3.om" - v26 = v_c; -#line 1586 "parse3.om" - v27 = 65UL; -#line 1586 "parse3.om" - v28 = ((u (*)())(v25))(v26, v27); -#line 1587 "parse3.om" -b21: return v_ok; -#line 1586 "parse3.om" -b23: v29 = (u)my_fail; -#line 1586 "parse3.om" - v30 = v_c; -#line 1586 "parse3.om" - v31 = ((u (*)())(v29))(v30); -#line 1586 "parse3.om" - goto b21; -#line 1582 "parse3.om" -b14: v22 = (u)my_commit; -#line 1582 "parse3.om" - v23 = v_c; -#line 1582 "parse3.om" - v24 = ((u (*)())(v22))(v23); -#line 1582 "parse3.om" - goto b10; -#line 1581 "parse3.om" -b18: v21 = 1UL; -#line 1581 "parse3.om" - goto b19; } -u my_peg_P_ident(u v_c) { +u my_peg_P_mul_expr(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -48267,128 +47379,236 @@ u my_peg_P_ident(u v_c) { u v37 = 0; u v38 = 0; u v39 = 0; -#line 1988 "parse3.om" + u v40 = 0; + u v41 = 0; + u v42 = 0; + u v43 = 0; + u v44 = 0; + u v45 = 0; + u v46 = 0; + u v47 = 0; + u v48 = 0; + u v49 = 0; + u v50 = 0; + u v51 = 0; + u v52 = 0; + u v53 = 0; + u v54 = 0; + u v55 = 0; + u v56 = 0; + u v57 = 0; + u v58 = 0; + u v59 = 0; + u v60 = 0; + u v61 = 0; +#line 1224 "parse3.om" b0: v2 = (u)my_enter; -#line 1988 "parse3.om" +#line 1224 "parse3.om" v3 = v_c; -#line 1988 "parse3.om" - v4 = 88UL; -#line 1988 "parse3.om" +#line 1224 "parse3.om" + v4 = 47UL; +#line 1224 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1989 "parse3.om" -b1: v6 = (u)my_choice; -#line 1989 "parse3.om" +#line 1225 "parse3.om" +b1: v6 = (u)my_peg_P_shift_expr; +#line 1225 "parse3.om" v7 = v_c; -#line 1989 "parse3.om" +#line 1225 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 1990 "parse3.om" -b2: v9 = (u)my_peg_P_reserved; -#line 1990 "parse3.om" +#line 1225 "parse3.om" +b2: v_ok = v8; +#line 1226 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 1228 "parse3.om" +b6: v9 = (u)my_choice; +#line 1228 "parse3.om" v10 = v_c; -#line 1990 "parse3.om" +#line 1228 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 1990 "parse3.om" -b3: v_ok = v11; -#line 1991 "parse3.om" - if (!(v_ok)) { goto b6; } -#line 1991 "parse3.om" -b5: v12 = (u)my_fail; -#line 1991 "parse3.om" +#line 1229 "parse3.om" +b8: v12 = (u)my_choice; +#line 1229 "parse3.om" v13 = v_c; -#line 1991 "parse3.om" +#line 1229 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 1991 "parse3.om" -b7: v15 = (u)my_fail; -#line 1991 "parse3.om" +#line 1230 "parse3.om" +b9: v15 = (u)my_peg_P_mul_op; +#line 1230 "parse3.om" v16 = v_c; -#line 1991 "parse3.om" +#line 1230 "parse3.om" v17 = ((u (*)())(v15))(v16); -#line 1991 "parse3.om" -b8: v_ok = 0UL; -#line 1991 "parse3.om" - goto b4; -#line 1992 "parse3.om" -b4: if (!(v_ok)) { goto b9; } -#line 1993 "parse3.om" -b10: v18 = (u)my_charset; -#line 1993 "parse3.om" - v19 = v_c; -#line 1993 "parse3.om" - v20 = (u)"ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1993 "parse3.om" - v21 = ((u (*)())(v18))(v19, v20); -#line 1993 "parse3.om" -b12: v_ok = v21; -#line 1993 "parse3.om" - goto b9; -#line 1995 "parse3.om" -b9: if (!(v_ok)) { goto b13; } -#line 1997 "parse3.om" -b16: v22 = (u)my_choice; -#line 1997 "parse3.om" +#line 1230 "parse3.om" +b10: v_ok = v17; +#line 1231 "parse3.om" + if (!(v_ok)) { goto b15; } +#line 1231 "parse3.om" +b14: v18 = 0UL; +#line 1231 "parse3.om" + goto b16; +#line 1231 "parse3.om" +b16: if (!(v18)) { goto b11; } +#line 1231 "parse3.om" +b12: v19 = (u)my_choice; +#line 1231 "parse3.om" + v20 = v_c; +#line 1231 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 1232 "parse3.om" +b17: v22 = (u)my_peg_P_div_op; +#line 1232 "parse3.om" v23 = v_c; -#line 1997 "parse3.om" +#line 1232 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 1998 "parse3.om" -b18: v25 = (u)my_charset; -#line 1998 "parse3.om" - v26 = v_c; -#line 1998 "parse3.om" - v27 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1998 "parse3.om" - v28 = ((u (*)())(v25))(v26, v27); -#line 1998 "parse3.om" -b19: v_ok = v28; -#line 1999 "parse3.om" - if (!(v_ok)) { goto b24; } -#line 1999 "parse3.om" -b23: v29 = 0UL; -#line 1999 "parse3.om" - goto b25; -#line 1999 "parse3.om" -b25: if (!(v29)) { goto b20; } -#line 1999 "parse3.om" -b21: v_ok = 1UL; -#line 1999 "parse3.om" - goto b13; -#line 2003 "parse3.om" -b13: if (!(v_ok)) { goto b29; } -#line 2003 "parse3.om" -b28: v33 = (u)my_leave; -#line 2003 "parse3.om" +#line 1232 "parse3.om" +b18: v_ok = v24; +#line 1232 "parse3.om" + goto b11; +#line 1234 "parse3.om" +b11: if (!(v_ok)) { goto b23; } +#line 1234 "parse3.om" +b22: v25 = 0UL; +#line 1234 "parse3.om" + goto b24; +#line 1234 "parse3.om" +b24: if (!(v25)) { goto b19; } +#line 1234 "parse3.om" +b20: v26 = (u)my_choice; +#line 1234 "parse3.om" + v27 = v_c; +#line 1234 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 1235 "parse3.om" +b25: v29 = (u)my_peg_P_mod_op; +#line 1235 "parse3.om" + v30 = v_c; +#line 1235 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 1235 "parse3.om" +b26: v_ok = v31; +#line 1235 "parse3.om" + goto b19; +#line 1237 "parse3.om" +b19: if (!(v_ok)) { goto b31; } +#line 1237 "parse3.om" +b30: v32 = 0UL; +#line 1237 "parse3.om" + goto b32; +#line 1237 "parse3.om" +b32: if (!(v32)) { goto b27; } +#line 1237 "parse3.om" +b28: v33 = (u)my_choice; +#line 1237 "parse3.om" v34 = v_c; -#line 2003 "parse3.om" - v35 = 88UL; -#line 2003 "parse3.om" - v36 = ((u (*)())(v33))(v34, v35); -#line 2004 "parse3.om" -b27: return v_ok; -#line 2003 "parse3.om" -b29: v37 = (u)my_fail; -#line 2003 "parse3.om" - v38 = v_c; -#line 2003 "parse3.om" - v39 = ((u (*)())(v37))(v38); -#line 2003 "parse3.om" +#line 1237 "parse3.om" + v35 = ((u (*)())(v33))(v34); +#line 1238 "parse3.om" +b33: v36 = (u)my_peg_P_and_op; +#line 1238 "parse3.om" + v37 = v_c; +#line 1238 "parse3.om" + v38 = ((u (*)())(v36))(v37); +#line 1238 "parse3.om" +b34: v_ok = v38; +#line 1238 "parse3.om" goto b27; -#line 2000 "parse3.om" -b20: v30 = (u)my_commit; -#line 2000 "parse3.om" - v31 = v_c; -#line 2000 "parse3.om" - v32 = ((u (*)())(v30))(v31); -#line 2000 "parse3.om" +#line 1240 "parse3.om" +b27: if (!(v_ok)) { goto b37; } +#line 1240 "parse3.om" +b36: v39 = (u)my_commit; +#line 1240 "parse3.om" + v40 = v_c; +#line 1240 "parse3.om" + v41 = ((u (*)())(v39))(v40); +#line 1241 "parse3.om" +b35: if (!(v_ok)) { goto b40; } +#line 1242 "parse3.om" +b41: v45 = (u)my_peg_P_sp; +#line 1242 "parse3.om" + v46 = v_c; +#line 1242 "parse3.om" + v47 = ((u (*)())(v45))(v46); +#line 1242 "parse3.om" +b43: v_ok = v47; +#line 1242 "parse3.om" + goto b40; +#line 1244 "parse3.om" +b40: if (!(v_ok)) { goto b44; } +#line 1245 "parse3.om" +b45: v48 = (u)my_peg_P_shift_expr; +#line 1245 "parse3.om" + v49 = v_c; +#line 1245 "parse3.om" + v50 = ((u (*)())(v48))(v49); +#line 1245 "parse3.om" +b47: v_ok = v50; +#line 1245 "parse3.om" + goto b44; +#line 1247 "parse3.om" +b44: if (!(v_ok)) { goto b52; } +#line 1247 "parse3.om" +b51: v51 = 0UL; +#line 1247 "parse3.om" + goto b53; +#line 1247 "parse3.om" +b53: if (!(v51)) { goto b48; } +#line 1247 "parse3.om" +b49: v_ok = 1UL; +#line 1247 "parse3.om" + goto b3; +#line 1251 "parse3.om" +b3: if (!(v_ok)) { goto b57; } +#line 1251 "parse3.om" +b56: v55 = (u)my_leave; +#line 1251 "parse3.om" + v56 = v_c; +#line 1251 "parse3.om" + v57 = 47UL; +#line 1251 "parse3.om" + v58 = ((u (*)())(v55))(v56, v57); +#line 1252 "parse3.om" +b55: return v_ok; +#line 1251 "parse3.om" +b57: v59 = (u)my_fail; +#line 1251 "parse3.om" + v60 = v_c; +#line 1251 "parse3.om" + v61 = ((u (*)())(v59))(v60); +#line 1251 "parse3.om" + goto b55; +#line 1248 "parse3.om" +b48: v52 = (u)my_commit; +#line 1248 "parse3.om" + v53 = v_c; +#line 1248 "parse3.om" + v54 = ((u (*)())(v52))(v53); +#line 1248 "parse3.om" + goto b6; +#line 1247 "parse3.om" +b52: v51 = 1UL; +#line 1247 "parse3.om" + goto b53; +#line 1240 "parse3.om" +b37: v42 = (u)my_fail; +#line 1240 "parse3.om" + v43 = v_c; +#line 1240 "parse3.om" + v44 = ((u (*)())(v42))(v43); +#line 1240 "parse3.om" + goto b35; +#line 1237 "parse3.om" +b31: v32 = 1UL; +#line 1237 "parse3.om" + goto b32; +#line 1234 "parse3.om" +b23: v25 = 1UL; +#line 1234 "parse3.om" + goto b24; +#line 1231 "parse3.om" +b15: v18 = 1UL; +#line 1231 "parse3.om" goto b16; -#line 1999 "parse3.om" -b24: v29 = 1UL; -#line 1999 "parse3.om" - goto b25; -#line 1991 "parse3.om" -b6: v_ok = 1UL; -#line 1991 "parse3.om" - goto b4; } -u my_peg_P_if(u v_c) { +u my_peg_P_mul_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -48405,99 +47625,46 @@ u my_peg_P_if(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; -#line 1793 "parse3.om" +#line 1182 "parse3.om" b0: v2 = (u)my_enter; -#line 1793 "parse3.om" +#line 1182 "parse3.om" v3 = v_c; -#line 1793 "parse3.om" - v4 = 73UL; -#line 1793 "parse3.om" +#line 1182 "parse3.om" + v4 = 43UL; +#line 1182 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1794 "parse3.om" +#line 1183 "parse3.om" b1: v6 = (u)my_literal; -#line 1794 "parse3.om" +#line 1183 "parse3.om" v7 = v_c; -#line 1794 "parse3.om" - v8 = (u)"if"; -#line 1794 "parse3.om" +#line 1183 "parse3.om" + v8 = (u)"*"; +#line 1183 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1794 "parse3.om" +#line 1183 "parse3.om" b2: v_ok = v9; -#line 1795 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 1796 "parse3.om" -b4: v10 = (u)my_choice; -#line 1796 "parse3.om" +#line 1184 "parse3.om" + if (!(v_ok)) { goto b5; } +#line 1184 "parse3.om" +b4: v10 = (u)my_leave; +#line 1184 "parse3.om" v11 = v_c; -#line 1796 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 1797 "parse3.om" -b6: v13 = (u)my_charset; -#line 1797 "parse3.om" - v14 = v_c; -#line 1797 "parse3.om" - v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1797 "parse3.om" - v16 = ((u (*)())(v13))(v14, v15); -#line 1797 "parse3.om" -b7: v_ok = v16; -#line 1798 "parse3.om" - if (!(v_ok)) { goto b10; } -#line 1798 "parse3.om" -b9: v17 = (u)my_fail; -#line 1798 "parse3.om" - v18 = v_c; -#line 1798 "parse3.om" - v19 = ((u (*)())(v17))(v18); -#line 1798 "parse3.om" -b11: v20 = (u)my_fail; -#line 1798 "parse3.om" - v21 = v_c; -#line 1798 "parse3.om" - v22 = ((u (*)())(v20))(v21); -#line 1798 "parse3.om" -b12: v_ok = 0UL; -#line 1798 "parse3.om" - goto b3; -#line 1800 "parse3.om" -b3: if (!(v_ok)) { goto b15; } -#line 1800 "parse3.om" -b14: v23 = (u)my_leave; -#line 1800 "parse3.om" - v24 = v_c; -#line 1800 "parse3.om" - v25 = 73UL; -#line 1800 "parse3.om" - v26 = ((u (*)())(v23))(v24, v25); -#line 1801 "parse3.om" -b13: return v_ok; -#line 1800 "parse3.om" -b15: v27 = (u)my_fail; -#line 1800 "parse3.om" - v28 = v_c; -#line 1800 "parse3.om" - v29 = ((u (*)())(v27))(v28); -#line 1800 "parse3.om" - goto b13; -#line 1798 "parse3.om" -b10: v_ok = 1UL; -#line 1798 "parse3.om" +#line 1184 "parse3.om" + v12 = 43UL; +#line 1184 "parse3.om" + v13 = ((u (*)())(v10))(v11, v12); +#line 1185 "parse3.om" +b3: return v_ok; +#line 1184 "parse3.om" +b5: v14 = (u)my_fail; +#line 1184 "parse3.om" + v15 = v_c; +#line 1184 "parse3.om" + v16 = ((u (*)())(v14))(v15); +#line 1184 "parse3.om" goto b3; } -u my_peg_P_if_stmt(u v_c) { +u my_peg_P_ne_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -48514,175 +47681,46 @@ u my_peg_P_if_stmt(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; - u v30 = 0; - u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; - u v43 = 0; -#line 676 "parse3.om" +#line 1068 "parse3.om" b0: v2 = (u)my_enter; -#line 676 "parse3.om" +#line 1068 "parse3.om" v3 = v_c; -#line 676 "parse3.om" - v4 = 15UL; -#line 676 "parse3.om" +#line 1068 "parse3.om" + v4 = 36UL; +#line 1068 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 677 "parse3.om" -b1: v6 = (u)my_peg_P_if; -#line 677 "parse3.om" +#line 1069 "parse3.om" +b1: v6 = (u)my_literal; +#line 1069 "parse3.om" v7 = v_c; -#line 677 "parse3.om" - v8 = ((u (*)())(v6))(v7); -#line 677 "parse3.om" -b2: v_ok = v8; -#line 678 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 679 "parse3.om" -b4: v9 = (u)my_peg_P_sp; -#line 679 "parse3.om" - v10 = v_c; -#line 679 "parse3.om" - v11 = ((u (*)())(v9))(v10); -#line 679 "parse3.om" -b6: v_ok = v11; -#line 679 "parse3.om" +#line 1069 "parse3.om" + v8 = (u)"!="; +#line 1069 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 1069 "parse3.om" +b2: v_ok = v9; +#line 1070 "parse3.om" + if (!(v_ok)) { goto b5; } +#line 1070 "parse3.om" +b4: v10 = (u)my_leave; +#line 1070 "parse3.om" + v11 = v_c; +#line 1070 "parse3.om" + v12 = 36UL; +#line 1070 "parse3.om" + v13 = ((u (*)())(v10))(v11, v12); +#line 1071 "parse3.om" +b3: return v_ok; +#line 1070 "parse3.om" +b5: v14 = (u)my_fail; +#line 1070 "parse3.om" + v15 = v_c; +#line 1070 "parse3.om" + v16 = ((u (*)())(v14))(v15); +#line 1070 "parse3.om" goto b3; -#line 681 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 682 "parse3.om" -b8: v12 = (u)my_peg_P_expr; -#line 682 "parse3.om" - v13 = v_c; -#line 682 "parse3.om" - v14 = ((u (*)())(v12))(v13); -#line 682 "parse3.om" -b10: v_ok = v14; -#line 682 "parse3.om" - goto b7; -#line 684 "parse3.om" -b7: if (!(v_ok)) { goto b11; } -#line 685 "parse3.om" -b12: v15 = (u)my_peg_P_compound_stmt; -#line 685 "parse3.om" - v16 = v_c; -#line 685 "parse3.om" - v17 = ((u (*)())(v15))(v16); -#line 685 "parse3.om" -b14: v_ok = v17; -#line 685 "parse3.om" - goto b11; -#line 687 "parse3.om" -b11: if (!(v_ok)) { goto b15; } -#line 689 "parse3.om" -b18: v18 = (u)my_choice; -#line 689 "parse3.om" - v19 = v_c; -#line 689 "parse3.om" - v20 = ((u (*)())(v18))(v19); -#line 690 "parse3.om" -b20: v21 = (u)my_peg_P_elif_stmt; -#line 690 "parse3.om" - v22 = v_c; -#line 690 "parse3.om" - v23 = ((u (*)())(v21))(v22); -#line 690 "parse3.om" -b21: v_ok = v23; -#line 691 "parse3.om" - if (!(v_ok)) { goto b26; } -#line 691 "parse3.om" -b25: v24 = 0UL; -#line 691 "parse3.om" - goto b27; -#line 691 "parse3.om" -b27: if (!(v24)) { goto b22; } -#line 691 "parse3.om" -b23: v_ok = 1UL; -#line 691 "parse3.om" - goto b15; -#line 695 "parse3.om" -b15: if (!(v_ok)) { goto b29; } -#line 696 "parse3.om" -b30: v28 = (u)my_choice; -#line 696 "parse3.om" - v29 = v_c; -#line 696 "parse3.om" - v30 = ((u (*)())(v28))(v29); -#line 697 "parse3.om" -b32: v31 = (u)my_peg_P_else_stmt; -#line 697 "parse3.om" - v32 = v_c; -#line 697 "parse3.om" - v33 = ((u (*)())(v31))(v32); -#line 697 "parse3.om" -b33: v_ok = v33; -#line 698 "parse3.om" - if (!(v_ok)) { goto b36; } -#line 698 "parse3.om" -b35: v34 = (u)my_commit; -#line 698 "parse3.om" - v35 = v_c; -#line 698 "parse3.om" - v36 = ((u (*)())(v34))(v35); -#line 700 "parse3.om" -b29: if (!(v_ok)) { goto b40; } -#line 700 "parse3.om" -b39: v37 = (u)my_leave; -#line 700 "parse3.om" - v38 = v_c; -#line 700 "parse3.om" - v39 = 15UL; -#line 700 "parse3.om" - v40 = ((u (*)())(v37))(v38, v39); -#line 701 "parse3.om" -b38: return v_ok; -#line 700 "parse3.om" -b40: v41 = (u)my_fail; -#line 700 "parse3.om" - v42 = v_c; -#line 700 "parse3.om" - v43 = ((u (*)())(v41))(v42); -#line 700 "parse3.om" - goto b38; -#line 698 "parse3.om" -b36: v_ok = 1UL; -#line 698 "parse3.om" - goto b29; -#line 692 "parse3.om" -b22: v25 = (u)my_commit; -#line 692 "parse3.om" - v26 = v_c; -#line 692 "parse3.om" - v27 = ((u (*)())(v25))(v26); -#line 692 "parse3.om" - goto b18; -#line 691 "parse3.om" -b26: v24 = 1UL; -#line 691 "parse3.om" - goto b27; } -u my_peg_P_index_expr(u v_c) { +u my_peg_P_neg_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -48699,109 +47737,46 @@ u my_peg_P_index_expr(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; - u v26 = 0; - u v27 = 0; - u v28 = 0; - u v29 = 0; -#line 1364 "parse3.om" +#line 1329 "parse3.om" b0: v2 = (u)my_enter; -#line 1364 "parse3.om" +#line 1329 "parse3.om" v3 = v_c; -#line 1364 "parse3.om" - v4 = 58UL; -#line 1364 "parse3.om" +#line 1329 "parse3.om" + v4 = 54UL; +#line 1329 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1365 "parse3.om" +#line 1330 "parse3.om" b1: v6 = (u)my_literal; -#line 1365 "parse3.om" +#line 1330 "parse3.om" v7 = v_c; -#line 1365 "parse3.om" - v8 = (u)"["; -#line 1365 "parse3.om" +#line 1330 "parse3.om" + v8 = (u)"-"; +#line 1330 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1365 "parse3.om" +#line 1330 "parse3.om" b2: v_ok = v9; -#line 1366 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 1367 "parse3.om" -b4: v10 = (u)my_peg_P_sp; -#line 1367 "parse3.om" +#line 1331 "parse3.om" + if (!(v_ok)) { goto b5; } +#line 1331 "parse3.om" +b4: v10 = (u)my_leave; +#line 1331 "parse3.om" v11 = v_c; -#line 1367 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 1367 "parse3.om" -b6: v_ok = v12; -#line 1367 "parse3.om" +#line 1331 "parse3.om" + v12 = 54UL; +#line 1331 "parse3.om" + v13 = ((u (*)())(v10))(v11, v12); +#line 1332 "parse3.om" +b3: return v_ok; +#line 1331 "parse3.om" +b5: v14 = (u)my_fail; +#line 1331 "parse3.om" + v15 = v_c; +#line 1331 "parse3.om" + v16 = ((u (*)())(v14))(v15); +#line 1331 "parse3.om" goto b3; -#line 1369 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 1370 "parse3.om" -b8: v13 = (u)my_peg_P_expr; -#line 1370 "parse3.om" - v14 = v_c; -#line 1370 "parse3.om" - v15 = ((u (*)())(v13))(v14); -#line 1370 "parse3.om" -b10: v_ok = v15; -#line 1370 "parse3.om" - goto b7; -#line 1372 "parse3.om" -b7: if (!(v_ok)) { goto b11; } -#line 1373 "parse3.om" -b12: v16 = (u)my_literal; -#line 1373 "parse3.om" - v17 = v_c; -#line 1373 "parse3.om" - v18 = (u)"]"; -#line 1373 "parse3.om" - v19 = ((u (*)())(v16))(v17, v18); -#line 1373 "parse3.om" -b14: v_ok = v19; -#line 1373 "parse3.om" - goto b11; -#line 1375 "parse3.om" -b11: if (!(v_ok)) { goto b15; } -#line 1376 "parse3.om" -b16: v20 = (u)my_peg_P_sp; -#line 1376 "parse3.om" - v21 = v_c; -#line 1376 "parse3.om" - v22 = ((u (*)())(v20))(v21); -#line 1376 "parse3.om" -b18: v_ok = v22; -#line 1376 "parse3.om" - goto b15; -#line 1378 "parse3.om" -b15: if (!(v_ok)) { goto b21; } -#line 1378 "parse3.om" -b20: v23 = (u)my_leave; -#line 1378 "parse3.om" - v24 = v_c; -#line 1378 "parse3.om" - v25 = 58UL; -#line 1378 "parse3.om" - v26 = ((u (*)())(v23))(v24, v25); -#line 1379 "parse3.om" -b19: return v_ok; -#line 1378 "parse3.om" -b21: v27 = (u)my_fail; -#line 1378 "parse3.om" - v28 = v_c; -#line 1378 "parse3.om" - v29 = ((u (*)())(v27))(v28); -#line 1378 "parse3.om" - goto b19; } -u my_peg_P_int(u v_c) { +u my_peg_P_nil(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -48831,187 +47806,86 @@ u my_peg_P_int(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1923 "parse3.om" +#line 2005 "parse3.om" b0: v2 = (u)my_enter; -#line 1923 "parse3.om" +#line 2005 "parse3.om" v3 = v_c; -#line 1923 "parse3.om" - v4 = 83UL; -#line 1923 "parse3.om" +#line 2005 "parse3.om" + v4 = 87UL; +#line 2005 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1924 "parse3.om" +#line 2006 "parse3.om" b1: v6 = (u)my_literal; -#line 1924 "parse3.om" +#line 2006 "parse3.om" v7 = v_c; -#line 1924 "parse3.om" - v8 = (u)"int"; -#line 1924 "parse3.om" +#line 2006 "parse3.om" + v8 = (u)"nil"; +#line 2006 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1924 "parse3.om" +#line 2006 "parse3.om" b2: v_ok = v9; -#line 1925 "parse3.om" +#line 2007 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1926 "parse3.om" +#line 2008 "parse3.om" b4: v10 = (u)my_choice; -#line 1926 "parse3.om" +#line 2008 "parse3.om" v11 = v_c; -#line 1926 "parse3.om" +#line 2008 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1927 "parse3.om" +#line 2009 "parse3.om" b6: v13 = (u)my_charset; -#line 1927 "parse3.om" +#line 2009 "parse3.om" v14 = v_c; -#line 1927 "parse3.om" +#line 2009 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1927 "parse3.om" +#line 2009 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1927 "parse3.om" +#line 2009 "parse3.om" b7: v_ok = v16; -#line 1928 "parse3.om" +#line 2010 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1928 "parse3.om" +#line 2010 "parse3.om" b9: v17 = (u)my_fail; -#line 1928 "parse3.om" +#line 2010 "parse3.om" v18 = v_c; -#line 1928 "parse3.om" +#line 2010 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1928 "parse3.om" +#line 2010 "parse3.om" b11: v20 = (u)my_fail; -#line 1928 "parse3.om" +#line 2010 "parse3.om" v21 = v_c; -#line 1928 "parse3.om" +#line 2010 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1928 "parse3.om" +#line 2010 "parse3.om" b12: v_ok = 0UL; -#line 1928 "parse3.om" +#line 2010 "parse3.om" goto b3; -#line 1930 "parse3.om" +#line 2012 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1930 "parse3.om" +#line 2012 "parse3.om" b14: v23 = (u)my_leave; -#line 1930 "parse3.om" +#line 2012 "parse3.om" v24 = v_c; -#line 1930 "parse3.om" - v25 = 83UL; -#line 1930 "parse3.om" +#line 2012 "parse3.om" + v25 = 87UL; +#line 2012 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1931 "parse3.om" +#line 2013 "parse3.om" b13: return v_ok; -#line 1930 "parse3.om" +#line 2012 "parse3.om" b15: v27 = (u)my_fail; -#line 1930 "parse3.om" - v28 = v_c; -#line 1930 "parse3.om" - v29 = ((u (*)())(v27))(v28); -#line 1930 "parse3.om" - goto b13; -#line 1928 "parse3.om" -b10: v_ok = 1UL; -#line 1928 "parse3.om" - goto b3; -} -u my_peg_P_label_stmt(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; -#line 814 "parse3.om" -b0: v2 = (u)my_enter; -#line 814 "parse3.om" - v3 = v_c; -#line 814 "parse3.om" - v4 = 21UL; -#line 814 "parse3.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 815 "parse3.om" -b1: v6 = (u)my_peg_P_ident; -#line 815 "parse3.om" - v7 = v_c; -#line 815 "parse3.om" - v8 = ((u (*)())(v6))(v7); -#line 815 "parse3.om" -b2: v_ok = v8; -#line 816 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 817 "parse3.om" -b4: v9 = (u)my_peg_P_sp; -#line 817 "parse3.om" - v10 = v_c; -#line 817 "parse3.om" - v11 = ((u (*)())(v9))(v10); -#line 817 "parse3.om" -b6: v_ok = v11; -#line 817 "parse3.om" - goto b3; -#line 819 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 820 "parse3.om" -b8: v12 = (u)my_literal; -#line 820 "parse3.om" - v13 = v_c; -#line 820 "parse3.om" - v14 = (u)":"; -#line 820 "parse3.om" - v15 = ((u (*)())(v12))(v13, v14); -#line 820 "parse3.om" -b10: v_ok = v15; -#line 820 "parse3.om" - goto b7; -#line 822 "parse3.om" -b7: if (!(v_ok)) { goto b11; } -#line 823 "parse3.om" -b12: v16 = (u)my_peg_P_sp; -#line 823 "parse3.om" - v17 = v_c; -#line 823 "parse3.om" - v18 = ((u (*)())(v16))(v17); -#line 823 "parse3.om" -b14: v_ok = v18; -#line 823 "parse3.om" - goto b11; -#line 825 "parse3.om" -b11: if (!(v_ok)) { goto b17; } -#line 825 "parse3.om" -b16: v19 = (u)my_leave; -#line 825 "parse3.om" - v20 = v_c; -#line 825 "parse3.om" - v21 = 21UL; -#line 825 "parse3.om" - v22 = ((u (*)())(v19))(v20, v21); -#line 826 "parse3.om" -b15: return v_ok; -#line 825 "parse3.om" -b17: v23 = (u)my_fail; -#line 825 "parse3.om" - v24 = v_c; -#line 825 "parse3.om" - v25 = ((u (*)())(v23))(v24); -#line 825 "parse3.om" - goto b15; +#line 2012 "parse3.om" + v28 = v_c; +#line 2012 "parse3.om" + v29 = ((u (*)())(v27))(v28); +#line 2012 "parse3.om" + goto b13; +#line 2010 "parse3.om" +b10: v_ok = 1UL; +#line 2010 "parse3.om" + goto b3; } -u my_peg_P_le_op(u v_c) { +u my_peg_P_not_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -49028,46 +47902,46 @@ u my_peg_P_le_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 978 "parse3.om" +#line 1337 "parse3.om" b0: v2 = (u)my_enter; -#line 978 "parse3.om" +#line 1337 "parse3.om" v3 = v_c; -#line 978 "parse3.om" - v4 = 31UL; -#line 978 "parse3.om" +#line 1337 "parse3.om" + v4 = 55UL; +#line 1337 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 979 "parse3.om" +#line 1338 "parse3.om" b1: v6 = (u)my_literal; -#line 979 "parse3.om" +#line 1338 "parse3.om" v7 = v_c; -#line 979 "parse3.om" - v8 = (u)"<="; -#line 979 "parse3.om" +#line 1338 "parse3.om" + v8 = (u)"~"; +#line 1338 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 979 "parse3.om" +#line 1338 "parse3.om" b2: v_ok = v9; -#line 980 "parse3.om" +#line 1339 "parse3.om" if (!(v_ok)) { goto b5; } -#line 980 "parse3.om" +#line 1339 "parse3.om" b4: v10 = (u)my_leave; -#line 980 "parse3.om" +#line 1339 "parse3.om" v11 = v_c; -#line 980 "parse3.om" - v12 = 31UL; -#line 980 "parse3.om" +#line 1339 "parse3.om" + v12 = 55UL; +#line 1339 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 981 "parse3.om" +#line 1340 "parse3.om" b3: return v_ok; -#line 980 "parse3.om" +#line 1339 "parse3.om" b5: v14 = (u)my_fail; -#line 980 "parse3.om" +#line 1339 "parse3.om" v15 = v_c; -#line 980 "parse3.om" +#line 1339 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 980 "parse3.om" +#line 1339 "parse3.om" goto b3; } -u my_peg_P_loop(u v_c) { +u my_peg_P_or_op(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -49097,86 +47971,86 @@ u my_peg_P_loop(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1819 "parse3.om" +#line 1128 "parse3.om" b0: v2 = (u)my_enter; -#line 1819 "parse3.om" +#line 1128 "parse3.om" v3 = v_c; -#line 1819 "parse3.om" - v4 = 75UL; -#line 1819 "parse3.om" +#line 1128 "parse3.om" + v4 = 40UL; +#line 1128 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1820 "parse3.om" +#line 1129 "parse3.om" b1: v6 = (u)my_literal; -#line 1820 "parse3.om" +#line 1129 "parse3.om" v7 = v_c; -#line 1820 "parse3.om" - v8 = (u)"loop"; -#line 1820 "parse3.om" +#line 1129 "parse3.om" + v8 = (u)"|"; +#line 1129 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1820 "parse3.om" +#line 1129 "parse3.om" b2: v_ok = v9; -#line 1821 "parse3.om" +#line 1130 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1822 "parse3.om" +#line 1131 "parse3.om" b4: v10 = (u)my_choice; -#line 1822 "parse3.om" +#line 1131 "parse3.om" v11 = v_c; -#line 1822 "parse3.om" +#line 1131 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1823 "parse3.om" -b6: v13 = (u)my_charset; -#line 1823 "parse3.om" +#line 1132 "parse3.om" +b6: v13 = (u)my_literal; +#line 1132 "parse3.om" v14 = v_c; -#line 1823 "parse3.om" - v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1823 "parse3.om" +#line 1132 "parse3.om" + v15 = (u)"|"; +#line 1132 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1823 "parse3.om" +#line 1132 "parse3.om" b7: v_ok = v16; -#line 1824 "parse3.om" +#line 1133 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1824 "parse3.om" +#line 1133 "parse3.om" b9: v17 = (u)my_fail; -#line 1824 "parse3.om" +#line 1133 "parse3.om" v18 = v_c; -#line 1824 "parse3.om" +#line 1133 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1824 "parse3.om" +#line 1133 "parse3.om" b11: v20 = (u)my_fail; -#line 1824 "parse3.om" +#line 1133 "parse3.om" v21 = v_c; -#line 1824 "parse3.om" +#line 1133 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1824 "parse3.om" +#line 1133 "parse3.om" b12: v_ok = 0UL; -#line 1824 "parse3.om" +#line 1133 "parse3.om" goto b3; -#line 1826 "parse3.om" +#line 1135 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1826 "parse3.om" +#line 1135 "parse3.om" b14: v23 = (u)my_leave; -#line 1826 "parse3.om" +#line 1135 "parse3.om" v24 = v_c; -#line 1826 "parse3.om" - v25 = 75UL; -#line 1826 "parse3.om" +#line 1135 "parse3.om" + v25 = 40UL; +#line 1135 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1827 "parse3.om" +#line 1136 "parse3.om" b13: return v_ok; -#line 1826 "parse3.om" +#line 1135 "parse3.om" b15: v27 = (u)my_fail; -#line 1826 "parse3.om" +#line 1135 "parse3.om" v28 = v_c; -#line 1826 "parse3.om" +#line 1135 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1826 "parse3.om" +#line 1135 "parse3.om" goto b13; -#line 1824 "parse3.om" +#line 1133 "parse3.om" b10: v_ok = 1UL; -#line 1824 "parse3.om" +#line 1133 "parse3.om" goto b3; } -u my_peg_P_loop_stmt(u v_c) { +u my_peg_P_peg_alternative(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -49201,80 +48075,85 @@ u my_peg_P_loop_stmt(u v_c) { u v22 = 0; u v23 = 0; u v24 = 0; -#line 706 "parse3.om" + u v25 = 0; +#line 2168 "parse3.om" b0: v2 = (u)my_enter; -#line 706 "parse3.om" +#line 2168 "parse3.om" v3 = v_c; -#line 706 "parse3.om" - v4 = 16UL; -#line 706 "parse3.om" +#line 2168 "parse3.om" + v4 = 94UL; +#line 2168 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 707 "parse3.om" -b1: v6 = (u)my_peg_P_loop; -#line 707 "parse3.om" +#line 2169 "parse3.om" +b1: v6 = (u)my_peg_P_peg_lookahead; +#line 2169 "parse3.om" v7 = v_c; -#line 707 "parse3.om" +#line 2169 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 707 "parse3.om" +#line 2169 "parse3.om" b2: v_ok = v8; -#line 708 "parse3.om" +#line 2170 "parse3.om" if (!(v_ok)) { goto b3; } -#line 709 "parse3.om" -b4: v9 = (u)my_peg_P_sp; -#line 709 "parse3.om" +#line 2172 "parse3.om" +b6: v9 = (u)my_choice; +#line 2172 "parse3.om" v10 = v_c; -#line 709 "parse3.om" +#line 2172 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 709 "parse3.om" -b6: v_ok = v11; -#line 709 "parse3.om" - goto b3; -#line 711 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 712 "parse3.om" -b8: v12 = (u)my_peg_P_compound_stmt; -#line 712 "parse3.om" +#line 2173 "parse3.om" +b8: v12 = (u)my_peg_P_peg_lookahead; +#line 2173 "parse3.om" v13 = v_c; -#line 712 "parse3.om" +#line 2173 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 712 "parse3.om" -b10: v_ok = v14; -#line 712 "parse3.om" - goto b7; -#line 714 "parse3.om" -b7: if (!(v_ok)) { goto b11; } -#line 715 "parse3.om" -b12: v15 = (u)my_peg_P_sp; -#line 715 "parse3.om" - v16 = v_c; -#line 715 "parse3.om" - v17 = ((u (*)())(v15))(v16); -#line 715 "parse3.om" -b14: v_ok = v17; -#line 715 "parse3.om" - goto b11; -#line 717 "parse3.om" -b11: if (!(v_ok)) { goto b17; } -#line 717 "parse3.om" -b16: v18 = (u)my_leave; -#line 717 "parse3.om" - v19 = v_c; -#line 717 "parse3.om" - v20 = 16UL; -#line 717 "parse3.om" - v21 = ((u (*)())(v18))(v19, v20); -#line 718 "parse3.om" -b15: return v_ok; -#line 717 "parse3.om" -b17: v22 = (u)my_fail; -#line 717 "parse3.om" - v23 = v_c; -#line 717 "parse3.om" - v24 = ((u (*)())(v22))(v23); -#line 717 "parse3.om" +#line 2173 "parse3.om" +b9: v_ok = v14; +#line 2174 "parse3.om" + if (!(v_ok)) { goto b14; } +#line 2174 "parse3.om" +b13: v15 = 0UL; +#line 2174 "parse3.om" + goto b15; +#line 2174 "parse3.om" +b15: if (!(v15)) { goto b10; } +#line 2174 "parse3.om" +b11: v_ok = 1UL; +#line 2174 "parse3.om" + goto b3; +#line 2178 "parse3.om" +b3: if (!(v_ok)) { goto b19; } +#line 2178 "parse3.om" +b18: v19 = (u)my_leave; +#line 2178 "parse3.om" + v20 = v_c; +#line 2178 "parse3.om" + v21 = 94UL; +#line 2178 "parse3.om" + v22 = ((u (*)())(v19))(v20, v21); +#line 2179 "parse3.om" +b17: return v_ok; +#line 2178 "parse3.om" +b19: v23 = (u)my_fail; +#line 2178 "parse3.om" + v24 = v_c; +#line 2178 "parse3.om" + v25 = ((u (*)())(v23))(v24); +#line 2178 "parse3.om" + goto b17; +#line 2175 "parse3.om" +b10: v16 = (u)my_commit; +#line 2175 "parse3.om" + v17 = v_c; +#line 2175 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 2175 "parse3.om" + goto b6; +#line 2174 "parse3.om" +b14: v15 = 1UL; +#line 2174 "parse3.om" goto b15; } -u my_peg_P_lsh_op(u v_c) { +u my_peg_P_peg_any(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -49291,46 +48170,46 @@ u my_peg_P_lsh_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1227 "parse3.om" +#line 2269 "parse3.om" b0: v2 = (u)my_enter; -#line 1227 "parse3.om" +#line 2269 "parse3.om" v3 = v_c; -#line 1227 "parse3.om" - v4 = 48UL; -#line 1227 "parse3.om" +#line 2269 "parse3.om" + v4 = 100UL; +#line 2269 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1228 "parse3.om" +#line 2270 "parse3.om" b1: v6 = (u)my_literal; -#line 1228 "parse3.om" +#line 2270 "parse3.om" v7 = v_c; -#line 1228 "parse3.om" - v8 = (u)"<<"; -#line 1228 "parse3.om" +#line 2270 "parse3.om" + v8 = (u)"."; +#line 2270 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1228 "parse3.om" +#line 2270 "parse3.om" b2: v_ok = v9; -#line 1229 "parse3.om" +#line 2271 "parse3.om" if (!(v_ok)) { goto b5; } -#line 1229 "parse3.om" +#line 2271 "parse3.om" b4: v10 = (u)my_leave; -#line 1229 "parse3.om" +#line 2271 "parse3.om" v11 = v_c; -#line 1229 "parse3.om" - v12 = 48UL; -#line 1229 "parse3.om" +#line 2271 "parse3.om" + v12 = 100UL; +#line 2271 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 1230 "parse3.om" +#line 2272 "parse3.om" b3: return v_ok; -#line 1229 "parse3.om" +#line 2271 "parse3.om" b5: v14 = (u)my_fail; -#line 1229 "parse3.om" +#line 2271 "parse3.om" v15 = v_c; -#line 1229 "parse3.om" +#line 2271 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 1229 "parse3.om" +#line 2271 "parse3.om" goto b3; } -u my_peg_P_lt_op(u v_c) { +u my_peg_P_peg_call(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -49362,137 +48241,96 @@ u my_peg_P_lt_op(u v_c) { u v29 = 0; u v30 = 0; u v31 = 0; - u v32 = 0; - u v33 = 0; - u v34 = 0; - u v35 = 0; - u v36 = 0; - u v37 = 0; - u v38 = 0; - u v39 = 0; - u v40 = 0; - u v41 = 0; - u v42 = 0; -#line 994 "parse3.om" +#line 2336 "parse3.om" b0: v2 = (u)my_enter; -#line 994 "parse3.om" +#line 2336 "parse3.om" v3 = v_c; -#line 994 "parse3.om" - v4 = 33UL; -#line 994 "parse3.om" +#line 2336 "parse3.om" + v4 = 103UL; +#line 2336 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 995 "parse3.om" -b1: v6 = (u)my_literal; -#line 995 "parse3.om" +#line 2337 "parse3.om" +b1: v6 = (u)my_peg_P_peg_identifier; +#line 2337 "parse3.om" v7 = v_c; -#line 995 "parse3.om" - v8 = (u)"<"; -#line 995 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 995 "parse3.om" -b2: v_ok = v9; -#line 996 "parse3.om" +#line 2337 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 2337 "parse3.om" +b2: v_ok = v8; +#line 2338 "parse3.om" if (!(v_ok)) { goto b3; } -#line 997 "parse3.om" -b4: v10 = (u)my_choice; -#line 997 "parse3.om" - v11 = v_c; -#line 997 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 998 "parse3.om" -b6: v13 = (u)my_literal; -#line 998 "parse3.om" - v14 = v_c; -#line 998 "parse3.om" - v15 = (u)"="; -#line 998 "parse3.om" - v16 = ((u (*)())(v13))(v14, v15); -#line 998 "parse3.om" -b7: v_ok = v16; -#line 999 "parse3.om" - if (!(v_ok)) { goto b10; } -#line 999 "parse3.om" -b9: v17 = (u)my_fail; -#line 999 "parse3.om" - v18 = v_c; -#line 999 "parse3.om" - v19 = ((u (*)())(v17))(v18); -#line 999 "parse3.om" -b11: v20 = (u)my_fail; -#line 999 "parse3.om" - v21 = v_c; -#line 999 "parse3.om" - v22 = ((u (*)())(v20))(v21); -#line 999 "parse3.om" -b12: v_ok = 0UL; -#line 999 "parse3.om" +#line 2339 "parse3.om" +b4: v9 = (u)my_choice; +#line 2339 "parse3.om" + v10 = v_c; +#line 2339 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 2340 "parse3.om" +b6: v12 = (u)my_peg_P_sp; +#line 2340 "parse3.om" + v13 = v_c; +#line 2340 "parse3.om" + v14 = ((u (*)())(v12))(v13); +#line 2340 "parse3.om" +b7: v_ok = v14; +#line 2341 "parse3.om" + if (!(v_ok)) { goto b8; } +#line 2342 "parse3.om" +b9: v15 = (u)my_literal; +#line 2342 "parse3.om" + v16 = v_c; +#line 2342 "parse3.om" + v17 = (u)"<-"; +#line 2342 "parse3.om" + v18 = ((u (*)())(v15))(v16, v17); +#line 2342 "parse3.om" +b11: v_ok = v18; +#line 2342 "parse3.om" + goto b8; +#line 2344 "parse3.om" +b8: if (!(v_ok)) { goto b14; } +#line 2344 "parse3.om" +b13: v19 = (u)my_fail; +#line 2344 "parse3.om" + v20 = v_c; +#line 2344 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 2344 "parse3.om" +b15: v22 = (u)my_fail; +#line 2344 "parse3.om" + v23 = v_c; +#line 2344 "parse3.om" + v24 = ((u (*)())(v22))(v23); +#line 2344 "parse3.om" +b16: v_ok = 0UL; +#line 2344 "parse3.om" goto b3; -#line 1001 "parse3.om" -b3: if (!(v_ok)) { goto b13; } -#line 1002 "parse3.om" -b14: v23 = (u)my_choice; -#line 1002 "parse3.om" - v24 = v_c; -#line 1002 "parse3.om" - v25 = ((u (*)())(v23))(v24); -#line 1003 "parse3.om" -b16: v26 = (u)my_literal; -#line 1003 "parse3.om" - v27 = v_c; -#line 1003 "parse3.om" - v28 = (u)"<"; -#line 1003 "parse3.om" - v29 = ((u (*)())(v26))(v27, v28); -#line 1003 "parse3.om" -b17: v_ok = v29; -#line 1004 "parse3.om" - if (!(v_ok)) { goto b20; } -#line 1004 "parse3.om" -b19: v30 = (u)my_fail; -#line 1004 "parse3.om" - v31 = v_c; -#line 1004 "parse3.om" - v32 = ((u (*)())(v30))(v31); -#line 1004 "parse3.om" -b21: v33 = (u)my_fail; -#line 1004 "parse3.om" - v34 = v_c; -#line 1004 "parse3.om" - v35 = ((u (*)())(v33))(v34); -#line 1004 "parse3.om" -b22: v_ok = 0UL; -#line 1004 "parse3.om" - goto b13; -#line 1006 "parse3.om" -b13: if (!(v_ok)) { goto b25; } -#line 1006 "parse3.om" -b24: v36 = (u)my_leave; -#line 1006 "parse3.om" - v37 = v_c; -#line 1006 "parse3.om" - v38 = 33UL; -#line 1006 "parse3.om" - v39 = ((u (*)())(v36))(v37, v38); -#line 1007 "parse3.om" -b23: return v_ok; -#line 1006 "parse3.om" -b25: v40 = (u)my_fail; -#line 1006 "parse3.om" - v41 = v_c; -#line 1006 "parse3.om" - v42 = ((u (*)())(v40))(v41); -#line 1006 "parse3.om" - goto b23; -#line 1004 "parse3.om" -b20: v_ok = 1UL; -#line 1004 "parse3.om" - goto b13; -#line 999 "parse3.om" -b10: v_ok = 1UL; -#line 999 "parse3.om" +#line 2346 "parse3.om" +b3: if (!(v_ok)) { goto b19; } +#line 2346 "parse3.om" +b18: v25 = (u)my_leave; +#line 2346 "parse3.om" + v26 = v_c; +#line 2346 "parse3.om" + v27 = 103UL; +#line 2346 "parse3.om" + v28 = ((u (*)())(v25))(v26, v27); +#line 2347 "parse3.om" +b17: return v_ok; +#line 2346 "parse3.om" +b19: v29 = (u)my_fail; +#line 2346 "parse3.om" + v30 = v_c; +#line 2346 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 2346 "parse3.om" + goto b17; +#line 2344 "parse3.om" +b14: v_ok = 1UL; +#line 2344 "parse3.om" goto b3; } -u my_peg_P_member_decl(u v_c) { +u my_peg_P_peg_class(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -49528,221 +48366,247 @@ u my_peg_P_member_decl(u v_c) { u v33 = 0; u v34 = 0; u v35 = 0; -#line 295 "parse3.om" -b0: v2 = (u)my_enter; -#line 295 "parse3.om" - v3 = v_c; -#line 295 "parse3.om" - v4 = 3UL; -#line 295 "parse3.om" - v5 = ((u (*)())(v2))(v3, v4); -#line 296 "parse3.om" -b1: v6 = (u)my_peg_P_ident; -#line 296 "parse3.om" - v7 = v_c; -#line 296 "parse3.om" - v8 = ((u (*)())(v6))(v7); -#line 296 "parse3.om" -b2: v_ok = v8; -#line 297 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 298 "parse3.om" -b4: v9 = (u)my_peg_P_sp; -#line 298 "parse3.om" - v10 = v_c; -#line 298 "parse3.om" - v11 = ((u (*)())(v9))(v10); -#line 298 "parse3.om" -b6: v_ok = v11; -#line 298 "parse3.om" - goto b3; -#line 300 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 301 "parse3.om" -b8: v12 = (u)my_literal; -#line 301 "parse3.om" - v13 = v_c; -#line 301 "parse3.om" - v14 = (u)":"; -#line 301 "parse3.om" - v15 = ((u (*)())(v12))(v13, v14); -#line 301 "parse3.om" -b10: v_ok = v15; -#line 301 "parse3.om" - goto b7; -#line 303 "parse3.om" -b7: if (!(v_ok)) { goto b11; } -#line 304 "parse3.om" -b12: v16 = (u)my_peg_P_sp; -#line 304 "parse3.om" - v17 = v_c; -#line 304 "parse3.om" - v18 = ((u (*)())(v16))(v17); -#line 304 "parse3.om" -b14: v_ok = v18; -#line 304 "parse3.om" - goto b11; -#line 306 "parse3.om" -b11: if (!(v_ok)) { goto b15; } -#line 307 "parse3.om" -b16: v19 = (u)my_peg_P_type; -#line 307 "parse3.om" - v20 = v_c; -#line 307 "parse3.om" - v21 = ((u (*)())(v19))(v20); -#line 307 "parse3.om" -b18: v_ok = v21; -#line 307 "parse3.om" - goto b15; -#line 309 "parse3.om" -b15: if (!(v_ok)) { goto b19; } -#line 310 "parse3.om" -b20: v22 = (u)my_literal; -#line 310 "parse3.om" - v23 = v_c; -#line 310 "parse3.om" - v24 = (u)";"; -#line 310 "parse3.om" - v25 = ((u (*)())(v22))(v23, v24); -#line 310 "parse3.om" -b22: v_ok = v25; -#line 310 "parse3.om" - goto b19; -#line 312 "parse3.om" -b19: if (!(v_ok)) { goto b23; } -#line 313 "parse3.om" -b24: v26 = (u)my_peg_P_sp; -#line 313 "parse3.om" - v27 = v_c; -#line 313 "parse3.om" - v28 = ((u (*)())(v26))(v27); -#line 313 "parse3.om" -b26: v_ok = v28; -#line 313 "parse3.om" - goto b23; -#line 315 "parse3.om" -b23: if (!(v_ok)) { goto b29; } -#line 315 "parse3.om" -b28: v29 = (u)my_leave; -#line 315 "parse3.om" - v30 = v_c; -#line 315 "parse3.om" - v31 = 3UL; -#line 315 "parse3.om" - v32 = ((u (*)())(v29))(v30, v31); -#line 316 "parse3.om" -b27: return v_ok; -#line 315 "parse3.om" -b29: v33 = (u)my_fail; -#line 315 "parse3.om" - v34 = v_c; -#line 315 "parse3.om" - v35 = ((u (*)())(v33))(v34); -#line 315 "parse3.om" - goto b27; -} -u my_peg_P_member_expr(u v_c) { - u v_ok = 0; - u v2 = 0; - u v3 = 0; - u v4 = 0; - u v5 = 0; - u v6 = 0; - u v7 = 0; - u v8 = 0; - u v9 = 0; - u v10 = 0; - u v11 = 0; - u v12 = 0; - u v13 = 0; - u v14 = 0; - u v15 = 0; - u v16 = 0; - u v17 = 0; - u v18 = 0; - u v19 = 0; - u v20 = 0; - u v21 = 0; - u v22 = 0; - u v23 = 0; - u v24 = 0; - u v25 = 0; -#line 1428 "parse3.om" + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; + u v41 = 0; + u v42 = 0; + u v43 = 0; + u v44 = 0; + u v45 = 0; + u v46 = 0; + u v47 = 0; + u v48 = 0; + u v49 = 0; + u v50 = 0; + u v51 = 0; + u v52 = 0; + u v53 = 0; + u v54 = 0; + u v55 = 0; + u v56 = 0; + u v57 = 0; + u v58 = 0; + u v59 = 0; + u v60 = 0; + u v61 = 0; + u v62 = 0; + u v63 = 0; + u v64 = 0; + u v65 = 0; + u v66 = 0; +#line 2301 "parse3.om" b0: v2 = (u)my_enter; -#line 1428 "parse3.om" +#line 2301 "parse3.om" v3 = v_c; -#line 1428 "parse3.om" - v4 = 60UL; -#line 1428 "parse3.om" +#line 2301 "parse3.om" + v4 = 102UL; +#line 2301 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1429 "parse3.om" +#line 2302 "parse3.om" b1: v6 = (u)my_literal; -#line 1429 "parse3.om" - v7 = v_c; -#line 1429 "parse3.om" - v8 = (u)"."; -#line 1429 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 1429 "parse3.om" -b2: v_ok = v9; -#line 1430 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 1431 "parse3.om" -b4: v10 = (u)my_peg_P_sp; -#line 1431 "parse3.om" - v11 = v_c; -#line 1431 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 1431 "parse3.om" -b6: v_ok = v12; -#line 1431 "parse3.om" - goto b3; -#line 1433 "parse3.om" -b3: if (!(v_ok)) { goto b7; } -#line 1434 "parse3.om" -b8: v13 = (u)my_peg_P_ident; -#line 1434 "parse3.om" - v14 = v_c; -#line 1434 "parse3.om" - v15 = ((u (*)())(v13))(v14); -#line 1434 "parse3.om" -b10: v_ok = v15; -#line 1434 "parse3.om" - goto b7; -#line 1436 "parse3.om" -b7: if (!(v_ok)) { goto b11; } -#line 1437 "parse3.om" -b12: v16 = (u)my_peg_P_sp; -#line 1437 "parse3.om" - v17 = v_c; -#line 1437 "parse3.om" - v18 = ((u (*)())(v16))(v17); -#line 1437 "parse3.om" -b14: v_ok = v18; -#line 1437 "parse3.om" - goto b11; -#line 1439 "parse3.om" -b11: if (!(v_ok)) { goto b17; } -#line 1439 "parse3.om" -b16: v19 = (u)my_leave; -#line 1439 "parse3.om" - v20 = v_c; -#line 1439 "parse3.om" - v21 = 60UL; -#line 1439 "parse3.om" - v22 = ((u (*)())(v19))(v20, v21); -#line 1440 "parse3.om" -b15: return v_ok; -#line 1439 "parse3.om" -b17: v23 = (u)my_fail; -#line 1439 "parse3.om" +#line 2302 "parse3.om" + v7 = v_c; +#line 2302 "parse3.om" + v8 = (u)"["; +#line 2302 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 2302 "parse3.om" +b2: v_ok = v9; +#line 2303 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 2305 "parse3.om" +b6: v10 = (u)my_choice; +#line 2305 "parse3.om" + v11 = v_c; +#line 2305 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 2306 "parse3.om" +b8: v13 = (u)my_choice; +#line 2306 "parse3.om" + v14 = v_c; +#line 2306 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 2307 "parse3.om" +b9: v16 = (u)my_literal; +#line 2307 "parse3.om" + v17 = v_c; +#line 2307 "parse3.om" + v18 = (u)"]"; +#line 2307 "parse3.om" + v19 = ((u (*)())(v16))(v17, v18); +#line 2307 "parse3.om" +b10: v_ok = v19; +#line 2308 "parse3.om" + if (!(v_ok)) { goto b13; } +#line 2308 "parse3.om" +b12: v20 = (u)my_fail; +#line 2308 "parse3.om" + v21 = v_c; +#line 2308 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 2308 "parse3.om" +b14: v23 = (u)my_fail; +#line 2308 "parse3.om" v24 = v_c; -#line 1439 "parse3.om" +#line 2308 "parse3.om" v25 = ((u (*)())(v23))(v24); -#line 1439 "parse3.om" - goto b15; +#line 2308 "parse3.om" +b15: v_ok = 0UL; +#line 2308 "parse3.om" + goto b11; +#line 2309 "parse3.om" +b11: if (!(v_ok)) { goto b16; } +#line 2310 "parse3.om" +b17: v26 = (u)my_choice; +#line 2310 "parse3.om" + v27 = v_c; +#line 2310 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 2311 "parse3.om" +b19: v29 = (u)my_any; +#line 2311 "parse3.om" + v30 = v_c; +#line 2311 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 2311 "parse3.om" +b20: v_ok = v31; +#line 2312 "parse3.om" + if (!(v_ok)) { goto b21; } +#line 2313 "parse3.om" +b22: v32 = (u)my_literal; +#line 2313 "parse3.om" + v33 = v_c; +#line 2313 "parse3.om" + v34 = (u)"-"; +#line 2313 "parse3.om" + v35 = ((u (*)())(v32))(v33, v34); +#line 2313 "parse3.om" +b24: v_ok = v35; +#line 2313 "parse3.om" + goto b21; +#line 2315 "parse3.om" +b21: if (!(v_ok)) { goto b25; } +#line 2316 "parse3.om" +b26: v36 = (u)my_any; +#line 2316 "parse3.om" + v37 = v_c; +#line 2316 "parse3.om" + v38 = ((u (*)())(v36))(v37); +#line 2316 "parse3.om" +b28: v_ok = v38; +#line 2316 "parse3.om" + goto b25; +#line 2318 "parse3.om" +b25: if (!(v_ok)) { goto b33; } +#line 2318 "parse3.om" +b32: v39 = 0UL; +#line 2318 "parse3.om" + goto b34; +#line 2318 "parse3.om" +b34: if (!(v39)) { goto b29; } +#line 2318 "parse3.om" +b30: v40 = (u)my_choice; +#line 2318 "parse3.om" + v41 = v_c; +#line 2318 "parse3.om" + v42 = ((u (*)())(v40))(v41); +#line 2319 "parse3.om" +b35: v43 = (u)my_any; +#line 2319 "parse3.om" + v44 = v_c; +#line 2319 "parse3.om" + v45 = ((u (*)())(v43))(v44); +#line 2319 "parse3.om" +b36: v_ok = v45; +#line 2319 "parse3.om" + goto b29; +#line 2321 "parse3.om" +b29: if (!(v_ok)) { goto b39; } +#line 2321 "parse3.om" +b38: v46 = (u)my_commit; +#line 2321 "parse3.om" + v47 = v_c; +#line 2321 "parse3.om" + v48 = ((u (*)())(v46))(v47); +#line 2323 "parse3.om" +b16: if (!(v_ok)) { goto b46; } +#line 2323 "parse3.om" +b45: v52 = 0UL; +#line 2323 "parse3.om" + goto b47; +#line 2323 "parse3.om" +b47: if (!(v52)) { goto b42; } +#line 2323 "parse3.om" +b43: v_ok = 1UL; +#line 2323 "parse3.om" + goto b3; +#line 2327 "parse3.om" +b3: if (!(v_ok)) { goto b49; } +#line 2328 "parse3.om" +b50: v56 = (u)my_literal; +#line 2328 "parse3.om" + v57 = v_c; +#line 2328 "parse3.om" + v58 = (u)"]"; +#line 2328 "parse3.om" + v59 = ((u (*)())(v56))(v57, v58); +#line 2328 "parse3.om" +b52: v_ok = v59; +#line 2328 "parse3.om" + goto b49; +#line 2330 "parse3.om" +b49: if (!(v_ok)) { goto b55; } +#line 2330 "parse3.om" +b54: v60 = (u)my_leave; +#line 2330 "parse3.om" + v61 = v_c; +#line 2330 "parse3.om" + v62 = 102UL; +#line 2330 "parse3.om" + v63 = ((u (*)())(v60))(v61, v62); +#line 2331 "parse3.om" +b53: return v_ok; +#line 2330 "parse3.om" +b55: v64 = (u)my_fail; +#line 2330 "parse3.om" + v65 = v_c; +#line 2330 "parse3.om" + v66 = ((u (*)())(v64))(v65); +#line 2330 "parse3.om" + goto b53; +#line 2324 "parse3.om" +b42: v53 = (u)my_commit; +#line 2324 "parse3.om" + v54 = v_c; +#line 2324 "parse3.om" + v55 = ((u (*)())(v53))(v54); +#line 2324 "parse3.om" + goto b6; +#line 2323 "parse3.om" +b46: v52 = 1UL; +#line 2323 "parse3.om" + goto b47; +#line 2321 "parse3.om" +b39: v49 = (u)my_fail; +#line 2321 "parse3.om" + v50 = v_c; +#line 2321 "parse3.om" + v51 = ((u (*)())(v49))(v50); +#line 2321 "parse3.om" + goto b16; +#line 2318 "parse3.om" +b33: v39 = 1UL; +#line 2318 "parse3.om" + goto b34; +#line 2308 "parse3.om" +b13: v_ok = 1UL; +#line 2308 "parse3.om" + goto b11; } -u my_peg_P_mod_op(u v_c) { +u my_peg_P_peg_countop(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -49759,46 +48623,46 @@ u my_peg_P_mod_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1173 "parse3.om" +#line 2208 "parse3.om" b0: v2 = (u)my_enter; -#line 1173 "parse3.om" +#line 2208 "parse3.om" v3 = v_c; -#line 1173 "parse3.om" - v4 = 45UL; -#line 1173 "parse3.om" +#line 2208 "parse3.om" + v4 = 97UL; +#line 2208 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1174 "parse3.om" -b1: v6 = (u)my_literal; -#line 1174 "parse3.om" +#line 2209 "parse3.om" +b1: v6 = (u)my_charset; +#line 2209 "parse3.om" v7 = v_c; -#line 1174 "parse3.om" - v8 = (u)"%"; -#line 1174 "parse3.om" +#line 2209 "parse3.om" + v8 = (u)"*+?"; +#line 2209 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1174 "parse3.om" +#line 2209 "parse3.om" b2: v_ok = v9; -#line 1175 "parse3.om" +#line 2210 "parse3.om" if (!(v_ok)) { goto b5; } -#line 1175 "parse3.om" +#line 2210 "parse3.om" b4: v10 = (u)my_leave; -#line 1175 "parse3.om" +#line 2210 "parse3.om" v11 = v_c; -#line 1175 "parse3.om" - v12 = 45UL; -#line 1175 "parse3.om" +#line 2210 "parse3.om" + v12 = 97UL; +#line 2210 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 1176 "parse3.om" +#line 2211 "parse3.om" b3: return v_ok; -#line 1175 "parse3.om" +#line 2210 "parse3.om" b5: v14 = (u)my_fail; -#line 1175 "parse3.om" +#line 2210 "parse3.om" v15 = v_c; -#line 1175 "parse3.om" +#line 2210 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 1175 "parse3.om" +#line 2210 "parse3.om" goto b3; } -u my_peg_P_mul_expr(u v_c) { +u my_peg_P_peg_grammar(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -49860,214 +48724,638 @@ u my_peg_P_mul_expr(u v_c) { u v59 = 0; u v60 = 0; u v61 = 0; -#line 1194 "parse3.om" + u v62 = 0; + u v63 = 0; + u v64 = 0; + u v65 = 0; + u v66 = 0; + u v67 = 0; + u v68 = 0; + u v69 = 0; + u v70 = 0; + u v71 = 0; + u v72 = 0; +#line 2070 "parse3.om" b0: v2 = (u)my_enter; -#line 1194 "parse3.om" +#line 2070 "parse3.om" v3 = v_c; -#line 1194 "parse3.om" - v4 = 47UL; -#line 1194 "parse3.om" +#line 2070 "parse3.om" + v4 = 90UL; +#line 2070 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1195 "parse3.om" -b1: v6 = (u)my_peg_P_shift_expr; -#line 1195 "parse3.om" +#line 2071 "parse3.om" +b1: v6 = (u)my_peg_P_sp; +#line 2071 "parse3.om" v7 = v_c; -#line 1195 "parse3.om" +#line 2071 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 1195 "parse3.om" +#line 2071 "parse3.om" b2: v_ok = v8; -#line 1196 "parse3.om" +#line 2072 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1198 "parse3.om" -b6: v9 = (u)my_choice; -#line 1198 "parse3.om" +#line 2073 "parse3.om" +b4: v9 = (u)my_choice; +#line 2073 "parse3.om" v10 = v_c; -#line 1198 "parse3.om" +#line 2073 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 1199 "parse3.om" -b8: v12 = (u)my_choice; -#line 1199 "parse3.om" +#line 2074 "parse3.om" +b6: v12 = (u)my_peg_P_peg_rule; +#line 2074 "parse3.om" v13 = v_c; -#line 1199 "parse3.om" +#line 2074 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 1200 "parse3.om" -b9: v15 = (u)my_peg_P_mul_op; -#line 1200 "parse3.om" - v16 = v_c; -#line 1200 "parse3.om" - v17 = ((u (*)())(v15))(v16); -#line 1200 "parse3.om" -b10: v_ok = v17; -#line 1201 "parse3.om" - if (!(v_ok)) { goto b15; } -#line 1201 "parse3.om" -b14: v18 = 0UL; -#line 1201 "parse3.om" - goto b16; -#line 1201 "parse3.om" -b16: if (!(v18)) { goto b11; } -#line 1201 "parse3.om" -b12: v19 = (u)my_choice; -#line 1201 "parse3.om" +#line 2074 "parse3.om" +b7: v_ok = v14; +#line 2075 "parse3.om" + if (!(v_ok)) { goto b12; } +#line 2075 "parse3.om" +b11: v15 = 0UL; +#line 2075 "parse3.om" + goto b13; +#line 2075 "parse3.om" +b13: if (!(v15)) { goto b8; } +#line 2075 "parse3.om" +b9: v16 = (u)my_choice; +#line 2075 "parse3.om" + v17 = v_c; +#line 2075 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 2076 "parse3.om" +b14: v19 = (u)my_peg_P_peg_prefix; +#line 2076 "parse3.om" v20 = v_c; -#line 1201 "parse3.om" +#line 2076 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 1202 "parse3.om" -b17: v22 = (u)my_peg_P_div_op; -#line 1202 "parse3.om" +#line 2076 "parse3.om" +b15: v_ok = v21; +#line 2076 "parse3.om" + goto b8; +#line 2078 "parse3.om" +b8: if (!(v_ok)) { goto b18; } +#line 2078 "parse3.om" +b17: v22 = (u)my_commit; +#line 2078 "parse3.om" v23 = v_c; -#line 1202 "parse3.om" +#line 2078 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 1202 "parse3.om" -b18: v_ok = v24; -#line 1202 "parse3.om" - goto b11; -#line 1204 "parse3.om" -b11: if (!(v_ok)) { goto b23; } -#line 1204 "parse3.om" -b22: v25 = 0UL; -#line 1204 "parse3.om" +#line 2079 "parse3.om" +b16: if (!(v_ok)) { goto b3; } +#line 2081 "parse3.om" +b24: v28 = (u)my_choice; +#line 2081 "parse3.om" + v29 = v_c; +#line 2081 "parse3.om" + v30 = ((u (*)())(v28))(v29); +#line 2082 "parse3.om" +b26: v31 = (u)my_choice; +#line 2082 "parse3.om" + v32 = v_c; +#line 2082 "parse3.om" + v33 = ((u (*)())(v31))(v32); +#line 2083 "parse3.om" +b27: v34 = (u)my_peg_P_peg_rule; +#line 2083 "parse3.om" + v35 = v_c; +#line 2083 "parse3.om" + v36 = ((u (*)())(v34))(v35); +#line 2083 "parse3.om" +b28: v_ok = v36; +#line 2084 "parse3.om" + if (!(v_ok)) { goto b33; } +#line 2084 "parse3.om" +b32: v37 = 0UL; +#line 2084 "parse3.om" + goto b34; +#line 2084 "parse3.om" +b34: if (!(v37)) { goto b29; } +#line 2084 "parse3.om" +b30: v38 = (u)my_choice; +#line 2084 "parse3.om" + v39 = v_c; +#line 2084 "parse3.om" + v40 = ((u (*)())(v38))(v39); +#line 2085 "parse3.om" +b35: v41 = (u)my_peg_P_peg_prefix; +#line 2085 "parse3.om" + v42 = v_c; +#line 2085 "parse3.om" + v43 = ((u (*)())(v41))(v42); +#line 2085 "parse3.om" +b36: v_ok = v43; +#line 2085 "parse3.om" + goto b29; +#line 2087 "parse3.om" +b29: if (!(v_ok)) { goto b39; } +#line 2087 "parse3.om" +b38: v44 = (u)my_commit; +#line 2087 "parse3.om" + v45 = v_c; +#line 2087 "parse3.om" + v46 = ((u (*)())(v44))(v45); +#line 2088 "parse3.om" +b37: if (!(v_ok)) { goto b46; } +#line 2088 "parse3.om" +b45: v50 = 0UL; +#line 2088 "parse3.om" + goto b47; +#line 2088 "parse3.om" +b47: if (!(v50)) { goto b42; } +#line 2088 "parse3.om" +b43: v_ok = 1UL; +#line 2088 "parse3.om" + goto b3; +#line 2093 "parse3.om" +b3: if (!(v_ok)) { goto b49; } +#line 2094 "parse3.om" +b50: v54 = (u)my_choice; +#line 2094 "parse3.om" + v55 = v_c; +#line 2094 "parse3.om" + v56 = ((u (*)())(v54))(v55); +#line 2095 "parse3.om" +b52: v57 = (u)my_any; +#line 2095 "parse3.om" + v58 = v_c; +#line 2095 "parse3.om" + v59 = ((u (*)())(v57))(v58); +#line 2095 "parse3.om" +b53: v_ok = v59; +#line 2096 "parse3.om" + if (!(v_ok)) { goto b56; } +#line 2096 "parse3.om" +b55: v60 = (u)my_fail; +#line 2096 "parse3.om" + v61 = v_c; +#line 2096 "parse3.om" + v62 = ((u (*)())(v60))(v61); +#line 2096 "parse3.om" +b57: v63 = (u)my_fail; +#line 2096 "parse3.om" + v64 = v_c; +#line 2096 "parse3.om" + v65 = ((u (*)())(v63))(v64); +#line 2096 "parse3.om" +b58: v_ok = 0UL; +#line 2096 "parse3.om" + goto b49; +#line 2098 "parse3.om" +b49: if (!(v_ok)) { goto b61; } +#line 2098 "parse3.om" +b60: v66 = (u)my_leave; +#line 2098 "parse3.om" + v67 = v_c; +#line 2098 "parse3.om" + v68 = 90UL; +#line 2098 "parse3.om" + v69 = ((u (*)())(v66))(v67, v68); +#line 2099 "parse3.om" +b59: return v_ok; +#line 2098 "parse3.om" +b61: v70 = (u)my_fail; +#line 2098 "parse3.om" + v71 = v_c; +#line 2098 "parse3.om" + v72 = ((u (*)())(v70))(v71); +#line 2098 "parse3.om" + goto b59; +#line 2096 "parse3.om" +b56: v_ok = 1UL; +#line 2096 "parse3.om" + goto b49; +#line 2089 "parse3.om" +b42: v51 = (u)my_commit; +#line 2089 "parse3.om" + v52 = v_c; +#line 2089 "parse3.om" + v53 = ((u (*)())(v51))(v52); +#line 2089 "parse3.om" goto b24; -#line 1204 "parse3.om" -b24: if (!(v25)) { goto b19; } -#line 1204 "parse3.om" -b20: v26 = (u)my_choice; -#line 1204 "parse3.om" +#line 2088 "parse3.om" +b46: v50 = 1UL; +#line 2088 "parse3.om" + goto b47; +#line 2087 "parse3.om" +b39: v47 = (u)my_fail; +#line 2087 "parse3.om" + v48 = v_c; +#line 2087 "parse3.om" + v49 = ((u (*)())(v47))(v48); +#line 2087 "parse3.om" + goto b37; +#line 2084 "parse3.om" +b33: v37 = 1UL; +#line 2084 "parse3.om" + goto b34; +#line 2078 "parse3.om" +b18: v25 = (u)my_fail; +#line 2078 "parse3.om" + v26 = v_c; +#line 2078 "parse3.om" + v27 = ((u (*)())(v25))(v26); +#line 2078 "parse3.om" + goto b16; +#line 2075 "parse3.om" +b12: v15 = 1UL; +#line 2075 "parse3.om" + goto b13; +} +u my_peg_P_peg_identifier(u v_c) { + u v_ok = 0; + u v2 = 0; + u v3 = 0; + u v4 = 0; + u v5 = 0; + u v6 = 0; + u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; + u v16 = 0; + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; +#line 2352 "parse3.om" +b0: v2 = (u)my_enter; +#line 2352 "parse3.om" + v3 = v_c; +#line 2352 "parse3.om" + v4 = 104UL; +#line 2352 "parse3.om" + v5 = ((u (*)())(v2))(v3, v4); +#line 2353 "parse3.om" +b1: v6 = (u)my_charset; +#line 2353 "parse3.om" + v7 = v_c; +#line 2353 "parse3.om" + v8 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 2353 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 2353 "parse3.om" +b2: v_ok = v9; +#line 2354 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 2356 "parse3.om" +b6: v10 = (u)my_choice; +#line 2356 "parse3.om" + v11 = v_c; +#line 2356 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 2357 "parse3.om" +b8: v13 = (u)my_charset; +#line 2357 "parse3.om" + v14 = v_c; +#line 2357 "parse3.om" + v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; +#line 2357 "parse3.om" + v16 = ((u (*)())(v13))(v14, v15); +#line 2357 "parse3.om" +b9: v_ok = v16; +#line 2358 "parse3.om" + if (!(v_ok)) { goto b14; } +#line 2358 "parse3.om" +b13: v17 = 0UL; +#line 2358 "parse3.om" + goto b15; +#line 2358 "parse3.om" +b15: if (!(v17)) { goto b10; } +#line 2358 "parse3.om" +b11: v_ok = 1UL; +#line 2358 "parse3.om" + goto b3; +#line 2362 "parse3.om" +b3: if (!(v_ok)) { goto b19; } +#line 2362 "parse3.om" +b18: v21 = (u)my_leave; +#line 2362 "parse3.om" + v22 = v_c; +#line 2362 "parse3.om" + v23 = 104UL; +#line 2362 "parse3.om" + v24 = ((u (*)())(v21))(v22, v23); +#line 2363 "parse3.om" +b17: return v_ok; +#line 2362 "parse3.om" +b19: v25 = (u)my_fail; +#line 2362 "parse3.om" + v26 = v_c; +#line 2362 "parse3.om" + v27 = ((u (*)())(v25))(v26); +#line 2362 "parse3.om" + goto b17; +#line 2359 "parse3.om" +b10: v18 = (u)my_commit; +#line 2359 "parse3.om" + v19 = v_c; +#line 2359 "parse3.om" + v20 = ((u (*)())(v18))(v19); +#line 2359 "parse3.om" + goto b6; +#line 2358 "parse3.om" +b14: v17 = 1UL; +#line 2358 "parse3.om" + goto b15; +} +u my_peg_P_peg_literal(u v_c) { + u v_ok = 0; + u v2 = 0; + u v3 = 0; + u v4 = 0; + u v5 = 0; + u v6 = 0; + u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; + u v16 = 0; + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; + u v30 = 0; + u v31 = 0; + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; + u v41 = 0; + u v42 = 0; + u v43 = 0; +#line 2277 "parse3.om" +b0: v2 = (u)my_enter; +#line 2277 "parse3.om" + v3 = v_c; +#line 2277 "parse3.om" + v4 = 101UL; +#line 2277 "parse3.om" + v5 = ((u (*)())(v2))(v3, v4); +#line 2278 "parse3.om" +b1: v6 = (u)my_literal; +#line 2278 "parse3.om" + v7 = v_c; +#line 2278 "parse3.om" + v8 = (u)"'"; +#line 2278 "parse3.om" + v9 = ((u (*)())(v6))(v7, v8); +#line 2278 "parse3.om" +b2: v_ok = v9; +#line 2279 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 2281 "parse3.om" +b6: v10 = (u)my_choice; +#line 2281 "parse3.om" + v11 = v_c; +#line 2281 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 2282 "parse3.om" +b8: v13 = (u)my_choice; +#line 2282 "parse3.om" + v14 = v_c; +#line 2282 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 2283 "parse3.om" +b9: v16 = (u)my_literal; +#line 2283 "parse3.om" + v17 = v_c; +#line 2283 "parse3.om" + v18 = (u)"'"; +#line 2283 "parse3.om" + v19 = ((u (*)())(v16))(v17, v18); +#line 2283 "parse3.om" +b10: v_ok = v19; +#line 2284 "parse3.om" + if (!(v_ok)) { goto b13; } +#line 2284 "parse3.om" +b12: v20 = (u)my_fail; +#line 2284 "parse3.om" + v21 = v_c; +#line 2284 "parse3.om" + v22 = ((u (*)())(v20))(v21); +#line 2284 "parse3.om" +b14: v23 = (u)my_fail; +#line 2284 "parse3.om" + v24 = v_c; +#line 2284 "parse3.om" + v25 = ((u (*)())(v23))(v24); +#line 2284 "parse3.om" +b15: v_ok = 0UL; +#line 2284 "parse3.om" + goto b11; +#line 2285 "parse3.om" +b11: if (!(v_ok)) { goto b16; } +#line 2286 "parse3.om" +b17: v26 = (u)my_any; +#line 2286 "parse3.om" v27 = v_c; -#line 1204 "parse3.om" +#line 2286 "parse3.om" v28 = ((u (*)())(v26))(v27); -#line 1205 "parse3.om" -b25: v29 = (u)my_peg_P_mod_op; -#line 1205 "parse3.om" - v30 = v_c; -#line 1205 "parse3.om" - v31 = ((u (*)())(v29))(v30); -#line 1205 "parse3.om" -b26: v_ok = v31; -#line 1205 "parse3.om" - goto b19; -#line 1207 "parse3.om" -b19: if (!(v_ok)) { goto b31; } -#line 1207 "parse3.om" -b30: v32 = 0UL; -#line 1207 "parse3.om" - goto b32; -#line 1207 "parse3.om" -b32: if (!(v32)) { goto b27; } -#line 1207 "parse3.om" -b28: v33 = (u)my_choice; -#line 1207 "parse3.om" +#line 2286 "parse3.om" +b19: v_ok = v28; +#line 2286 "parse3.om" + goto b16; +#line 2288 "parse3.om" +b16: if (!(v_ok)) { goto b24; } +#line 2288 "parse3.om" +b23: v29 = 0UL; +#line 2288 "parse3.om" + goto b25; +#line 2288 "parse3.om" +b25: if (!(v29)) { goto b20; } +#line 2288 "parse3.om" +b21: v_ok = 1UL; +#line 2288 "parse3.om" + goto b3; +#line 2292 "parse3.om" +b3: if (!(v_ok)) { goto b27; } +#line 2293 "parse3.om" +b28: v33 = (u)my_literal; +#line 2293 "parse3.om" v34 = v_c; -#line 1207 "parse3.om" - v35 = ((u (*)())(v33))(v34); -#line 1208 "parse3.om" -b33: v36 = (u)my_peg_P_and_op; -#line 1208 "parse3.om" - v37 = v_c; -#line 1208 "parse3.om" - v38 = ((u (*)())(v36))(v37); -#line 1208 "parse3.om" -b34: v_ok = v38; -#line 1208 "parse3.om" +#line 2293 "parse3.om" + v35 = (u)"'"; +#line 2293 "parse3.om" + v36 = ((u (*)())(v33))(v34, v35); +#line 2293 "parse3.om" +b30: v_ok = v36; +#line 2293 "parse3.om" goto b27; -#line 1210 "parse3.om" -b27: if (!(v_ok)) { goto b37; } -#line 1210 "parse3.om" -b36: v39 = (u)my_commit; -#line 1210 "parse3.om" - v40 = v_c; -#line 1210 "parse3.om" - v41 = ((u (*)())(v39))(v40); -#line 1211 "parse3.om" -b35: if (!(v_ok)) { goto b40; } -#line 1212 "parse3.om" -b41: v45 = (u)my_peg_P_sp; -#line 1212 "parse3.om" - v46 = v_c; -#line 1212 "parse3.om" - v47 = ((u (*)())(v45))(v46); -#line 1212 "parse3.om" -b43: v_ok = v47; -#line 1212 "parse3.om" - goto b40; -#line 1214 "parse3.om" -b40: if (!(v_ok)) { goto b44; } -#line 1215 "parse3.om" -b45: v48 = (u)my_peg_P_shift_expr; -#line 1215 "parse3.om" - v49 = v_c; -#line 1215 "parse3.om" - v50 = ((u (*)())(v48))(v49); -#line 1215 "parse3.om" -b47: v_ok = v50; -#line 1215 "parse3.om" - goto b44; -#line 1217 "parse3.om" -b44: if (!(v_ok)) { goto b52; } -#line 1217 "parse3.om" -b51: v51 = 0UL; -#line 1217 "parse3.om" - goto b53; -#line 1217 "parse3.om" -b53: if (!(v51)) { goto b48; } -#line 1217 "parse3.om" -b49: v_ok = 1UL; -#line 1217 "parse3.om" - goto b3; -#line 1221 "parse3.om" -b3: if (!(v_ok)) { goto b57; } -#line 1221 "parse3.om" -b56: v55 = (u)my_leave; -#line 1221 "parse3.om" - v56 = v_c; -#line 1221 "parse3.om" - v57 = 47UL; -#line 1221 "parse3.om" - v58 = ((u (*)())(v55))(v56, v57); -#line 1222 "parse3.om" -b55: return v_ok; -#line 1221 "parse3.om" -b57: v59 = (u)my_fail; -#line 1221 "parse3.om" - v60 = v_c; -#line 1221 "parse3.om" - v61 = ((u (*)())(v59))(v60); -#line 1221 "parse3.om" - goto b55; -#line 1218 "parse3.om" -b48: v52 = (u)my_commit; -#line 1218 "parse3.om" - v53 = v_c; -#line 1218 "parse3.om" - v54 = ((u (*)())(v52))(v53); -#line 1218 "parse3.om" +#line 2295 "parse3.om" +b27: if (!(v_ok)) { goto b33; } +#line 2295 "parse3.om" +b32: v37 = (u)my_leave; +#line 2295 "parse3.om" + v38 = v_c; +#line 2295 "parse3.om" + v39 = 101UL; +#line 2295 "parse3.om" + v40 = ((u (*)())(v37))(v38, v39); +#line 2296 "parse3.om" +b31: return v_ok; +#line 2295 "parse3.om" +b33: v41 = (u)my_fail; +#line 2295 "parse3.om" + v42 = v_c; +#line 2295 "parse3.om" + v43 = ((u (*)())(v41))(v42); +#line 2295 "parse3.om" + goto b31; +#line 2289 "parse3.om" +b20: v30 = (u)my_commit; +#line 2289 "parse3.om" + v31 = v_c; +#line 2289 "parse3.om" + v32 = ((u (*)())(v30))(v31); +#line 2289 "parse3.om" goto b6; -#line 1217 "parse3.om" -b52: v51 = 1UL; -#line 1217 "parse3.om" - goto b53; -#line 1210 "parse3.om" -b37: v42 = (u)my_fail; -#line 1210 "parse3.om" - v43 = v_c; -#line 1210 "parse3.om" - v44 = ((u (*)())(v42))(v43); -#line 1210 "parse3.om" - goto b35; -#line 1207 "parse3.om" -b31: v32 = 1UL; -#line 1207 "parse3.om" - goto b32; -#line 1204 "parse3.om" -b23: v25 = 1UL; -#line 1204 "parse3.om" - goto b24; -#line 1201 "parse3.om" -b15: v18 = 1UL; -#line 1201 "parse3.om" +#line 2288 "parse3.om" +b24: v29 = 1UL; +#line 2288 "parse3.om" + goto b25; +#line 2284 "parse3.om" +b13: v_ok = 1UL; +#line 2284 "parse3.om" + goto b11; +} +u my_peg_P_peg_lookahead(u v_c) { + u v_ok = 0; + u v2 = 0; + u v3 = 0; + u v4 = 0; + u v5 = 0; + u v6 = 0; + u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; + u v16 = 0; + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; +#line 2192 "parse3.om" +b0: v2 = (u)my_enter; +#line 2192 "parse3.om" + v3 = v_c; +#line 2192 "parse3.om" + v4 = 96UL; +#line 2192 "parse3.om" + v5 = ((u (*)())(v2))(v3, v4); +#line 2193 "parse3.om" +b1: v6 = (u)my_choice; +#line 2193 "parse3.om" + v7 = v_c; +#line 2193 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 2194 "parse3.om" +b2: v9 = (u)my_peg_P_peg_lookop; +#line 2194 "parse3.om" + v10 = v_c; +#line 2194 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 2194 "parse3.om" +b3: v_ok = v11; +#line 2195 "parse3.om" + if (!(v_ok)) { goto b4; } +#line 2196 "parse3.om" +b5: v12 = (u)my_peg_P_sp; +#line 2196 "parse3.om" + v13 = v_c; +#line 2196 "parse3.om" + v14 = ((u (*)())(v12))(v13); +#line 2196 "parse3.om" +b7: v_ok = v14; +#line 2196 "parse3.om" + goto b4; +#line 2198 "parse3.om" +b4: if (!(v_ok)) { goto b10; } +#line 2198 "parse3.om" +b9: v15 = (u)my_commit; +#line 2198 "parse3.om" + v16 = v_c; +#line 2198 "parse3.om" + v17 = ((u (*)())(v15))(v16); +#line 2199 "parse3.om" +b8: if (!(v_ok)) { goto b12; } +#line 2200 "parse3.om" +b13: v18 = (u)my_peg_P_peg_suffix; +#line 2200 "parse3.om" + v19 = v_c; +#line 2200 "parse3.om" + v20 = ((u (*)())(v18))(v19); +#line 2200 "parse3.om" +b15: v_ok = v20; +#line 2200 "parse3.om" + goto b12; +#line 2202 "parse3.om" +b12: if (!(v_ok)) { goto b18; } +#line 2202 "parse3.om" +b17: v21 = (u)my_leave; +#line 2202 "parse3.om" + v22 = v_c; +#line 2202 "parse3.om" + v23 = 96UL; +#line 2202 "parse3.om" + v24 = ((u (*)())(v21))(v22, v23); +#line 2203 "parse3.om" +b16: return v_ok; +#line 2202 "parse3.om" +b18: v25 = (u)my_fail; +#line 2202 "parse3.om" + v26 = v_c; +#line 2202 "parse3.om" + v27 = ((u (*)())(v25))(v26); +#line 2202 "parse3.om" goto b16; +#line 2198 "parse3.om" +b10: v_ok = 1UL; +#line 2198 "parse3.om" + goto b8; } -u my_peg_P_mul_op(u v_c) { +u my_peg_P_peg_lookop(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -50084,46 +49372,46 @@ u my_peg_P_mul_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1152 "parse3.om" +#line 2184 "parse3.om" b0: v2 = (u)my_enter; -#line 1152 "parse3.om" +#line 2184 "parse3.om" v3 = v_c; -#line 1152 "parse3.om" - v4 = 43UL; -#line 1152 "parse3.om" +#line 2184 "parse3.om" + v4 = 95UL; +#line 2184 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1153 "parse3.om" -b1: v6 = (u)my_literal; -#line 1153 "parse3.om" +#line 2185 "parse3.om" +b1: v6 = (u)my_charset; +#line 2185 "parse3.om" v7 = v_c; -#line 1153 "parse3.om" - v8 = (u)"*"; -#line 1153 "parse3.om" +#line 2185 "parse3.om" + v8 = (u)"!&"; +#line 2185 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1153 "parse3.om" +#line 2185 "parse3.om" b2: v_ok = v9; -#line 1154 "parse3.om" +#line 2186 "parse3.om" if (!(v_ok)) { goto b5; } -#line 1154 "parse3.om" +#line 2186 "parse3.om" b4: v10 = (u)my_leave; -#line 1154 "parse3.om" +#line 2186 "parse3.om" v11 = v_c; -#line 1154 "parse3.om" - v12 = 43UL; -#line 1154 "parse3.om" +#line 2186 "parse3.om" + v12 = 95UL; +#line 2186 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 1155 "parse3.om" +#line 2187 "parse3.om" b3: return v_ok; -#line 1154 "parse3.om" +#line 2186 "parse3.om" b5: v14 = (u)my_fail; -#line 1154 "parse3.om" +#line 2186 "parse3.om" v15 = v_c; -#line 1154 "parse3.om" +#line 2186 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 1154 "parse3.om" +#line 2186 "parse3.om" goto b3; } -u my_peg_P_ne_op(u v_c) { +u my_peg_P_peg_pattern(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -50140,46 +49428,179 @@ u my_peg_P_ne_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1038 "parse3.om" + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; + u v28 = 0; + u v29 = 0; + u v30 = 0; + u v31 = 0; + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; + u v41 = 0; + u v42 = 0; + u v43 = 0; + u v44 = 0; + u v45 = 0; +#line 2141 "parse3.om" b0: v2 = (u)my_enter; -#line 1038 "parse3.om" +#line 2141 "parse3.om" v3 = v_c; -#line 1038 "parse3.om" - v4 = 36UL; -#line 1038 "parse3.om" +#line 2141 "parse3.om" + v4 = 93UL; +#line 2141 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1039 "parse3.om" -b1: v6 = (u)my_literal; -#line 1039 "parse3.om" +#line 2142 "parse3.om" +b1: v6 = (u)my_peg_P_peg_alternative; +#line 2142 "parse3.om" v7 = v_c; -#line 1039 "parse3.om" - v8 = (u)"!="; -#line 1039 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 1039 "parse3.om" -b2: v_ok = v9; -#line 1040 "parse3.om" - if (!(v_ok)) { goto b5; } -#line 1040 "parse3.om" -b4: v10 = (u)my_leave; -#line 1040 "parse3.om" - v11 = v_c; -#line 1040 "parse3.om" - v12 = 36UL; -#line 1040 "parse3.om" - v13 = ((u (*)())(v10))(v11, v12); -#line 1041 "parse3.om" -b3: return v_ok; -#line 1040 "parse3.om" -b5: v14 = (u)my_fail; -#line 1040 "parse3.om" - v15 = v_c; -#line 1040 "parse3.om" - v16 = ((u (*)())(v14))(v15); -#line 1040 "parse3.om" +#line 2142 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 2142 "parse3.om" +b2: v_ok = v8; +#line 2143 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 2145 "parse3.om" +b6: v9 = (u)my_choice; +#line 2145 "parse3.om" + v10 = v_c; +#line 2145 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 2146 "parse3.om" +b8: v12 = (u)my_literal; +#line 2146 "parse3.om" + v13 = v_c; +#line 2146 "parse3.om" + v14 = (u)"/"; +#line 2146 "parse3.om" + v15 = ((u (*)())(v12))(v13, v14); +#line 2146 "parse3.om" +b9: v_ok = v15; +#line 2147 "parse3.om" + if (!(v_ok)) { goto b10; } +#line 2148 "parse3.om" +b11: v16 = (u)my_choice; +#line 2148 "parse3.om" + v17 = v_c; +#line 2148 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 2149 "parse3.om" +b13: v19 = (u)my_literal; +#line 2149 "parse3.om" + v20 = v_c; +#line 2149 "parse3.om" + v21 = (u)"/"; +#line 2149 "parse3.om" + v22 = ((u (*)())(v19))(v20, v21); +#line 2149 "parse3.om" +b14: v_ok = v22; +#line 2150 "parse3.om" + if (!(v_ok)) { goto b17; } +#line 2150 "parse3.om" +b16: v23 = (u)my_fail; +#line 2150 "parse3.om" + v24 = v_c; +#line 2150 "parse3.om" + v25 = ((u (*)())(v23))(v24); +#line 2150 "parse3.om" +b18: v26 = (u)my_fail; +#line 2150 "parse3.om" + v27 = v_c; +#line 2150 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 2150 "parse3.om" +b19: v_ok = 0UL; +#line 2150 "parse3.om" + goto b10; +#line 2152 "parse3.om" +b10: if (!(v_ok)) { goto b20; } +#line 2153 "parse3.om" +b21: v29 = (u)my_peg_P_sp; +#line 2153 "parse3.om" + v30 = v_c; +#line 2153 "parse3.om" + v31 = ((u (*)())(v29))(v30); +#line 2153 "parse3.om" +b23: v_ok = v31; +#line 2153 "parse3.om" + goto b20; +#line 2155 "parse3.om" +b20: if (!(v_ok)) { goto b24; } +#line 2156 "parse3.om" +b25: v32 = (u)my_peg_P_peg_alternative; +#line 2156 "parse3.om" + v33 = v_c; +#line 2156 "parse3.om" + v34 = ((u (*)())(v32))(v33); +#line 2156 "parse3.om" +b27: v_ok = v34; +#line 2156 "parse3.om" + goto b24; +#line 2158 "parse3.om" +b24: if (!(v_ok)) { goto b32; } +#line 2158 "parse3.om" +b31: v35 = 0UL; +#line 2158 "parse3.om" + goto b33; +#line 2158 "parse3.om" +b33: if (!(v35)) { goto b28; } +#line 2158 "parse3.om" +b29: v_ok = 1UL; +#line 2158 "parse3.om" goto b3; +#line 2162 "parse3.om" +b3: if (!(v_ok)) { goto b37; } +#line 2162 "parse3.om" +b36: v39 = (u)my_leave; +#line 2162 "parse3.om" + v40 = v_c; +#line 2162 "parse3.om" + v41 = 93UL; +#line 2162 "parse3.om" + v42 = ((u (*)())(v39))(v40, v41); +#line 2163 "parse3.om" +b35: return v_ok; +#line 2162 "parse3.om" +b37: v43 = (u)my_fail; +#line 2162 "parse3.om" + v44 = v_c; +#line 2162 "parse3.om" + v45 = ((u (*)())(v43))(v44); +#line 2162 "parse3.om" + goto b35; +#line 2159 "parse3.om" +b28: v36 = (u)my_commit; +#line 2159 "parse3.om" + v37 = v_c; +#line 2159 "parse3.om" + v38 = ((u (*)())(v36))(v37); +#line 2159 "parse3.om" + goto b6; +#line 2158 "parse3.om" +b32: v35 = 1UL; +#line 2158 "parse3.om" + goto b33; +#line 2150 "parse3.om" +b17: v_ok = 1UL; +#line 2150 "parse3.om" + goto b10; } -u my_peg_P_neg_op(u v_c) { +u my_peg_P_peg_prefix(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -50196,46 +49617,91 @@ u my_peg_P_neg_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1299 "parse3.om" + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; +#line 2124 "parse3.om" b0: v2 = (u)my_enter; -#line 1299 "parse3.om" +#line 2124 "parse3.om" v3 = v_c; -#line 1299 "parse3.om" - v4 = 54UL; -#line 1299 "parse3.om" +#line 2124 "parse3.om" + v4 = 92UL; +#line 2124 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1300 "parse3.om" +#line 2125 "parse3.om" b1: v6 = (u)my_literal; -#line 1300 "parse3.om" +#line 2125 "parse3.om" v7 = v_c; -#line 1300 "parse3.om" - v8 = (u)"-"; -#line 1300 "parse3.om" +#line 2125 "parse3.om" + v8 = (u)"%prefix"; +#line 2125 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1300 "parse3.om" +#line 2125 "parse3.om" b2: v_ok = v9; -#line 1301 "parse3.om" - if (!(v_ok)) { goto b5; } -#line 1301 "parse3.om" -b4: v10 = (u)my_leave; -#line 1301 "parse3.om" +#line 2126 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 2127 "parse3.om" +b4: v10 = (u)my_peg_P_sp; +#line 2127 "parse3.om" v11 = v_c; -#line 1301 "parse3.om" - v12 = 54UL; -#line 1301 "parse3.om" - v13 = ((u (*)())(v10))(v11, v12); -#line 1302 "parse3.om" -b3: return v_ok; -#line 1301 "parse3.om" -b5: v14 = (u)my_fail; -#line 1301 "parse3.om" - v15 = v_c; -#line 1301 "parse3.om" - v16 = ((u (*)())(v14))(v15); -#line 1301 "parse3.om" +#line 2127 "parse3.om" + v12 = ((u (*)())(v10))(v11); +#line 2127 "parse3.om" +b6: v_ok = v12; +#line 2127 "parse3.om" goto b3; +#line 2129 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 2130 "parse3.om" +b8: v13 = (u)my_peg_P_peg_identifier; +#line 2130 "parse3.om" + v14 = v_c; +#line 2130 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 2130 "parse3.om" +b10: v_ok = v15; +#line 2130 "parse3.om" + goto b7; +#line 2132 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 2133 "parse3.om" +b12: v16 = (u)my_peg_P_sp; +#line 2133 "parse3.om" + v17 = v_c; +#line 2133 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 2133 "parse3.om" +b14: v_ok = v18; +#line 2133 "parse3.om" + goto b11; +#line 2135 "parse3.om" +b11: if (!(v_ok)) { goto b17; } +#line 2135 "parse3.om" +b16: v19 = (u)my_leave; +#line 2135 "parse3.om" + v20 = v_c; +#line 2135 "parse3.om" + v21 = 92UL; +#line 2135 "parse3.om" + v22 = ((u (*)())(v19))(v20, v21); +#line 2136 "parse3.om" +b15: return v_ok; +#line 2135 "parse3.om" +b17: v23 = (u)my_fail; +#line 2135 "parse3.om" + v24 = v_c; +#line 2135 "parse3.om" + v25 = ((u (*)())(v23))(v24); +#line 2135 "parse3.om" + goto b15; } -u my_peg_P_nil(u v_c) { +u my_peg_P_peg_primary(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -50265,86 +49731,267 @@ u my_peg_P_nil(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1975 "parse3.om" + u v30 = 0; + u v31 = 0; + u v32 = 0; + u v33 = 0; + u v34 = 0; + u v35 = 0; + u v36 = 0; + u v37 = 0; + u v38 = 0; + u v39 = 0; + u v40 = 0; + u v41 = 0; + u v42 = 0; + u v43 = 0; + u v44 = 0; + u v45 = 0; + u v46 = 0; + u v47 = 0; + u v48 = 0; + u v49 = 0; + u v50 = 0; + u v51 = 0; + u v52 = 0; + u v53 = 0; + u v54 = 0; + u v55 = 0; + u v56 = 0; + u v57 = 0; + u v58 = 0; + u v59 = 0; + u v60 = 0; + u v61 = 0; + u v62 = 0; + u v63 = 0; + u v64 = 0; + u v65 = 0; + u v66 = 0; +#line 2235 "parse3.om" b0: v2 = (u)my_enter; -#line 1975 "parse3.om" +#line 2235 "parse3.om" v3 = v_c; -#line 1975 "parse3.om" - v4 = 87UL; -#line 1975 "parse3.om" +#line 2235 "parse3.om" + v4 = 99UL; +#line 2235 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1976 "parse3.om" -b1: v6 = (u)my_literal; -#line 1976 "parse3.om" +#line 2236 "parse3.om" +b1: v6 = (u)my_choice; +#line 2236 "parse3.om" v7 = v_c; -#line 1976 "parse3.om" - v8 = (u)"nil"; -#line 1976 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 1976 "parse3.om" -b2: v_ok = v9; -#line 1977 "parse3.om" - if (!(v_ok)) { goto b3; } -#line 1978 "parse3.om" -b4: v10 = (u)my_choice; -#line 1978 "parse3.om" - v11 = v_c; -#line 1978 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 1979 "parse3.om" -b6: v13 = (u)my_charset; -#line 1979 "parse3.om" +#line 2236 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 2237 "parse3.om" +b2: v9 = (u)my_literal; +#line 2237 "parse3.om" + v10 = v_c; +#line 2237 "parse3.om" + v11 = (u)"("; +#line 2237 "parse3.om" + v12 = ((u (*)())(v9))(v10, v11); +#line 2237 "parse3.om" +b3: v_ok = v12; +#line 2238 "parse3.om" + if (!(v_ok)) { goto b4; } +#line 2239 "parse3.om" +b5: v13 = (u)my_peg_P_sp; +#line 2239 "parse3.om" v14 = v_c; -#line 1979 "parse3.om" - v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1979 "parse3.om" - v16 = ((u (*)())(v13))(v14, v15); -#line 1979 "parse3.om" -b7: v_ok = v16; -#line 1980 "parse3.om" - if (!(v_ok)) { goto b10; } -#line 1980 "parse3.om" -b9: v17 = (u)my_fail; -#line 1980 "parse3.om" - v18 = v_c; -#line 1980 "parse3.om" - v19 = ((u (*)())(v17))(v18); -#line 1980 "parse3.om" -b11: v20 = (u)my_fail; -#line 1980 "parse3.om" - v21 = v_c; -#line 1980 "parse3.om" - v22 = ((u (*)())(v20))(v21); -#line 1980 "parse3.om" -b12: v_ok = 0UL; -#line 1980 "parse3.om" - goto b3; -#line 1982 "parse3.om" -b3: if (!(v_ok)) { goto b15; } -#line 1982 "parse3.om" -b14: v23 = (u)my_leave; -#line 1982 "parse3.om" - v24 = v_c; -#line 1982 "parse3.om" - v25 = 87UL; -#line 1982 "parse3.om" - v26 = ((u (*)())(v23))(v24, v25); -#line 1983 "parse3.om" -b13: return v_ok; -#line 1982 "parse3.om" -b15: v27 = (u)my_fail; -#line 1982 "parse3.om" +#line 2239 "parse3.om" + v15 = ((u (*)())(v13))(v14); +#line 2239 "parse3.om" +b7: v_ok = v15; +#line 2239 "parse3.om" + goto b4; +#line 2241 "parse3.om" +b4: if (!(v_ok)) { goto b8; } +#line 2242 "parse3.om" +b9: v16 = (u)my_peg_P_peg_pattern; +#line 2242 "parse3.om" + v17 = v_c; +#line 2242 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 2242 "parse3.om" +b11: v_ok = v18; +#line 2242 "parse3.om" + goto b8; +#line 2244 "parse3.om" +b8: if (!(v_ok)) { goto b12; } +#line 2245 "parse3.om" +b13: v19 = (u)my_literal; +#line 2245 "parse3.om" + v20 = v_c; +#line 2245 "parse3.om" + v21 = (u)")"; +#line 2245 "parse3.om" + v22 = ((u (*)())(v19))(v20, v21); +#line 2245 "parse3.om" +b15: v_ok = v22; +#line 2245 "parse3.om" + goto b12; +#line 2247 "parse3.om" +b12: if (!(v_ok)) { goto b20; } +#line 2247 "parse3.om" +b19: v23 = 0UL; +#line 2247 "parse3.om" + goto b21; +#line 2247 "parse3.om" +b21: if (!(v23)) { goto b16; } +#line 2247 "parse3.om" +b17: v24 = (u)my_choice; +#line 2247 "parse3.om" + v25 = v_c; +#line 2247 "parse3.om" + v26 = ((u (*)())(v24))(v25); +#line 2248 "parse3.om" +b22: v27 = (u)my_peg_P_peg_any; +#line 2248 "parse3.om" v28 = v_c; -#line 1982 "parse3.om" +#line 2248 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1982 "parse3.om" - goto b13; -#line 1980 "parse3.om" -b10: v_ok = 1UL; -#line 1980 "parse3.om" - goto b3; +#line 2248 "parse3.om" +b23: v_ok = v29; +#line 2248 "parse3.om" + goto b16; +#line 2250 "parse3.om" +b16: if (!(v_ok)) { goto b28; } +#line 2250 "parse3.om" +b27: v30 = 0UL; +#line 2250 "parse3.om" + goto b29; +#line 2250 "parse3.om" +b29: if (!(v30)) { goto b24; } +#line 2250 "parse3.om" +b25: v31 = (u)my_choice; +#line 2250 "parse3.om" + v32 = v_c; +#line 2250 "parse3.om" + v33 = ((u (*)())(v31))(v32); +#line 2251 "parse3.om" +b30: v34 = (u)my_peg_P_peg_literal; +#line 2251 "parse3.om" + v35 = v_c; +#line 2251 "parse3.om" + v36 = ((u (*)())(v34))(v35); +#line 2251 "parse3.om" +b31: v_ok = v36; +#line 2251 "parse3.om" + goto b24; +#line 2253 "parse3.om" +b24: if (!(v_ok)) { goto b36; } +#line 2253 "parse3.om" +b35: v37 = 0UL; +#line 2253 "parse3.om" + goto b37; +#line 2253 "parse3.om" +b37: if (!(v37)) { goto b32; } +#line 2253 "parse3.om" +b33: v38 = (u)my_choice; +#line 2253 "parse3.om" + v39 = v_c; +#line 2253 "parse3.om" + v40 = ((u (*)())(v38))(v39); +#line 2254 "parse3.om" +b38: v41 = (u)my_peg_P_peg_class; +#line 2254 "parse3.om" + v42 = v_c; +#line 2254 "parse3.om" + v43 = ((u (*)())(v41))(v42); +#line 2254 "parse3.om" +b39: v_ok = v43; +#line 2254 "parse3.om" + goto b32; +#line 2256 "parse3.om" +b32: if (!(v_ok)) { goto b44; } +#line 2256 "parse3.om" +b43: v44 = 0UL; +#line 2256 "parse3.om" + goto b45; +#line 2256 "parse3.om" +b45: if (!(v44)) { goto b40; } +#line 2256 "parse3.om" +b41: v45 = (u)my_choice; +#line 2256 "parse3.om" + v46 = v_c; +#line 2256 "parse3.om" + v47 = ((u (*)())(v45))(v46); +#line 2257 "parse3.om" +b46: v48 = (u)my_peg_P_peg_call; +#line 2257 "parse3.om" + v49 = v_c; +#line 2257 "parse3.om" + v50 = ((u (*)())(v48))(v49); +#line 2257 "parse3.om" +b47: v_ok = v50; +#line 2257 "parse3.om" + goto b40; +#line 2259 "parse3.om" +b40: if (!(v_ok)) { goto b50; } +#line 2259 "parse3.om" +b49: v51 = (u)my_commit; +#line 2259 "parse3.om" + v52 = v_c; +#line 2259 "parse3.om" + v53 = ((u (*)())(v51))(v52); +#line 2260 "parse3.om" +b48: if (!(v_ok)) { goto b53; } +#line 2261 "parse3.om" +b54: v57 = (u)my_peg_P_sp; +#line 2261 "parse3.om" + v58 = v_c; +#line 2261 "parse3.om" + v59 = ((u (*)())(v57))(v58); +#line 2261 "parse3.om" +b56: v_ok = v59; +#line 2261 "parse3.om" + goto b53; +#line 2263 "parse3.om" +b53: if (!(v_ok)) { goto b59; } +#line 2263 "parse3.om" +b58: v60 = (u)my_leave; +#line 2263 "parse3.om" + v61 = v_c; +#line 2263 "parse3.om" + v62 = 99UL; +#line 2263 "parse3.om" + v63 = ((u (*)())(v60))(v61, v62); +#line 2264 "parse3.om" +b57: return v_ok; +#line 2263 "parse3.om" +b59: v64 = (u)my_fail; +#line 2263 "parse3.om" + v65 = v_c; +#line 2263 "parse3.om" + v66 = ((u (*)())(v64))(v65); +#line 2263 "parse3.om" + goto b57; +#line 2259 "parse3.om" +b50: v54 = (u)my_fail; +#line 2259 "parse3.om" + v55 = v_c; +#line 2259 "parse3.om" + v56 = ((u (*)())(v54))(v55); +#line 2259 "parse3.om" + goto b48; +#line 2256 "parse3.om" +b44: v44 = 1UL; +#line 2256 "parse3.om" + goto b45; +#line 2253 "parse3.om" +b36: v37 = 1UL; +#line 2253 "parse3.om" + goto b37; +#line 2250 "parse3.om" +b28: v30 = 1UL; +#line 2250 "parse3.om" + goto b29; +#line 2247 "parse3.om" +b20: v23 = 1UL; +#line 2247 "parse3.om" + goto b21; } -u my_peg_P_not_op(u v_c) { +u my_peg_P_peg_rule(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -50361,46 +50008,106 @@ u my_peg_P_not_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1307 "parse3.om" + u v17 = 0; + u v18 = 0; + u v19 = 0; + u v20 = 0; + u v21 = 0; + u v22 = 0; + u v23 = 0; + u v24 = 0; + u v25 = 0; + u v26 = 0; + u v27 = 0; + u v28 = 0; +#line 2104 "parse3.om" b0: v2 = (u)my_enter; -#line 1307 "parse3.om" +#line 2104 "parse3.om" v3 = v_c; -#line 1307 "parse3.om" - v4 = 55UL; -#line 1307 "parse3.om" +#line 2104 "parse3.om" + v4 = 91UL; +#line 2104 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1308 "parse3.om" -b1: v6 = (u)my_literal; -#line 1308 "parse3.om" +#line 2105 "parse3.om" +b1: v6 = (u)my_peg_P_peg_identifier; +#line 2105 "parse3.om" v7 = v_c; -#line 1308 "parse3.om" - v8 = (u)"~"; -#line 1308 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 1308 "parse3.om" -b2: v_ok = v9; -#line 1309 "parse3.om" - if (!(v_ok)) { goto b5; } -#line 1309 "parse3.om" -b4: v10 = (u)my_leave; -#line 1309 "parse3.om" - v11 = v_c; -#line 1309 "parse3.om" - v12 = 55UL; -#line 1309 "parse3.om" - v13 = ((u (*)())(v10))(v11, v12); -#line 1310 "parse3.om" -b3: return v_ok; -#line 1309 "parse3.om" -b5: v14 = (u)my_fail; -#line 1309 "parse3.om" - v15 = v_c; -#line 1309 "parse3.om" - v16 = ((u (*)())(v14))(v15); -#line 1309 "parse3.om" +#line 2105 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 2105 "parse3.om" +b2: v_ok = v8; +#line 2106 "parse3.om" + if (!(v_ok)) { goto b3; } +#line 2107 "parse3.om" +b4: v9 = (u)my_peg_P_sp; +#line 2107 "parse3.om" + v10 = v_c; +#line 2107 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 2107 "parse3.om" +b6: v_ok = v11; +#line 2107 "parse3.om" goto b3; +#line 2109 "parse3.om" +b3: if (!(v_ok)) { goto b7; } +#line 2110 "parse3.om" +b8: v12 = (u)my_literal; +#line 2110 "parse3.om" + v13 = v_c; +#line 2110 "parse3.om" + v14 = (u)"<-"; +#line 2110 "parse3.om" + v15 = ((u (*)())(v12))(v13, v14); +#line 2110 "parse3.om" +b10: v_ok = v15; +#line 2110 "parse3.om" + goto b7; +#line 2112 "parse3.om" +b7: if (!(v_ok)) { goto b11; } +#line 2113 "parse3.om" +b12: v16 = (u)my_peg_P_sp; +#line 2113 "parse3.om" + v17 = v_c; +#line 2113 "parse3.om" + v18 = ((u (*)())(v16))(v17); +#line 2113 "parse3.om" +b14: v_ok = v18; +#line 2113 "parse3.om" + goto b11; +#line 2115 "parse3.om" +b11: if (!(v_ok)) { goto b15; } +#line 2116 "parse3.om" +b16: v19 = (u)my_peg_P_peg_pattern; +#line 2116 "parse3.om" + v20 = v_c; +#line 2116 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 2116 "parse3.om" +b18: v_ok = v21; +#line 2116 "parse3.om" + goto b15; +#line 2118 "parse3.om" +b15: if (!(v_ok)) { goto b21; } +#line 2118 "parse3.om" +b20: v22 = (u)my_leave; +#line 2118 "parse3.om" + v23 = v_c; +#line 2118 "parse3.om" + v24 = 91UL; +#line 2118 "parse3.om" + v25 = ((u (*)())(v22))(v23, v24); +#line 2119 "parse3.om" +b19: return v_ok; +#line 2118 "parse3.om" +b21: v26 = (u)my_fail; +#line 2118 "parse3.om" + v27 = v_c; +#line 2118 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 2118 "parse3.om" + goto b19; } -u my_peg_P_or_op(u v_c) { +u my_peg_P_peg_suffix(u v_c) { u v_ok = 0; u v2 = 0; u v3 = 0; @@ -50429,85 +50136,94 @@ u my_peg_P_or_op(u v_c) { u v26 = 0; u v27 = 0; u v28 = 0; - u v29 = 0; -#line 1098 "parse3.om" -b0: v2 = (u)my_enter; -#line 1098 "parse3.om" - v3 = v_c; -#line 1098 "parse3.om" - v4 = 40UL; -#line 1098 "parse3.om" +#line 2216 "parse3.om" +b0: v2 = (u)my_enter; +#line 2216 "parse3.om" + v3 = v_c; +#line 2216 "parse3.om" + v4 = 98UL; +#line 2216 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1099 "parse3.om" -b1: v6 = (u)my_literal; -#line 1099 "parse3.om" +#line 2217 "parse3.om" +b1: v6 = (u)my_peg_P_peg_primary; +#line 2217 "parse3.om" v7 = v_c; -#line 1099 "parse3.om" - v8 = (u)"|"; -#line 1099 "parse3.om" - v9 = ((u (*)())(v6))(v7, v8); -#line 1099 "parse3.om" -b2: v_ok = v9; -#line 1100 "parse3.om" +#line 2217 "parse3.om" + v8 = ((u (*)())(v6))(v7); +#line 2217 "parse3.om" +b2: v_ok = v8; +#line 2218 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1101 "parse3.om" -b4: v10 = (u)my_choice; -#line 1101 "parse3.om" - v11 = v_c; -#line 1101 "parse3.om" - v12 = ((u (*)())(v10))(v11); -#line 1102 "parse3.om" -b6: v13 = (u)my_literal; -#line 1102 "parse3.om" - v14 = v_c; -#line 1102 "parse3.om" - v15 = (u)"|"; -#line 1102 "parse3.om" - v16 = ((u (*)())(v13))(v14, v15); -#line 1102 "parse3.om" -b7: v_ok = v16; -#line 1103 "parse3.om" +#line 2220 "parse3.om" +b6: v9 = (u)my_choice; +#line 2220 "parse3.om" + v10 = v_c; +#line 2220 "parse3.om" + v11 = ((u (*)())(v9))(v10); +#line 2221 "parse3.om" +b8: v12 = (u)my_peg_P_peg_countop; +#line 2221 "parse3.om" + v13 = v_c; +#line 2221 "parse3.om" + v14 = ((u (*)())(v12))(v13); +#line 2221 "parse3.om" +b9: v_ok = v14; +#line 2222 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1103 "parse3.om" -b9: v17 = (u)my_fail; -#line 1103 "parse3.om" - v18 = v_c; -#line 1103 "parse3.om" - v19 = ((u (*)())(v17))(v18); -#line 1103 "parse3.om" -b11: v20 = (u)my_fail; -#line 1103 "parse3.om" - v21 = v_c; -#line 1103 "parse3.om" - v22 = ((u (*)())(v20))(v21); -#line 1103 "parse3.om" -b12: v_ok = 0UL; -#line 1103 "parse3.om" - goto b3; -#line 1105 "parse3.om" -b3: if (!(v_ok)) { goto b15; } -#line 1105 "parse3.om" -b14: v23 = (u)my_leave; -#line 1105 "parse3.om" - v24 = v_c; -#line 1105 "parse3.om" - v25 = 40UL; -#line 1105 "parse3.om" - v26 = ((u (*)())(v23))(v24, v25); -#line 1106 "parse3.om" -b13: return v_ok; -#line 1105 "parse3.om" -b15: v27 = (u)my_fail; -#line 1105 "parse3.om" - v28 = v_c; -#line 1105 "parse3.om" - v29 = ((u (*)())(v27))(v28); -#line 1105 "parse3.om" - goto b13; -#line 1103 "parse3.om" -b10: v_ok = 1UL; -#line 1103 "parse3.om" +#line 2223 "parse3.om" +b11: v15 = (u)my_peg_P_sp; +#line 2223 "parse3.om" + v16 = v_c; +#line 2223 "parse3.om" + v17 = ((u (*)())(v15))(v16); +#line 2223 "parse3.om" +b13: v_ok = v17; +#line 2223 "parse3.om" + goto b10; +#line 2225 "parse3.om" +b10: if (!(v_ok)) { goto b18; } +#line 2225 "parse3.om" +b17: v18 = 0UL; +#line 2225 "parse3.om" + goto b19; +#line 2225 "parse3.om" +b19: if (!(v18)) { goto b14; } +#line 2225 "parse3.om" +b15: v_ok = 1UL; +#line 2225 "parse3.om" goto b3; +#line 2229 "parse3.om" +b3: if (!(v_ok)) { goto b23; } +#line 2229 "parse3.om" +b22: v22 = (u)my_leave; +#line 2229 "parse3.om" + v23 = v_c; +#line 2229 "parse3.om" + v24 = 98UL; +#line 2229 "parse3.om" + v25 = ((u (*)())(v22))(v23, v24); +#line 2230 "parse3.om" +b21: return v_ok; +#line 2229 "parse3.om" +b23: v26 = (u)my_fail; +#line 2229 "parse3.om" + v27 = v_c; +#line 2229 "parse3.om" + v28 = ((u (*)())(v26))(v27); +#line 2229 "parse3.om" + goto b21; +#line 2226 "parse3.om" +b14: v19 = (u)my_commit; +#line 2226 "parse3.om" + v20 = v_c; +#line 2226 "parse3.om" + v21 = ((u (*)())(v19))(v20); +#line 2226 "parse3.om" + goto b6; +#line 2225 "parse3.om" +b18: v18 = 1UL; +#line 2225 "parse3.om" + goto b19; } u my_peg_P_pos_op(u v_c) { u v_ok = 0; @@ -50526,43 +50242,43 @@ u my_peg_P_pos_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1291 "parse3.om" +#line 1321 "parse3.om" b0: v2 = (u)my_enter; -#line 1291 "parse3.om" +#line 1321 "parse3.om" v3 = v_c; -#line 1291 "parse3.om" +#line 1321 "parse3.om" v4 = 53UL; -#line 1291 "parse3.om" +#line 1321 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1292 "parse3.om" +#line 1322 "parse3.om" b1: v6 = (u)my_literal; -#line 1292 "parse3.om" +#line 1322 "parse3.om" v7 = v_c; -#line 1292 "parse3.om" +#line 1322 "parse3.om" v8 = (u)"+"; -#line 1292 "parse3.om" +#line 1322 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1292 "parse3.om" +#line 1322 "parse3.om" b2: v_ok = v9; -#line 1293 "parse3.om" +#line 1323 "parse3.om" if (!(v_ok)) { goto b5; } -#line 1293 "parse3.om" +#line 1323 "parse3.om" b4: v10 = (u)my_leave; -#line 1293 "parse3.om" +#line 1323 "parse3.om" v11 = v_c; -#line 1293 "parse3.om" +#line 1323 "parse3.om" v12 = 53UL; -#line 1293 "parse3.om" +#line 1323 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 1294 "parse3.om" +#line 1324 "parse3.om" b3: return v_ok; -#line 1293 "parse3.om" +#line 1323 "parse3.om" b5: v14 = (u)my_fail; -#line 1293 "parse3.om" +#line 1323 "parse3.om" v15 = v_c; -#line 1293 "parse3.om" +#line 1323 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 1293 "parse3.om" +#line 1323 "parse3.om" goto b3; } u my_peg_P_post_expr(u v_c) { @@ -50621,187 +50337,187 @@ u my_peg_P_post_expr(u v_c) { u v53 = 0; u v54 = 0; u v55 = 0; -#line 1459 "parse3.om" +#line 1489 "parse3.om" b0: v2 = (u)my_enter; -#line 1459 "parse3.om" +#line 1489 "parse3.om" v3 = v_c; -#line 1459 "parse3.om" +#line 1489 "parse3.om" v4 = 62UL; -#line 1459 "parse3.om" +#line 1489 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1460 "parse3.om" +#line 1490 "parse3.om" b1: v6 = (u)my_peg_P_primary; -#line 1460 "parse3.om" +#line 1490 "parse3.om" v7 = v_c; -#line 1460 "parse3.om" +#line 1490 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 1460 "parse3.om" +#line 1490 "parse3.om" b2: v_ok = v8; -#line 1461 "parse3.om" +#line 1491 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1463 "parse3.om" +#line 1493 "parse3.om" b6: v9 = (u)my_choice; -#line 1463 "parse3.om" +#line 1493 "parse3.om" v10 = v_c; -#line 1463 "parse3.om" +#line 1493 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 1464 "parse3.om" +#line 1494 "parse3.om" b8: v12 = (u)my_choice; -#line 1464 "parse3.om" +#line 1494 "parse3.om" v13 = v_c; -#line 1464 "parse3.om" +#line 1494 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 1465 "parse3.om" +#line 1495 "parse3.om" b9: v15 = (u)my_peg_P_index_expr; -#line 1465 "parse3.om" +#line 1495 "parse3.om" v16 = v_c; -#line 1465 "parse3.om" +#line 1495 "parse3.om" v17 = ((u (*)())(v15))(v16); -#line 1465 "parse3.om" +#line 1495 "parse3.om" b10: v_ok = v17; -#line 1466 "parse3.om" +#line 1496 "parse3.om" if (!(v_ok)) { goto b15; } -#line 1466 "parse3.om" +#line 1496 "parse3.om" b14: v18 = 0UL; -#line 1466 "parse3.om" +#line 1496 "parse3.om" goto b16; -#line 1466 "parse3.om" +#line 1496 "parse3.om" b16: if (!(v18)) { goto b11; } -#line 1466 "parse3.om" +#line 1496 "parse3.om" b12: v19 = (u)my_choice; -#line 1466 "parse3.om" +#line 1496 "parse3.om" v20 = v_c; -#line 1466 "parse3.om" +#line 1496 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 1467 "parse3.om" +#line 1497 "parse3.om" b17: v22 = (u)my_peg_P_call_expr; -#line 1467 "parse3.om" +#line 1497 "parse3.om" v23 = v_c; -#line 1467 "parse3.om" +#line 1497 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 1467 "parse3.om" +#line 1497 "parse3.om" b18: v_ok = v24; -#line 1467 "parse3.om" +#line 1497 "parse3.om" goto b11; -#line 1469 "parse3.om" +#line 1499 "parse3.om" b11: if (!(v_ok)) { goto b23; } -#line 1469 "parse3.om" +#line 1499 "parse3.om" b22: v25 = 0UL; -#line 1469 "parse3.om" +#line 1499 "parse3.om" goto b24; -#line 1469 "parse3.om" +#line 1499 "parse3.om" b24: if (!(v25)) { goto b19; } -#line 1469 "parse3.om" +#line 1499 "parse3.om" b20: v26 = (u)my_choice; -#line 1469 "parse3.om" +#line 1499 "parse3.om" v27 = v_c; -#line 1469 "parse3.om" +#line 1499 "parse3.om" v28 = ((u (*)())(v26))(v27); -#line 1470 "parse3.om" +#line 1500 "parse3.om" b25: v29 = (u)my_peg_P_member_expr; -#line 1470 "parse3.om" +#line 1500 "parse3.om" v30 = v_c; -#line 1470 "parse3.om" +#line 1500 "parse3.om" v31 = ((u (*)())(v29))(v30); -#line 1470 "parse3.om" +#line 1500 "parse3.om" b26: v_ok = v31; -#line 1470 "parse3.om" +#line 1500 "parse3.om" goto b19; -#line 1472 "parse3.om" +#line 1502 "parse3.om" b19: if (!(v_ok)) { goto b31; } -#line 1472 "parse3.om" +#line 1502 "parse3.om" b30: v32 = 0UL; -#line 1472 "parse3.om" +#line 1502 "parse3.om" goto b32; -#line 1472 "parse3.om" +#line 1502 "parse3.om" b32: if (!(v32)) { goto b27; } -#line 1472 "parse3.om" +#line 1502 "parse3.om" b28: v33 = (u)my_choice; -#line 1472 "parse3.om" +#line 1502 "parse3.om" v34 = v_c; -#line 1472 "parse3.om" +#line 1502 "parse3.om" v35 = ((u (*)())(v33))(v34); -#line 1473 "parse3.om" +#line 1503 "parse3.om" b33: v36 = (u)my_peg_P_cast_expr; -#line 1473 "parse3.om" +#line 1503 "parse3.om" v37 = v_c; -#line 1473 "parse3.om" +#line 1503 "parse3.om" v38 = ((u (*)())(v36))(v37); -#line 1473 "parse3.om" +#line 1503 "parse3.om" b34: v_ok = v38; -#line 1473 "parse3.om" +#line 1503 "parse3.om" goto b27; -#line 1475 "parse3.om" +#line 1505 "parse3.om" b27: if (!(v_ok)) { goto b37; } -#line 1475 "parse3.om" +#line 1505 "parse3.om" b36: v39 = (u)my_commit; -#line 1475 "parse3.om" +#line 1505 "parse3.om" v40 = v_c; -#line 1475 "parse3.om" +#line 1505 "parse3.om" v41 = ((u (*)())(v39))(v40); -#line 1476 "parse3.om" +#line 1506 "parse3.om" b35: if (!(v_ok)) { goto b44; } -#line 1476 "parse3.om" +#line 1506 "parse3.om" b43: v45 = 0UL; -#line 1476 "parse3.om" +#line 1506 "parse3.om" goto b45; -#line 1476 "parse3.om" +#line 1506 "parse3.om" b45: if (!(v45)) { goto b40; } -#line 1476 "parse3.om" +#line 1506 "parse3.om" b41: v_ok = 1UL; -#line 1476 "parse3.om" +#line 1506 "parse3.om" goto b3; -#line 1480 "parse3.om" +#line 1510 "parse3.om" b3: if (!(v_ok)) { goto b49; } -#line 1480 "parse3.om" +#line 1510 "parse3.om" b48: v49 = (u)my_leave; -#line 1480 "parse3.om" +#line 1510 "parse3.om" v50 = v_c; -#line 1480 "parse3.om" +#line 1510 "parse3.om" v51 = 62UL; -#line 1480 "parse3.om" +#line 1510 "parse3.om" v52 = ((u (*)())(v49))(v50, v51); -#line 1481 "parse3.om" +#line 1511 "parse3.om" b47: return v_ok; -#line 1480 "parse3.om" +#line 1510 "parse3.om" b49: v53 = (u)my_fail; -#line 1480 "parse3.om" +#line 1510 "parse3.om" v54 = v_c; -#line 1480 "parse3.om" +#line 1510 "parse3.om" v55 = ((u (*)())(v53))(v54); -#line 1480 "parse3.om" +#line 1510 "parse3.om" goto b47; -#line 1477 "parse3.om" +#line 1507 "parse3.om" b40: v46 = (u)my_commit; -#line 1477 "parse3.om" +#line 1507 "parse3.om" v47 = v_c; -#line 1477 "parse3.om" +#line 1507 "parse3.om" v48 = ((u (*)())(v46))(v47); -#line 1477 "parse3.om" +#line 1507 "parse3.om" goto b6; -#line 1476 "parse3.om" +#line 1506 "parse3.om" b44: v45 = 1UL; -#line 1476 "parse3.om" +#line 1506 "parse3.om" goto b45; -#line 1475 "parse3.om" +#line 1505 "parse3.om" b37: v42 = (u)my_fail; -#line 1475 "parse3.om" +#line 1505 "parse3.om" v43 = v_c; -#line 1475 "parse3.om" +#line 1505 "parse3.om" v44 = ((u (*)())(v42))(v43); -#line 1475 "parse3.om" +#line 1505 "parse3.om" goto b35; -#line 1472 "parse3.om" +#line 1502 "parse3.om" b31: v32 = 1UL; -#line 1472 "parse3.om" +#line 1502 "parse3.om" goto b32; -#line 1469 "parse3.om" +#line 1499 "parse3.om" b23: v25 = 1UL; -#line 1469 "parse3.om" +#line 1499 "parse3.om" goto b24; -#line 1466 "parse3.om" +#line 1496 "parse3.om" b15: v18 = 1UL; -#line 1466 "parse3.om" +#line 1496 "parse3.om" goto b16; } u my_peg_P_primary(u v_c) { @@ -50910,371 +50626,371 @@ u my_peg_P_primary(u v_c) { u v103 = 0; u v104 = 0; u v105 = 0; -#line 1486 "parse3.om" +#line 1516 "parse3.om" b0: v2 = (u)my_enter; -#line 1486 "parse3.om" +#line 1516 "parse3.om" v3 = v_c; -#line 1486 "parse3.om" +#line 1516 "parse3.om" v4 = 63UL; -#line 1486 "parse3.om" +#line 1516 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1487 "parse3.om" +#line 1517 "parse3.om" b1: v6 = (u)my_choice; -#line 1487 "parse3.om" +#line 1517 "parse3.om" v7 = v_c; -#line 1487 "parse3.om" +#line 1517 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 1488 "parse3.om" +#line 1518 "parse3.om" b2: v9 = (u)my_peg_P_ident; -#line 1488 "parse3.om" +#line 1518 "parse3.om" v10 = v_c; -#line 1488 "parse3.om" +#line 1518 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 1488 "parse3.om" +#line 1518 "parse3.om" b3: v_ok = v11; -#line 1489 "parse3.om" +#line 1519 "parse3.om" if (!(v_ok)) { goto b4; } -#line 1490 "parse3.om" +#line 1520 "parse3.om" b5: v12 = (u)my_peg_P_sp; -#line 1490 "parse3.om" +#line 1520 "parse3.om" v13 = v_c; -#line 1490 "parse3.om" +#line 1520 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 1490 "parse3.om" +#line 1520 "parse3.om" b7: v_ok = v14; -#line 1490 "parse3.om" +#line 1520 "parse3.om" goto b4; -#line 1492 "parse3.om" +#line 1522 "parse3.om" b4: if (!(v_ok)) { goto b12; } -#line 1492 "parse3.om" +#line 1522 "parse3.om" b11: v15 = 0UL; -#line 1492 "parse3.om" +#line 1522 "parse3.om" goto b13; -#line 1492 "parse3.om" +#line 1522 "parse3.om" b13: if (!(v15)) { goto b8; } -#line 1492 "parse3.om" +#line 1522 "parse3.om" b9: v16 = (u)my_choice; -#line 1492 "parse3.om" +#line 1522 "parse3.om" v17 = v_c; -#line 1492 "parse3.om" +#line 1522 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 1493 "parse3.om" +#line 1523 "parse3.om" b14: v19 = (u)my_peg_P_hex; -#line 1493 "parse3.om" +#line 1523 "parse3.om" v20 = v_c; -#line 1493 "parse3.om" +#line 1523 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 1493 "parse3.om" +#line 1523 "parse3.om" b15: v_ok = v21; -#line 1494 "parse3.om" +#line 1524 "parse3.om" if (!(v_ok)) { goto b8; } -#line 1495 "parse3.om" +#line 1525 "parse3.om" b17: v22 = (u)my_peg_P_sp; -#line 1495 "parse3.om" +#line 1525 "parse3.om" v23 = v_c; -#line 1495 "parse3.om" +#line 1525 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 1495 "parse3.om" +#line 1525 "parse3.om" b19: v_ok = v24; -#line 1495 "parse3.om" +#line 1525 "parse3.om" goto b8; -#line 1498 "parse3.om" +#line 1528 "parse3.om" b8: if (!(v_ok)) { goto b24; } -#line 1498 "parse3.om" +#line 1528 "parse3.om" b23: v25 = 0UL; -#line 1498 "parse3.om" +#line 1528 "parse3.om" goto b25; -#line 1498 "parse3.om" +#line 1528 "parse3.om" b25: if (!(v25)) { goto b20; } -#line 1498 "parse3.om" +#line 1528 "parse3.om" b21: v26 = (u)my_choice; -#line 1498 "parse3.om" +#line 1528 "parse3.om" v27 = v_c; -#line 1498 "parse3.om" +#line 1528 "parse3.om" v28 = ((u (*)())(v26))(v27); -#line 1499 "parse3.om" +#line 1529 "parse3.om" b26: v29 = (u)my_peg_P_dec; -#line 1499 "parse3.om" +#line 1529 "parse3.om" v30 = v_c; -#line 1499 "parse3.om" +#line 1529 "parse3.om" v31 = ((u (*)())(v29))(v30); -#line 1499 "parse3.om" +#line 1529 "parse3.om" b27: v_ok = v31; -#line 1500 "parse3.om" +#line 1530 "parse3.om" if (!(v_ok)) { goto b20; } -#line 1501 "parse3.om" +#line 1531 "parse3.om" b29: v32 = (u)my_peg_P_sp; -#line 1501 "parse3.om" +#line 1531 "parse3.om" v33 = v_c; -#line 1501 "parse3.om" +#line 1531 "parse3.om" v34 = ((u (*)())(v32))(v33); -#line 1501 "parse3.om" +#line 1531 "parse3.om" b31: v_ok = v34; -#line 1501 "parse3.om" +#line 1531 "parse3.om" goto b20; -#line 1504 "parse3.om" +#line 1534 "parse3.om" b20: if (!(v_ok)) { goto b36; } -#line 1504 "parse3.om" +#line 1534 "parse3.om" b35: v35 = 0UL; -#line 1504 "parse3.om" +#line 1534 "parse3.om" goto b37; -#line 1504 "parse3.om" +#line 1534 "parse3.om" b37: if (!(v35)) { goto b32; } -#line 1504 "parse3.om" +#line 1534 "parse3.om" b33: v36 = (u)my_choice; -#line 1504 "parse3.om" +#line 1534 "parse3.om" v37 = v_c; -#line 1504 "parse3.om" +#line 1534 "parse3.om" v38 = ((u (*)())(v36))(v37); -#line 1505 "parse3.om" +#line 1535 "parse3.om" b38: v39 = (u)my_peg_P_str; -#line 1505 "parse3.om" +#line 1535 "parse3.om" v40 = v_c; -#line 1505 "parse3.om" +#line 1535 "parse3.om" v41 = ((u (*)())(v39))(v40); -#line 1505 "parse3.om" +#line 1535 "parse3.om" b39: v_ok = v41; -#line 1506 "parse3.om" +#line 1536 "parse3.om" if (!(v_ok)) { goto b32; } -#line 1507 "parse3.om" +#line 1537 "parse3.om" b41: v42 = (u)my_peg_P_sp; -#line 1507 "parse3.om" +#line 1537 "parse3.om" v43 = v_c; -#line 1507 "parse3.om" +#line 1537 "parse3.om" v44 = ((u (*)())(v42))(v43); -#line 1507 "parse3.om" +#line 1537 "parse3.om" b43: v_ok = v44; -#line 1507 "parse3.om" +#line 1537 "parse3.om" goto b32; -#line 1510 "parse3.om" +#line 1540 "parse3.om" b32: if (!(v_ok)) { goto b48; } -#line 1510 "parse3.om" +#line 1540 "parse3.om" b47: v45 = 0UL; -#line 1510 "parse3.om" +#line 1540 "parse3.om" goto b49; -#line 1510 "parse3.om" +#line 1540 "parse3.om" b49: if (!(v45)) { goto b44; } -#line 1510 "parse3.om" +#line 1540 "parse3.om" b45: v46 = (u)my_choice; -#line 1510 "parse3.om" +#line 1540 "parse3.om" v47 = v_c; -#line 1510 "parse3.om" +#line 1540 "parse3.om" v48 = ((u (*)())(v46))(v47); -#line 1511 "parse3.om" +#line 1541 "parse3.om" b50: v49 = (u)my_peg_P_char; -#line 1511 "parse3.om" +#line 1541 "parse3.om" v50 = v_c; -#line 1511 "parse3.om" +#line 1541 "parse3.om" v51 = ((u (*)())(v49))(v50); -#line 1511 "parse3.om" +#line 1541 "parse3.om" b51: v_ok = v51; -#line 1512 "parse3.om" +#line 1542 "parse3.om" if (!(v_ok)) { goto b44; } -#line 1513 "parse3.om" +#line 1543 "parse3.om" b53: v52 = (u)my_peg_P_sp; -#line 1513 "parse3.om" +#line 1543 "parse3.om" v53 = v_c; -#line 1513 "parse3.om" +#line 1543 "parse3.om" v54 = ((u (*)())(v52))(v53); -#line 1513 "parse3.om" +#line 1543 "parse3.om" b55: v_ok = v54; -#line 1513 "parse3.om" +#line 1543 "parse3.om" goto b44; -#line 1516 "parse3.om" +#line 1546 "parse3.om" b44: if (!(v_ok)) { goto b60; } -#line 1516 "parse3.om" +#line 1546 "parse3.om" b59: v55 = 0UL; -#line 1516 "parse3.om" +#line 1546 "parse3.om" goto b61; -#line 1516 "parse3.om" +#line 1546 "parse3.om" b61: if (!(v55)) { goto b56; } -#line 1516 "parse3.om" +#line 1546 "parse3.om" b57: v56 = (u)my_choice; -#line 1516 "parse3.om" +#line 1546 "parse3.om" v57 = v_c; -#line 1516 "parse3.om" +#line 1546 "parse3.om" v58 = ((u (*)())(v56))(v57); -#line 1517 "parse3.om" +#line 1547 "parse3.om" b62: v59 = (u)my_peg_P_sizeof_expr; -#line 1517 "parse3.om" +#line 1547 "parse3.om" v60 = v_c; -#line 1517 "parse3.om" +#line 1547 "parse3.om" v61 = ((u (*)())(v59))(v60); -#line 1517 "parse3.om" +#line 1547 "parse3.om" b63: v_ok = v61; -#line 1517 "parse3.om" +#line 1547 "parse3.om" goto b56; -#line 1519 "parse3.om" +#line 1549 "parse3.om" b56: if (!(v_ok)) { goto b68; } -#line 1519 "parse3.om" +#line 1549 "parse3.om" b67: v62 = 0UL; -#line 1519 "parse3.om" +#line 1549 "parse3.om" goto b69; -#line 1519 "parse3.om" +#line 1549 "parse3.om" b69: if (!(v62)) { goto b64; } -#line 1519 "parse3.om" +#line 1549 "parse3.om" b65: v63 = (u)my_choice; -#line 1519 "parse3.om" +#line 1549 "parse3.om" v64 = v_c; -#line 1519 "parse3.om" +#line 1549 "parse3.om" v65 = ((u (*)())(v63))(v64); -#line 1520 "parse3.om" +#line 1550 "parse3.om" b70: v66 = (u)my_peg_P_nil; -#line 1520 "parse3.om" +#line 1550 "parse3.om" v67 = v_c; -#line 1520 "parse3.om" +#line 1550 "parse3.om" v68 = ((u (*)())(v66))(v67); -#line 1520 "parse3.om" +#line 1550 "parse3.om" b71: v_ok = v68; -#line 1521 "parse3.om" +#line 1551 "parse3.om" if (!(v_ok)) { goto b64; } -#line 1522 "parse3.om" +#line 1552 "parse3.om" b73: v69 = (u)my_peg_P_sp; -#line 1522 "parse3.om" +#line 1552 "parse3.om" v70 = v_c; -#line 1522 "parse3.om" +#line 1552 "parse3.om" v71 = ((u (*)())(v69))(v70); -#line 1522 "parse3.om" +#line 1552 "parse3.om" b75: v_ok = v71; -#line 1522 "parse3.om" +#line 1552 "parse3.om" goto b64; -#line 1525 "parse3.om" +#line 1555 "parse3.om" b64: if (!(v_ok)) { goto b80; } -#line 1525 "parse3.om" +#line 1555 "parse3.om" b79: v72 = 0UL; -#line 1525 "parse3.om" +#line 1555 "parse3.om" goto b81; -#line 1525 "parse3.om" +#line 1555 "parse3.om" b81: if (!(v72)) { goto b76; } -#line 1525 "parse3.om" +#line 1555 "parse3.om" b77: v73 = (u)my_choice; -#line 1525 "parse3.om" +#line 1555 "parse3.om" v74 = v_c; -#line 1525 "parse3.om" +#line 1555 "parse3.om" v75 = ((u (*)())(v73))(v74); -#line 1526 "parse3.om" +#line 1556 "parse3.om" b82: v76 = (u)my_literal; -#line 1526 "parse3.om" +#line 1556 "parse3.om" v77 = v_c; -#line 1526 "parse3.om" +#line 1556 "parse3.om" v78 = (u)"("; -#line 1526 "parse3.om" +#line 1556 "parse3.om" v79 = ((u (*)())(v76))(v77, v78); -#line 1526 "parse3.om" +#line 1556 "parse3.om" b83: v_ok = v79; -#line 1527 "parse3.om" +#line 1557 "parse3.om" if (!(v_ok)) { goto b84; } -#line 1528 "parse3.om" +#line 1558 "parse3.om" b85: v80 = (u)my_peg_P_sp; -#line 1528 "parse3.om" +#line 1558 "parse3.om" v81 = v_c; -#line 1528 "parse3.om" +#line 1558 "parse3.om" v82 = ((u (*)())(v80))(v81); -#line 1528 "parse3.om" +#line 1558 "parse3.om" b87: v_ok = v82; -#line 1528 "parse3.om" +#line 1558 "parse3.om" goto b84; -#line 1530 "parse3.om" +#line 1560 "parse3.om" b84: if (!(v_ok)) { goto b88; } -#line 1531 "parse3.om" +#line 1561 "parse3.om" b89: v83 = (u)my_peg_P_expr; -#line 1531 "parse3.om" +#line 1561 "parse3.om" v84 = v_c; -#line 1531 "parse3.om" +#line 1561 "parse3.om" v85 = ((u (*)())(v83))(v84); -#line 1531 "parse3.om" +#line 1561 "parse3.om" b91: v_ok = v85; -#line 1531 "parse3.om" +#line 1561 "parse3.om" goto b88; -#line 1533 "parse3.om" +#line 1563 "parse3.om" b88: if (!(v_ok)) { goto b92; } -#line 1534 "parse3.om" +#line 1564 "parse3.om" b93: v86 = (u)my_literal; -#line 1534 "parse3.om" +#line 1564 "parse3.om" v87 = v_c; -#line 1534 "parse3.om" +#line 1564 "parse3.om" v88 = (u)")"; -#line 1534 "parse3.om" +#line 1564 "parse3.om" v89 = ((u (*)())(v86))(v87, v88); -#line 1534 "parse3.om" +#line 1564 "parse3.om" b95: v_ok = v89; -#line 1534 "parse3.om" +#line 1564 "parse3.om" goto b92; -#line 1536 "parse3.om" +#line 1566 "parse3.om" b92: if (!(v_ok)) { goto b76; } -#line 1537 "parse3.om" +#line 1567 "parse3.om" b97: v90 = (u)my_peg_P_sp; -#line 1537 "parse3.om" +#line 1567 "parse3.om" v91 = v_c; -#line 1537 "parse3.om" +#line 1567 "parse3.om" v92 = ((u (*)())(v90))(v91); -#line 1537 "parse3.om" +#line 1567 "parse3.om" b99: v_ok = v92; -#line 1537 "parse3.om" +#line 1567 "parse3.om" goto b76; -#line 1540 "parse3.om" +#line 1570 "parse3.om" b76: if (!(v_ok)) { goto b102; } -#line 1540 "parse3.om" +#line 1570 "parse3.om" b101: v93 = (u)my_commit; -#line 1540 "parse3.om" +#line 1570 "parse3.om" v94 = v_c; -#line 1540 "parse3.om" +#line 1570 "parse3.om" v95 = ((u (*)())(v93))(v94); -#line 1541 "parse3.om" +#line 1571 "parse3.om" b100: if (!(v_ok)) { goto b107; } -#line 1541 "parse3.om" +#line 1571 "parse3.om" b106: v99 = (u)my_leave; -#line 1541 "parse3.om" +#line 1571 "parse3.om" v100 = v_c; -#line 1541 "parse3.om" +#line 1571 "parse3.om" v101 = 63UL; -#line 1541 "parse3.om" +#line 1571 "parse3.om" v102 = ((u (*)())(v99))(v100, v101); -#line 1542 "parse3.om" +#line 1572 "parse3.om" b105: return v_ok; -#line 1541 "parse3.om" +#line 1571 "parse3.om" b107: v103 = (u)my_fail; -#line 1541 "parse3.om" +#line 1571 "parse3.om" v104 = v_c; -#line 1541 "parse3.om" +#line 1571 "parse3.om" v105 = ((u (*)())(v103))(v104); -#line 1541 "parse3.om" +#line 1571 "parse3.om" goto b105; -#line 1540 "parse3.om" +#line 1570 "parse3.om" b102: v96 = (u)my_fail; -#line 1540 "parse3.om" +#line 1570 "parse3.om" v97 = v_c; -#line 1540 "parse3.om" +#line 1570 "parse3.om" v98 = ((u (*)())(v96))(v97); -#line 1540 "parse3.om" +#line 1570 "parse3.om" goto b100; -#line 1525 "parse3.om" +#line 1555 "parse3.om" b80: v72 = 1UL; -#line 1525 "parse3.om" +#line 1555 "parse3.om" goto b81; -#line 1519 "parse3.om" +#line 1549 "parse3.om" b68: v62 = 1UL; -#line 1519 "parse3.om" +#line 1549 "parse3.om" goto b69; -#line 1516 "parse3.om" +#line 1546 "parse3.om" b60: v55 = 1UL; -#line 1516 "parse3.om" +#line 1546 "parse3.om" goto b61; -#line 1510 "parse3.om" +#line 1540 "parse3.om" b48: v45 = 1UL; -#line 1510 "parse3.om" +#line 1540 "parse3.om" goto b49; -#line 1504 "parse3.om" +#line 1534 "parse3.om" b36: v35 = 1UL; -#line 1504 "parse3.om" +#line 1534 "parse3.om" goto b37; -#line 1498 "parse3.om" +#line 1528 "parse3.om" b24: v25 = 1UL; -#line 1498 "parse3.om" +#line 1528 "parse3.om" goto b25; -#line 1492 "parse3.om" +#line 1522 "parse3.om" b12: v15 = 1UL; -#line 1492 "parse3.om" +#line 1522 "parse3.om" goto b13; } u my_peg_P_ptr_type(u v_c) { @@ -51300,67 +51016,67 @@ u my_peg_P_ptr_type(u v_c) { u v20 = 0; u v21 = 0; u v22 = 0; -#line 484 "parse3.om" +#line 514 "parse3.om" b0: v2 = (u)my_enter; -#line 484 "parse3.om" +#line 514 "parse3.om" v3 = v_c; -#line 484 "parse3.om" +#line 514 "parse3.om" v4 = 8UL; -#line 484 "parse3.om" +#line 514 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 485 "parse3.om" +#line 515 "parse3.om" b1: v6 = (u)my_literal; -#line 485 "parse3.om" +#line 515 "parse3.om" v7 = v_c; -#line 485 "parse3.om" +#line 515 "parse3.om" v8 = (u)"*"; -#line 485 "parse3.om" +#line 515 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 485 "parse3.om" +#line 515 "parse3.om" b2: v_ok = v9; -#line 486 "parse3.om" +#line 516 "parse3.om" if (!(v_ok)) { goto b3; } -#line 487 "parse3.om" +#line 517 "parse3.om" b4: v10 = (u)my_peg_P_sp; -#line 487 "parse3.om" +#line 517 "parse3.om" v11 = v_c; -#line 487 "parse3.om" +#line 517 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 487 "parse3.om" +#line 517 "parse3.om" b6: v_ok = v12; -#line 487 "parse3.om" +#line 517 "parse3.om" goto b3; -#line 489 "parse3.om" +#line 519 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 490 "parse3.om" +#line 520 "parse3.om" b8: v13 = (u)my_peg_P_type; -#line 490 "parse3.om" +#line 520 "parse3.om" v14 = v_c; -#line 490 "parse3.om" +#line 520 "parse3.om" v15 = ((u (*)())(v13))(v14); -#line 490 "parse3.om" +#line 520 "parse3.om" b10: v_ok = v15; -#line 490 "parse3.om" +#line 520 "parse3.om" goto b7; -#line 492 "parse3.om" +#line 522 "parse3.om" b7: if (!(v_ok)) { goto b13; } -#line 492 "parse3.om" +#line 522 "parse3.om" b12: v16 = (u)my_leave; -#line 492 "parse3.om" +#line 522 "parse3.om" v17 = v_c; -#line 492 "parse3.om" +#line 522 "parse3.om" v18 = 8UL; -#line 492 "parse3.om" +#line 522 "parse3.om" v19 = ((u (*)())(v16))(v17, v18); -#line 493 "parse3.om" +#line 523 "parse3.om" b11: return v_ok; -#line 492 "parse3.om" +#line 522 "parse3.om" b13: v20 = (u)my_fail; -#line 492 "parse3.om" +#line 522 "parse3.om" v21 = v_c; -#line 492 "parse3.om" +#line 522 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 492 "parse3.om" +#line 522 "parse3.om" goto b11; } u my_peg_P_ref_op(u v_c) { @@ -51393,83 +51109,83 @@ u my_peg_P_ref_op(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1270 "parse3.om" +#line 1300 "parse3.om" b0: v2 = (u)my_enter; -#line 1270 "parse3.om" +#line 1300 "parse3.om" v3 = v_c; -#line 1270 "parse3.om" +#line 1300 "parse3.om" v4 = 51UL; -#line 1270 "parse3.om" +#line 1300 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1271 "parse3.om" +#line 1301 "parse3.om" b1: v6 = (u)my_literal; -#line 1271 "parse3.om" +#line 1301 "parse3.om" v7 = v_c; -#line 1271 "parse3.om" +#line 1301 "parse3.om" v8 = (u)"&"; -#line 1271 "parse3.om" +#line 1301 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1271 "parse3.om" +#line 1301 "parse3.om" b2: v_ok = v9; -#line 1272 "parse3.om" +#line 1302 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1273 "parse3.om" +#line 1303 "parse3.om" b4: v10 = (u)my_choice; -#line 1273 "parse3.om" +#line 1303 "parse3.om" v11 = v_c; -#line 1273 "parse3.om" +#line 1303 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1274 "parse3.om" +#line 1304 "parse3.om" b6: v13 = (u)my_literal; -#line 1274 "parse3.om" +#line 1304 "parse3.om" v14 = v_c; -#line 1274 "parse3.om" +#line 1304 "parse3.om" v15 = (u)"&"; -#line 1274 "parse3.om" +#line 1304 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1274 "parse3.om" +#line 1304 "parse3.om" b7: v_ok = v16; -#line 1275 "parse3.om" +#line 1305 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1275 "parse3.om" +#line 1305 "parse3.om" b9: v17 = (u)my_fail; -#line 1275 "parse3.om" +#line 1305 "parse3.om" v18 = v_c; -#line 1275 "parse3.om" +#line 1305 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1275 "parse3.om" +#line 1305 "parse3.om" b11: v20 = (u)my_fail; -#line 1275 "parse3.om" +#line 1305 "parse3.om" v21 = v_c; -#line 1275 "parse3.om" +#line 1305 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1275 "parse3.om" +#line 1305 "parse3.om" b12: v_ok = 0UL; -#line 1275 "parse3.om" +#line 1305 "parse3.om" goto b3; -#line 1277 "parse3.om" +#line 1307 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1277 "parse3.om" +#line 1307 "parse3.om" b14: v23 = (u)my_leave; -#line 1277 "parse3.om" +#line 1307 "parse3.om" v24 = v_c; -#line 1277 "parse3.om" +#line 1307 "parse3.om" v25 = 51UL; -#line 1277 "parse3.om" +#line 1307 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1278 "parse3.om" +#line 1308 "parse3.om" b13: return v_ok; -#line 1277 "parse3.om" +#line 1307 "parse3.om" b15: v27 = (u)my_fail; -#line 1277 "parse3.om" +#line 1307 "parse3.om" v28 = v_c; -#line 1277 "parse3.om" +#line 1307 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1277 "parse3.om" +#line 1307 "parse3.om" goto b13; -#line 1275 "parse3.om" +#line 1305 "parse3.om" b10: v_ok = 1UL; -#line 1275 "parse3.om" +#line 1305 "parse3.om" goto b3; } u my_peg_P_reserved(u v_c) { @@ -51616,539 +51332,539 @@ u my_peg_P_reserved(u v_c) { u v141 = 0; u v142 = 0; u v143 = 0; -#line 1693 "parse3.om" +#line 1723 "parse3.om" b0: v2 = (u)my_enter; -#line 1693 "parse3.om" +#line 1723 "parse3.om" v3 = v_c; -#line 1693 "parse3.om" +#line 1723 "parse3.om" v4 = 69UL; -#line 1693 "parse3.om" +#line 1723 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1694 "parse3.om" +#line 1724 "parse3.om" b1: v6 = (u)my_choice; -#line 1694 "parse3.om" +#line 1724 "parse3.om" v7 = v_c; -#line 1694 "parse3.om" +#line 1724 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 1695 "parse3.om" +#line 1725 "parse3.om" b2: v9 = (u)my_peg_P_return; -#line 1695 "parse3.om" +#line 1725 "parse3.om" v10 = v_c; -#line 1695 "parse3.om" +#line 1725 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 1695 "parse3.om" +#line 1725 "parse3.om" b3: v_ok = v11; -#line 1696 "parse3.om" +#line 1726 "parse3.om" if (!(v_ok)) { goto b8; } -#line 1696 "parse3.om" +#line 1726 "parse3.om" b7: v12 = 0UL; -#line 1696 "parse3.om" +#line 1726 "parse3.om" goto b9; -#line 1696 "parse3.om" +#line 1726 "parse3.om" b9: if (!(v12)) { goto b4; } -#line 1696 "parse3.om" +#line 1726 "parse3.om" b5: v13 = (u)my_choice; -#line 1696 "parse3.om" +#line 1726 "parse3.om" v14 = v_c; -#line 1696 "parse3.om" +#line 1726 "parse3.om" v15 = ((u (*)())(v13))(v14); -#line 1697 "parse3.om" +#line 1727 "parse3.om" b10: v16 = (u)my_peg_P_break; -#line 1697 "parse3.om" +#line 1727 "parse3.om" v17 = v_c; -#line 1697 "parse3.om" +#line 1727 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 1697 "parse3.om" +#line 1727 "parse3.om" b11: v_ok = v18; -#line 1697 "parse3.om" +#line 1727 "parse3.om" goto b4; -#line 1699 "parse3.om" +#line 1729 "parse3.om" b4: if (!(v_ok)) { goto b16; } -#line 1699 "parse3.om" +#line 1729 "parse3.om" b15: v19 = 0UL; -#line 1699 "parse3.om" +#line 1729 "parse3.om" goto b17; -#line 1699 "parse3.om" +#line 1729 "parse3.om" b17: if (!(v19)) { goto b12; } -#line 1699 "parse3.om" +#line 1729 "parse3.om" b13: v20 = (u)my_choice; -#line 1699 "parse3.om" +#line 1729 "parse3.om" v21 = v_c; -#line 1699 "parse3.om" +#line 1729 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1700 "parse3.om" +#line 1730 "parse3.om" b18: v23 = (u)my_peg_P_sizeof; -#line 1700 "parse3.om" +#line 1730 "parse3.om" v24 = v_c; -#line 1700 "parse3.om" +#line 1730 "parse3.om" v25 = ((u (*)())(v23))(v24); -#line 1700 "parse3.om" +#line 1730 "parse3.om" b19: v_ok = v25; -#line 1700 "parse3.om" +#line 1730 "parse3.om" goto b12; -#line 1702 "parse3.om" +#line 1732 "parse3.om" b12: if (!(v_ok)) { goto b24; } -#line 1702 "parse3.om" +#line 1732 "parse3.om" b23: v26 = 0UL; -#line 1702 "parse3.om" +#line 1732 "parse3.om" goto b25; -#line 1702 "parse3.om" +#line 1732 "parse3.om" b25: if (!(v26)) { goto b20; } -#line 1702 "parse3.om" +#line 1732 "parse3.om" b21: v27 = (u)my_choice; -#line 1702 "parse3.om" +#line 1732 "parse3.om" v28 = v_c; -#line 1702 "parse3.om" +#line 1732 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1703 "parse3.om" +#line 1733 "parse3.om" b26: v30 = (u)my_peg_P_if; -#line 1703 "parse3.om" +#line 1733 "parse3.om" v31 = v_c; -#line 1703 "parse3.om" +#line 1733 "parse3.om" v32 = ((u (*)())(v30))(v31); -#line 1703 "parse3.om" +#line 1733 "parse3.om" b27: v_ok = v32; -#line 1703 "parse3.om" +#line 1733 "parse3.om" goto b20; -#line 1705 "parse3.om" +#line 1735 "parse3.om" b20: if (!(v_ok)) { goto b32; } -#line 1705 "parse3.om" +#line 1735 "parse3.om" b31: v33 = 0UL; -#line 1705 "parse3.om" +#line 1735 "parse3.om" goto b33; -#line 1705 "parse3.om" +#line 1735 "parse3.om" b33: if (!(v33)) { goto b28; } -#line 1705 "parse3.om" +#line 1735 "parse3.om" b29: v34 = (u)my_choice; -#line 1705 "parse3.om" +#line 1735 "parse3.om" v35 = v_c; -#line 1705 "parse3.om" +#line 1735 "parse3.om" v36 = ((u (*)())(v34))(v35); -#line 1706 "parse3.om" +#line 1736 "parse3.om" b34: v37 = (u)my_peg_P_else; -#line 1706 "parse3.om" +#line 1736 "parse3.om" v38 = v_c; -#line 1706 "parse3.om" +#line 1736 "parse3.om" v39 = ((u (*)())(v37))(v38); -#line 1706 "parse3.om" +#line 1736 "parse3.om" b35: v_ok = v39; -#line 1706 "parse3.om" +#line 1736 "parse3.om" goto b28; -#line 1708 "parse3.om" +#line 1738 "parse3.om" b28: if (!(v_ok)) { goto b40; } -#line 1708 "parse3.om" +#line 1738 "parse3.om" b39: v40 = 0UL; -#line 1708 "parse3.om" +#line 1738 "parse3.om" goto b41; -#line 1708 "parse3.om" +#line 1738 "parse3.om" b41: if (!(v40)) { goto b36; } -#line 1708 "parse3.om" +#line 1738 "parse3.om" b37: v41 = (u)my_choice; -#line 1708 "parse3.om" +#line 1738 "parse3.om" v42 = v_c; -#line 1708 "parse3.om" +#line 1738 "parse3.om" v43 = ((u (*)())(v41))(v42); -#line 1709 "parse3.om" +#line 1739 "parse3.om" b42: v44 = (u)my_peg_P_loop; -#line 1709 "parse3.om" +#line 1739 "parse3.om" v45 = v_c; -#line 1709 "parse3.om" +#line 1739 "parse3.om" v46 = ((u (*)())(v44))(v45); -#line 1709 "parse3.om" +#line 1739 "parse3.om" b43: v_ok = v46; -#line 1709 "parse3.om" +#line 1739 "parse3.om" goto b36; -#line 1711 "parse3.om" +#line 1741 "parse3.om" b36: if (!(v_ok)) { goto b48; } -#line 1711 "parse3.om" +#line 1741 "parse3.om" b47: v47 = 0UL; -#line 1711 "parse3.om" +#line 1741 "parse3.om" goto b49; -#line 1711 "parse3.om" +#line 1741 "parse3.om" b49: if (!(v47)) { goto b44; } -#line 1711 "parse3.om" +#line 1741 "parse3.om" b45: v48 = (u)my_choice; -#line 1711 "parse3.om" +#line 1741 "parse3.om" v49 = v_c; -#line 1711 "parse3.om" +#line 1741 "parse3.om" v50 = ((u (*)())(v48))(v49); -#line 1712 "parse3.om" +#line 1742 "parse3.om" b50: v51 = (u)my_peg_P_continue; -#line 1712 "parse3.om" +#line 1742 "parse3.om" v52 = v_c; -#line 1712 "parse3.om" +#line 1742 "parse3.om" v53 = ((u (*)())(v51))(v52); -#line 1712 "parse3.om" +#line 1742 "parse3.om" b51: v_ok = v53; -#line 1712 "parse3.om" +#line 1742 "parse3.om" goto b44; -#line 1714 "parse3.om" +#line 1744 "parse3.om" b44: if (!(v_ok)) { goto b56; } -#line 1714 "parse3.om" +#line 1744 "parse3.om" b55: v54 = 0UL; -#line 1714 "parse3.om" +#line 1744 "parse3.om" goto b57; -#line 1714 "parse3.om" +#line 1744 "parse3.om" b57: if (!(v54)) { goto b52; } -#line 1714 "parse3.om" +#line 1744 "parse3.om" b53: v55 = (u)my_choice; -#line 1714 "parse3.om" +#line 1744 "parse3.om" v56 = v_c; -#line 1714 "parse3.om" +#line 1744 "parse3.om" v57 = ((u (*)())(v55))(v56); -#line 1715 "parse3.om" +#line 1745 "parse3.om" b58: v58 = (u)my_peg_P_goto; -#line 1715 "parse3.om" +#line 1745 "parse3.om" v59 = v_c; -#line 1715 "parse3.om" +#line 1745 "parse3.om" v60 = ((u (*)())(v58))(v59); -#line 1715 "parse3.om" +#line 1745 "parse3.om" b59: v_ok = v60; -#line 1715 "parse3.om" +#line 1745 "parse3.om" goto b52; -#line 1717 "parse3.om" +#line 1747 "parse3.om" b52: if (!(v_ok)) { goto b64; } -#line 1717 "parse3.om" +#line 1747 "parse3.om" b63: v61 = 0UL; -#line 1717 "parse3.om" +#line 1747 "parse3.om" goto b65; -#line 1717 "parse3.om" +#line 1747 "parse3.om" b65: if (!(v61)) { goto b60; } -#line 1717 "parse3.om" +#line 1747 "parse3.om" b61: v62 = (u)my_choice; -#line 1717 "parse3.om" +#line 1747 "parse3.om" v63 = v_c; -#line 1717 "parse3.om" +#line 1747 "parse3.om" v64 = ((u (*)())(v62))(v63); -#line 1718 "parse3.om" +#line 1748 "parse3.om" b66: v65 = (u)my_peg_P_var; -#line 1718 "parse3.om" +#line 1748 "parse3.om" v66 = v_c; -#line 1718 "parse3.om" +#line 1748 "parse3.om" v67 = ((u (*)())(v65))(v66); -#line 1718 "parse3.om" +#line 1748 "parse3.om" b67: v_ok = v67; -#line 1718 "parse3.om" +#line 1748 "parse3.om" goto b60; -#line 1720 "parse3.om" +#line 1750 "parse3.om" b60: if (!(v_ok)) { goto b72; } -#line 1720 "parse3.om" +#line 1750 "parse3.om" b71: v68 = 0UL; -#line 1720 "parse3.om" +#line 1750 "parse3.om" goto b73; -#line 1720 "parse3.om" +#line 1750 "parse3.om" b73: if (!(v68)) { goto b68; } -#line 1720 "parse3.om" +#line 1750 "parse3.om" b69: v69 = (u)my_choice; -#line 1720 "parse3.om" +#line 1750 "parse3.om" v70 = v_c; -#line 1720 "parse3.om" +#line 1750 "parse3.om" v71 = ((u (*)())(v69))(v70); -#line 1721 "parse3.om" +#line 1751 "parse3.om" b74: v72 = (u)my_peg_P_enum; -#line 1721 "parse3.om" +#line 1751 "parse3.om" v73 = v_c; -#line 1721 "parse3.om" +#line 1751 "parse3.om" v74 = ((u (*)())(v72))(v73); -#line 1721 "parse3.om" +#line 1751 "parse3.om" b75: v_ok = v74; -#line 1721 "parse3.om" +#line 1751 "parse3.om" goto b68; -#line 1723 "parse3.om" +#line 1753 "parse3.om" b68: if (!(v_ok)) { goto b80; } -#line 1723 "parse3.om" +#line 1753 "parse3.om" b79: v75 = 0UL; -#line 1723 "parse3.om" +#line 1753 "parse3.om" goto b81; -#line 1723 "parse3.om" +#line 1753 "parse3.om" b81: if (!(v75)) { goto b76; } -#line 1723 "parse3.om" +#line 1753 "parse3.om" b77: v76 = (u)my_choice; -#line 1723 "parse3.om" +#line 1753 "parse3.om" v77 = v_c; -#line 1723 "parse3.om" +#line 1753 "parse3.om" v78 = ((u (*)())(v76))(v77); -#line 1724 "parse3.om" +#line 1754 "parse3.om" b82: v79 = (u)my_peg_P_struct; -#line 1724 "parse3.om" +#line 1754 "parse3.om" v80 = v_c; -#line 1724 "parse3.om" +#line 1754 "parse3.om" v81 = ((u (*)())(v79))(v80); -#line 1724 "parse3.om" +#line 1754 "parse3.om" b83: v_ok = v81; -#line 1724 "parse3.om" +#line 1754 "parse3.om" goto b76; -#line 1726 "parse3.om" +#line 1756 "parse3.om" b76: if (!(v_ok)) { goto b88; } -#line 1726 "parse3.om" +#line 1756 "parse3.om" b87: v82 = 0UL; -#line 1726 "parse3.om" +#line 1756 "parse3.om" goto b89; -#line 1726 "parse3.om" +#line 1756 "parse3.om" b89: if (!(v82)) { goto b84; } -#line 1726 "parse3.om" +#line 1756 "parse3.om" b85: v83 = (u)my_choice; -#line 1726 "parse3.om" +#line 1756 "parse3.om" v84 = v_c; -#line 1726 "parse3.om" +#line 1756 "parse3.om" v85 = ((u (*)())(v83))(v84); -#line 1727 "parse3.om" +#line 1757 "parse3.om" b90: v86 = (u)my_peg_P_union; -#line 1727 "parse3.om" +#line 1757 "parse3.om" v87 = v_c; -#line 1727 "parse3.om" +#line 1757 "parse3.om" v88 = ((u (*)())(v86))(v87); -#line 1727 "parse3.om" +#line 1757 "parse3.om" b91: v_ok = v88; -#line 1727 "parse3.om" +#line 1757 "parse3.om" goto b84; -#line 1729 "parse3.om" +#line 1759 "parse3.om" b84: if (!(v_ok)) { goto b96; } -#line 1729 "parse3.om" +#line 1759 "parse3.om" b95: v89 = 0UL; -#line 1729 "parse3.om" +#line 1759 "parse3.om" goto b97; -#line 1729 "parse3.om" +#line 1759 "parse3.om" b97: if (!(v89)) { goto b92; } -#line 1729 "parse3.om" +#line 1759 "parse3.om" b93: v90 = (u)my_choice; -#line 1729 "parse3.om" +#line 1759 "parse3.om" v91 = v_c; -#line 1729 "parse3.om" +#line 1759 "parse3.om" v92 = ((u (*)())(v90))(v91); -#line 1730 "parse3.om" +#line 1760 "parse3.om" b98: v93 = (u)my_peg_P_byte; -#line 1730 "parse3.om" +#line 1760 "parse3.om" v94 = v_c; -#line 1730 "parse3.om" +#line 1760 "parse3.om" v95 = ((u (*)())(v93))(v94); -#line 1730 "parse3.om" +#line 1760 "parse3.om" b99: v_ok = v95; -#line 1730 "parse3.om" +#line 1760 "parse3.om" goto b92; -#line 1732 "parse3.om" +#line 1762 "parse3.om" b92: if (!(v_ok)) { goto b104; } -#line 1732 "parse3.om" +#line 1762 "parse3.om" b103: v96 = 0UL; -#line 1732 "parse3.om" +#line 1762 "parse3.om" goto b105; -#line 1732 "parse3.om" +#line 1762 "parse3.om" b105: if (!(v96)) { goto b100; } -#line 1732 "parse3.om" +#line 1762 "parse3.om" b101: v97 = (u)my_choice; -#line 1732 "parse3.om" +#line 1762 "parse3.om" v98 = v_c; -#line 1732 "parse3.om" +#line 1762 "parse3.om" v99 = ((u (*)())(v97))(v98); -#line 1733 "parse3.om" +#line 1763 "parse3.om" b106: v100 = (u)my_peg_P_int; -#line 1733 "parse3.om" +#line 1763 "parse3.om" v101 = v_c; -#line 1733 "parse3.om" +#line 1763 "parse3.om" v102 = ((u (*)())(v100))(v101); -#line 1733 "parse3.om" +#line 1763 "parse3.om" b107: v_ok = v102; -#line 1733 "parse3.om" +#line 1763 "parse3.om" goto b100; -#line 1735 "parse3.om" +#line 1765 "parse3.om" b100: if (!(v_ok)) { goto b112; } -#line 1735 "parse3.om" +#line 1765 "parse3.om" b111: v103 = 0UL; -#line 1735 "parse3.om" +#line 1765 "parse3.om" goto b113; -#line 1735 "parse3.om" +#line 1765 "parse3.om" b113: if (!(v103)) { goto b108; } -#line 1735 "parse3.om" +#line 1765 "parse3.om" b109: v104 = (u)my_choice; -#line 1735 "parse3.om" +#line 1765 "parse3.om" v105 = v_c; -#line 1735 "parse3.om" +#line 1765 "parse3.om" v106 = ((u (*)())(v104))(v105); -#line 1736 "parse3.om" +#line 1766 "parse3.om" b114: v107 = (u)my_peg_P_void; -#line 1736 "parse3.om" +#line 1766 "parse3.om" v108 = v_c; -#line 1736 "parse3.om" +#line 1766 "parse3.om" v109 = ((u (*)())(v107))(v108); -#line 1736 "parse3.om" +#line 1766 "parse3.om" b115: v_ok = v109; -#line 1736 "parse3.om" +#line 1766 "parse3.om" goto b108; -#line 1738 "parse3.om" +#line 1768 "parse3.om" b108: if (!(v_ok)) { goto b120; } -#line 1738 "parse3.om" +#line 1768 "parse3.om" b119: v110 = 0UL; -#line 1738 "parse3.om" +#line 1768 "parse3.om" goto b121; -#line 1738 "parse3.om" +#line 1768 "parse3.om" b121: if (!(v110)) { goto b116; } -#line 1738 "parse3.om" +#line 1768 "parse3.om" b117: v111 = (u)my_choice; -#line 1738 "parse3.om" +#line 1768 "parse3.om" v112 = v_c; -#line 1738 "parse3.om" +#line 1768 "parse3.om" v113 = ((u (*)())(v111))(v112); -#line 1739 "parse3.om" +#line 1769 "parse3.om" b122: v114 = (u)my_peg_P_func; -#line 1739 "parse3.om" +#line 1769 "parse3.om" v115 = v_c; -#line 1739 "parse3.om" +#line 1769 "parse3.om" v116 = ((u (*)())(v114))(v115); -#line 1739 "parse3.om" +#line 1769 "parse3.om" b123: v_ok = v116; -#line 1739 "parse3.om" +#line 1769 "parse3.om" goto b116; -#line 1741 "parse3.om" +#line 1771 "parse3.om" b116: if (!(v_ok)) { goto b128; } -#line 1741 "parse3.om" +#line 1771 "parse3.om" b127: v117 = 0UL; -#line 1741 "parse3.om" +#line 1771 "parse3.om" goto b129; -#line 1741 "parse3.om" +#line 1771 "parse3.om" b129: if (!(v117)) { goto b124; } -#line 1741 "parse3.om" +#line 1771 "parse3.om" b125: v118 = (u)my_choice; -#line 1741 "parse3.om" +#line 1771 "parse3.om" v119 = v_c; -#line 1741 "parse3.om" +#line 1771 "parse3.om" v120 = ((u (*)())(v118))(v119); -#line 1742 "parse3.om" +#line 1772 "parse3.om" b130: v121 = (u)my_peg_P_as; -#line 1742 "parse3.om" +#line 1772 "parse3.om" v122 = v_c; -#line 1742 "parse3.om" +#line 1772 "parse3.om" v123 = ((u (*)())(v121))(v122); -#line 1742 "parse3.om" +#line 1772 "parse3.om" b131: v_ok = v123; -#line 1742 "parse3.om" +#line 1772 "parse3.om" goto b124; -#line 1744 "parse3.om" +#line 1774 "parse3.om" b124: if (!(v_ok)) { goto b136; } -#line 1744 "parse3.om" +#line 1774 "parse3.om" b135: v124 = 0UL; -#line 1744 "parse3.om" +#line 1774 "parse3.om" goto b137; -#line 1744 "parse3.om" +#line 1774 "parse3.om" b137: if (!(v124)) { goto b132; } -#line 1744 "parse3.om" +#line 1774 "parse3.om" b133: v125 = (u)my_choice; -#line 1744 "parse3.om" +#line 1774 "parse3.om" v126 = v_c; -#line 1744 "parse3.om" +#line 1774 "parse3.om" v127 = ((u (*)())(v125))(v126); -#line 1745 "parse3.om" +#line 1775 "parse3.om" b138: v128 = (u)my_peg_P_nil; -#line 1745 "parse3.om" +#line 1775 "parse3.om" v129 = v_c; -#line 1745 "parse3.om" +#line 1775 "parse3.om" v130 = ((u (*)())(v128))(v129); -#line 1745 "parse3.om" +#line 1775 "parse3.om" b139: v_ok = v130; -#line 1745 "parse3.om" +#line 1775 "parse3.om" goto b132; -#line 1747 "parse3.om" +#line 1777 "parse3.om" b132: if (!(v_ok)) { goto b142; } -#line 1747 "parse3.om" +#line 1777 "parse3.om" b141: v131 = (u)my_commit; -#line 1747 "parse3.om" +#line 1777 "parse3.om" v132 = v_c; -#line 1747 "parse3.om" +#line 1777 "parse3.om" v133 = ((u (*)())(v131))(v132); -#line 1748 "parse3.om" +#line 1778 "parse3.om" b140: if (!(v_ok)) { goto b147; } -#line 1748 "parse3.om" +#line 1778 "parse3.om" b146: v137 = (u)my_leave; -#line 1748 "parse3.om" +#line 1778 "parse3.om" v138 = v_c; -#line 1748 "parse3.om" +#line 1778 "parse3.om" v139 = 69UL; -#line 1748 "parse3.om" +#line 1778 "parse3.om" v140 = ((u (*)())(v137))(v138, v139); -#line 1749 "parse3.om" +#line 1779 "parse3.om" b145: return v_ok; -#line 1748 "parse3.om" +#line 1778 "parse3.om" b147: v141 = (u)my_fail; -#line 1748 "parse3.om" +#line 1778 "parse3.om" v142 = v_c; -#line 1748 "parse3.om" +#line 1778 "parse3.om" v143 = ((u (*)())(v141))(v142); -#line 1748 "parse3.om" +#line 1778 "parse3.om" goto b145; -#line 1747 "parse3.om" +#line 1777 "parse3.om" b142: v134 = (u)my_fail; -#line 1747 "parse3.om" +#line 1777 "parse3.om" v135 = v_c; -#line 1747 "parse3.om" +#line 1777 "parse3.om" v136 = ((u (*)())(v134))(v135); -#line 1747 "parse3.om" +#line 1777 "parse3.om" goto b140; -#line 1744 "parse3.om" +#line 1774 "parse3.om" b136: v124 = 1UL; -#line 1744 "parse3.om" +#line 1774 "parse3.om" goto b137; -#line 1741 "parse3.om" +#line 1771 "parse3.om" b128: v117 = 1UL; -#line 1741 "parse3.om" +#line 1771 "parse3.om" goto b129; -#line 1738 "parse3.om" +#line 1768 "parse3.om" b120: v110 = 1UL; -#line 1738 "parse3.om" +#line 1768 "parse3.om" goto b121; -#line 1735 "parse3.om" +#line 1765 "parse3.om" b112: v103 = 1UL; -#line 1735 "parse3.om" +#line 1765 "parse3.om" goto b113; -#line 1732 "parse3.om" +#line 1762 "parse3.om" b104: v96 = 1UL; -#line 1732 "parse3.om" +#line 1762 "parse3.om" goto b105; -#line 1729 "parse3.om" +#line 1759 "parse3.om" b96: v89 = 1UL; -#line 1729 "parse3.om" +#line 1759 "parse3.om" goto b97; -#line 1726 "parse3.om" +#line 1756 "parse3.om" b88: v82 = 1UL; -#line 1726 "parse3.om" +#line 1756 "parse3.om" goto b89; -#line 1723 "parse3.om" +#line 1753 "parse3.om" b80: v75 = 1UL; -#line 1723 "parse3.om" +#line 1753 "parse3.om" goto b81; -#line 1720 "parse3.om" +#line 1750 "parse3.om" b72: v68 = 1UL; -#line 1720 "parse3.om" +#line 1750 "parse3.om" goto b73; -#line 1717 "parse3.om" +#line 1747 "parse3.om" b64: v61 = 1UL; -#line 1717 "parse3.om" +#line 1747 "parse3.om" goto b65; -#line 1714 "parse3.om" +#line 1744 "parse3.om" b56: v54 = 1UL; -#line 1714 "parse3.om" +#line 1744 "parse3.om" goto b57; -#line 1711 "parse3.om" +#line 1741 "parse3.om" b48: v47 = 1UL; -#line 1711 "parse3.om" +#line 1741 "parse3.om" goto b49; -#line 1708 "parse3.om" +#line 1738 "parse3.om" b40: v40 = 1UL; -#line 1708 "parse3.om" +#line 1738 "parse3.om" goto b41; -#line 1705 "parse3.om" +#line 1735 "parse3.om" b32: v33 = 1UL; -#line 1705 "parse3.om" +#line 1735 "parse3.om" goto b33; -#line 1702 "parse3.om" +#line 1732 "parse3.om" b24: v26 = 1UL; -#line 1702 "parse3.om" +#line 1732 "parse3.om" goto b25; -#line 1699 "parse3.om" +#line 1729 "parse3.om" b16: v19 = 1UL; -#line 1699 "parse3.om" +#line 1729 "parse3.om" goto b17; -#line 1696 "parse3.om" +#line 1726 "parse3.om" b8: v12 = 1UL; -#line 1696 "parse3.om" +#line 1726 "parse3.om" goto b9; } u my_peg_P_return(u v_c) { @@ -52181,83 +51897,83 @@ u my_peg_P_return(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1754 "parse3.om" +#line 1784 "parse3.om" b0: v2 = (u)my_enter; -#line 1754 "parse3.om" +#line 1784 "parse3.om" v3 = v_c; -#line 1754 "parse3.om" +#line 1784 "parse3.om" v4 = 70UL; -#line 1754 "parse3.om" +#line 1784 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1755 "parse3.om" +#line 1785 "parse3.om" b1: v6 = (u)my_literal; -#line 1755 "parse3.om" +#line 1785 "parse3.om" v7 = v_c; -#line 1755 "parse3.om" +#line 1785 "parse3.om" v8 = (u)"return"; -#line 1755 "parse3.om" +#line 1785 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1755 "parse3.om" +#line 1785 "parse3.om" b2: v_ok = v9; -#line 1756 "parse3.om" +#line 1786 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1757 "parse3.om" +#line 1787 "parse3.om" b4: v10 = (u)my_choice; -#line 1757 "parse3.om" +#line 1787 "parse3.om" v11 = v_c; -#line 1757 "parse3.om" +#line 1787 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1758 "parse3.om" +#line 1788 "parse3.om" b6: v13 = (u)my_charset; -#line 1758 "parse3.om" +#line 1788 "parse3.om" v14 = v_c; -#line 1758 "parse3.om" +#line 1788 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1758 "parse3.om" +#line 1788 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1758 "parse3.om" +#line 1788 "parse3.om" b7: v_ok = v16; -#line 1759 "parse3.om" +#line 1789 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1759 "parse3.om" +#line 1789 "parse3.om" b9: v17 = (u)my_fail; -#line 1759 "parse3.om" +#line 1789 "parse3.om" v18 = v_c; -#line 1759 "parse3.om" +#line 1789 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1759 "parse3.om" +#line 1789 "parse3.om" b11: v20 = (u)my_fail; -#line 1759 "parse3.om" +#line 1789 "parse3.om" v21 = v_c; -#line 1759 "parse3.om" +#line 1789 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1759 "parse3.om" +#line 1789 "parse3.om" b12: v_ok = 0UL; -#line 1759 "parse3.om" +#line 1789 "parse3.om" goto b3; -#line 1761 "parse3.om" +#line 1791 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1761 "parse3.om" +#line 1791 "parse3.om" b14: v23 = (u)my_leave; -#line 1761 "parse3.om" +#line 1791 "parse3.om" v24 = v_c; -#line 1761 "parse3.om" +#line 1791 "parse3.om" v25 = 70UL; -#line 1761 "parse3.om" +#line 1791 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1762 "parse3.om" +#line 1792 "parse3.om" b13: return v_ok; -#line 1761 "parse3.om" +#line 1791 "parse3.om" b15: v27 = (u)my_fail; -#line 1761 "parse3.om" +#line 1791 "parse3.om" v28 = v_c; -#line 1761 "parse3.om" +#line 1791 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1761 "parse3.om" +#line 1791 "parse3.om" goto b13; -#line 1759 "parse3.om" +#line 1789 "parse3.om" b10: v_ok = 1UL; -#line 1759 "parse3.om" +#line 1789 "parse3.om" goto b3; } u my_peg_P_return_stmt(u v_c) { @@ -52298,119 +52014,119 @@ u my_peg_P_return_stmt(u v_c) { u v35 = 0; u v36 = 0; u v37 = 0; -#line 757 "parse3.om" +#line 787 "parse3.om" b0: v2 = (u)my_enter; -#line 757 "parse3.om" +#line 787 "parse3.om" v3 = v_c; -#line 757 "parse3.om" +#line 787 "parse3.om" v4 = 19UL; -#line 757 "parse3.om" +#line 787 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 758 "parse3.om" +#line 788 "parse3.om" b1: v6 = (u)my_peg_P_return; -#line 758 "parse3.om" +#line 788 "parse3.om" v7 = v_c; -#line 758 "parse3.om" +#line 788 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 758 "parse3.om" +#line 788 "parse3.om" b2: v_ok = v8; -#line 759 "parse3.om" +#line 789 "parse3.om" if (!(v_ok)) { goto b3; } -#line 760 "parse3.om" +#line 790 "parse3.om" b4: v9 = (u)my_peg_P_sp; -#line 760 "parse3.om" +#line 790 "parse3.om" v10 = v_c; -#line 760 "parse3.om" +#line 790 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 760 "parse3.om" +#line 790 "parse3.om" b6: v_ok = v11; -#line 760 "parse3.om" +#line 790 "parse3.om" goto b3; -#line 762 "parse3.om" +#line 792 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 763 "parse3.om" +#line 793 "parse3.om" b8: v12 = (u)my_choice; -#line 763 "parse3.om" +#line 793 "parse3.om" v13 = v_c; -#line 763 "parse3.om" +#line 793 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 764 "parse3.om" +#line 794 "parse3.om" b10: v15 = (u)my_peg_P_expr; -#line 764 "parse3.om" +#line 794 "parse3.om" v16 = v_c; -#line 764 "parse3.om" +#line 794 "parse3.om" v17 = ((u (*)())(v15))(v16); -#line 764 "parse3.om" +#line 794 "parse3.om" b11: v_ok = v17; -#line 765 "parse3.om" +#line 795 "parse3.om" if (!(v_ok)) { goto b14; } -#line 765 "parse3.om" +#line 795 "parse3.om" b13: v18 = (u)my_commit; -#line 765 "parse3.om" +#line 795 "parse3.om" v19 = v_c; -#line 765 "parse3.om" +#line 795 "parse3.om" v20 = ((u (*)())(v18))(v19); -#line 767 "parse3.om" +#line 797 "parse3.om" b7: if (!(v_ok)) { goto b16; } -#line 768 "parse3.om" +#line 798 "parse3.om" b17: v21 = (u)my_peg_P_sp; -#line 768 "parse3.om" +#line 798 "parse3.om" v22 = v_c; -#line 768 "parse3.om" +#line 798 "parse3.om" v23 = ((u (*)())(v21))(v22); -#line 768 "parse3.om" +#line 798 "parse3.om" b19: v_ok = v23; -#line 768 "parse3.om" +#line 798 "parse3.om" goto b16; -#line 770 "parse3.om" +#line 800 "parse3.om" b16: if (!(v_ok)) { goto b20; } -#line 771 "parse3.om" +#line 801 "parse3.om" b21: v24 = (u)my_literal; -#line 771 "parse3.om" +#line 801 "parse3.om" v25 = v_c; -#line 771 "parse3.om" +#line 801 "parse3.om" v26 = (u)";"; -#line 771 "parse3.om" +#line 801 "parse3.om" v27 = ((u (*)())(v24))(v25, v26); -#line 771 "parse3.om" +#line 801 "parse3.om" b23: v_ok = v27; -#line 771 "parse3.om" +#line 801 "parse3.om" goto b20; -#line 773 "parse3.om" +#line 803 "parse3.om" b20: if (!(v_ok)) { goto b24; } -#line 774 "parse3.om" +#line 804 "parse3.om" b25: v28 = (u)my_peg_P_sp; -#line 774 "parse3.om" +#line 804 "parse3.om" v29 = v_c; -#line 774 "parse3.om" +#line 804 "parse3.om" v30 = ((u (*)())(v28))(v29); -#line 774 "parse3.om" +#line 804 "parse3.om" b27: v_ok = v30; -#line 774 "parse3.om" +#line 804 "parse3.om" goto b24; -#line 776 "parse3.om" +#line 806 "parse3.om" b24: if (!(v_ok)) { goto b30; } -#line 776 "parse3.om" +#line 806 "parse3.om" b29: v31 = (u)my_leave; -#line 776 "parse3.om" +#line 806 "parse3.om" v32 = v_c; -#line 776 "parse3.om" +#line 806 "parse3.om" v33 = 19UL; -#line 776 "parse3.om" +#line 806 "parse3.om" v34 = ((u (*)())(v31))(v32, v33); -#line 777 "parse3.om" +#line 807 "parse3.om" b28: return v_ok; -#line 776 "parse3.om" +#line 806 "parse3.om" b30: v35 = (u)my_fail; -#line 776 "parse3.om" +#line 806 "parse3.om" v36 = v_c; -#line 776 "parse3.om" +#line 806 "parse3.om" v37 = ((u (*)())(v35))(v36); -#line 776 "parse3.om" +#line 806 "parse3.om" goto b28; -#line 765 "parse3.om" +#line 795 "parse3.om" b14: v_ok = 1UL; -#line 765 "parse3.om" +#line 795 "parse3.om" goto b7; } u my_peg_P_rsh_op(u v_c) { @@ -52430,43 +52146,43 @@ u my_peg_P_rsh_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1235 "parse3.om" +#line 1265 "parse3.om" b0: v2 = (u)my_enter; -#line 1235 "parse3.om" +#line 1265 "parse3.om" v3 = v_c; -#line 1235 "parse3.om" +#line 1265 "parse3.om" v4 = 49UL; -#line 1235 "parse3.om" +#line 1265 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1236 "parse3.om" +#line 1266 "parse3.om" b1: v6 = (u)my_literal; -#line 1236 "parse3.om" +#line 1266 "parse3.om" v7 = v_c; -#line 1236 "parse3.om" +#line 1266 "parse3.om" v8 = (u)">>"; -#line 1236 "parse3.om" +#line 1266 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1236 "parse3.om" +#line 1266 "parse3.om" b2: v_ok = v9; -#line 1237 "parse3.om" +#line 1267 "parse3.om" if (!(v_ok)) { goto b5; } -#line 1237 "parse3.om" +#line 1267 "parse3.om" b4: v10 = (u)my_leave; -#line 1237 "parse3.om" +#line 1267 "parse3.om" v11 = v_c; -#line 1237 "parse3.om" +#line 1267 "parse3.om" v12 = 49UL; -#line 1237 "parse3.om" +#line 1267 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 1238 "parse3.om" +#line 1268 "parse3.om" b3: return v_ok; -#line 1237 "parse3.om" +#line 1267 "parse3.om" b5: v14 = (u)my_fail; -#line 1237 "parse3.om" +#line 1267 "parse3.om" v15 = v_c; -#line 1237 "parse3.om" +#line 1267 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 1237 "parse3.om" +#line 1267 "parse3.om" goto b3; } u my_peg_P_shift_expr(u v_c) { @@ -52517,155 +52233,155 @@ u my_peg_P_shift_expr(u v_c) { u v45 = 0; u v46 = 0; u v47 = 0; -#line 1243 "parse3.om" +#line 1273 "parse3.om" b0: v2 = (u)my_enter; -#line 1243 "parse3.om" +#line 1273 "parse3.om" v3 = v_c; -#line 1243 "parse3.om" +#line 1273 "parse3.om" v4 = 50UL; -#line 1243 "parse3.om" +#line 1273 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1244 "parse3.om" +#line 1274 "parse3.om" b1: v6 = (u)my_peg_P_unary_expr; -#line 1244 "parse3.om" +#line 1274 "parse3.om" v7 = v_c; -#line 1244 "parse3.om" +#line 1274 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 1244 "parse3.om" +#line 1274 "parse3.om" b2: v_ok = v8; -#line 1245 "parse3.om" +#line 1275 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1247 "parse3.om" +#line 1277 "parse3.om" b6: v9 = (u)my_choice; -#line 1247 "parse3.om" +#line 1277 "parse3.om" v10 = v_c; -#line 1247 "parse3.om" +#line 1277 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 1248 "parse3.om" +#line 1278 "parse3.om" b8: v12 = (u)my_choice; -#line 1248 "parse3.om" +#line 1278 "parse3.om" v13 = v_c; -#line 1248 "parse3.om" +#line 1278 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 1249 "parse3.om" +#line 1279 "parse3.om" b9: v15 = (u)my_peg_P_lsh_op; -#line 1249 "parse3.om" +#line 1279 "parse3.om" v16 = v_c; -#line 1249 "parse3.om" +#line 1279 "parse3.om" v17 = ((u (*)())(v15))(v16); -#line 1249 "parse3.om" +#line 1279 "parse3.om" b10: v_ok = v17; -#line 1250 "parse3.om" +#line 1280 "parse3.om" if (!(v_ok)) { goto b15; } -#line 1250 "parse3.om" +#line 1280 "parse3.om" b14: v18 = 0UL; -#line 1250 "parse3.om" +#line 1280 "parse3.om" goto b16; -#line 1250 "parse3.om" +#line 1280 "parse3.om" b16: if (!(v18)) { goto b11; } -#line 1250 "parse3.om" +#line 1280 "parse3.om" b12: v19 = (u)my_choice; -#line 1250 "parse3.om" +#line 1280 "parse3.om" v20 = v_c; -#line 1250 "parse3.om" +#line 1280 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 1251 "parse3.om" +#line 1281 "parse3.om" b17: v22 = (u)my_peg_P_rsh_op; -#line 1251 "parse3.om" +#line 1281 "parse3.om" v23 = v_c; -#line 1251 "parse3.om" +#line 1281 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 1251 "parse3.om" +#line 1281 "parse3.om" b18: v_ok = v24; -#line 1251 "parse3.om" +#line 1281 "parse3.om" goto b11; -#line 1253 "parse3.om" +#line 1283 "parse3.om" b11: if (!(v_ok)) { goto b21; } -#line 1253 "parse3.om" +#line 1283 "parse3.om" b20: v25 = (u)my_commit; -#line 1253 "parse3.om" +#line 1283 "parse3.om" v26 = v_c; -#line 1253 "parse3.om" +#line 1283 "parse3.om" v27 = ((u (*)())(v25))(v26); -#line 1254 "parse3.om" +#line 1284 "parse3.om" b19: if (!(v_ok)) { goto b24; } -#line 1255 "parse3.om" +#line 1285 "parse3.om" b25: v31 = (u)my_peg_P_sp; -#line 1255 "parse3.om" +#line 1285 "parse3.om" v32 = v_c; -#line 1255 "parse3.om" +#line 1285 "parse3.om" v33 = ((u (*)())(v31))(v32); -#line 1255 "parse3.om" +#line 1285 "parse3.om" b27: v_ok = v33; -#line 1255 "parse3.om" +#line 1285 "parse3.om" goto b24; -#line 1257 "parse3.om" +#line 1287 "parse3.om" b24: if (!(v_ok)) { goto b28; } -#line 1258 "parse3.om" +#line 1288 "parse3.om" b29: v34 = (u)my_peg_P_unary_expr; -#line 1258 "parse3.om" +#line 1288 "parse3.om" v35 = v_c; -#line 1258 "parse3.om" +#line 1288 "parse3.om" v36 = ((u (*)())(v34))(v35); -#line 1258 "parse3.om" +#line 1288 "parse3.om" b31: v_ok = v36; -#line 1258 "parse3.om" +#line 1288 "parse3.om" goto b28; -#line 1260 "parse3.om" +#line 1290 "parse3.om" b28: if (!(v_ok)) { goto b36; } -#line 1260 "parse3.om" +#line 1290 "parse3.om" b35: v37 = 0UL; -#line 1260 "parse3.om" +#line 1290 "parse3.om" goto b37; -#line 1260 "parse3.om" +#line 1290 "parse3.om" b37: if (!(v37)) { goto b32; } -#line 1260 "parse3.om" +#line 1290 "parse3.om" b33: v_ok = 1UL; -#line 1260 "parse3.om" +#line 1290 "parse3.om" goto b3; -#line 1264 "parse3.om" +#line 1294 "parse3.om" b3: if (!(v_ok)) { goto b41; } -#line 1264 "parse3.om" +#line 1294 "parse3.om" b40: v41 = (u)my_leave; -#line 1264 "parse3.om" +#line 1294 "parse3.om" v42 = v_c; -#line 1264 "parse3.om" +#line 1294 "parse3.om" v43 = 50UL; -#line 1264 "parse3.om" +#line 1294 "parse3.om" v44 = ((u (*)())(v41))(v42, v43); -#line 1265 "parse3.om" +#line 1295 "parse3.om" b39: return v_ok; -#line 1264 "parse3.om" +#line 1294 "parse3.om" b41: v45 = (u)my_fail; -#line 1264 "parse3.om" +#line 1294 "parse3.om" v46 = v_c; -#line 1264 "parse3.om" +#line 1294 "parse3.om" v47 = ((u (*)())(v45))(v46); -#line 1264 "parse3.om" +#line 1294 "parse3.om" goto b39; -#line 1261 "parse3.om" +#line 1291 "parse3.om" b32: v38 = (u)my_commit; -#line 1261 "parse3.om" +#line 1291 "parse3.om" v39 = v_c; -#line 1261 "parse3.om" +#line 1291 "parse3.om" v40 = ((u (*)())(v38))(v39); -#line 1261 "parse3.om" +#line 1291 "parse3.om" goto b6; -#line 1260 "parse3.om" +#line 1290 "parse3.om" b36: v37 = 1UL; -#line 1260 "parse3.om" +#line 1290 "parse3.om" goto b37; -#line 1253 "parse3.om" +#line 1283 "parse3.om" b21: v28 = (u)my_fail; -#line 1253 "parse3.om" +#line 1283 "parse3.om" v29 = v_c; -#line 1253 "parse3.om" +#line 1283 "parse3.om" v30 = ((u (*)())(v28))(v29); -#line 1253 "parse3.om" +#line 1283 "parse3.om" goto b19; -#line 1250 "parse3.om" +#line 1280 "parse3.om" b15: v18 = 1UL; -#line 1250 "parse3.om" +#line 1280 "parse3.om" goto b16; } u my_peg_P_sizeof(u v_c) { @@ -52698,83 +52414,83 @@ u my_peg_P_sizeof(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1780 "parse3.om" +#line 1810 "parse3.om" b0: v2 = (u)my_enter; -#line 1780 "parse3.om" +#line 1810 "parse3.om" v3 = v_c; -#line 1780 "parse3.om" +#line 1810 "parse3.om" v4 = 72UL; -#line 1780 "parse3.om" +#line 1810 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1781 "parse3.om" +#line 1811 "parse3.om" b1: v6 = (u)my_literal; -#line 1781 "parse3.om" +#line 1811 "parse3.om" v7 = v_c; -#line 1781 "parse3.om" +#line 1811 "parse3.om" v8 = (u)"sizeof"; -#line 1781 "parse3.om" +#line 1811 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1781 "parse3.om" +#line 1811 "parse3.om" b2: v_ok = v9; -#line 1782 "parse3.om" +#line 1812 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1783 "parse3.om" +#line 1813 "parse3.om" b4: v10 = (u)my_choice; -#line 1783 "parse3.om" +#line 1813 "parse3.om" v11 = v_c; -#line 1783 "parse3.om" +#line 1813 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1784 "parse3.om" +#line 1814 "parse3.om" b6: v13 = (u)my_charset; -#line 1784 "parse3.om" +#line 1814 "parse3.om" v14 = v_c; -#line 1784 "parse3.om" +#line 1814 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1784 "parse3.om" +#line 1814 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1784 "parse3.om" +#line 1814 "parse3.om" b7: v_ok = v16; -#line 1785 "parse3.om" +#line 1815 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1785 "parse3.om" +#line 1815 "parse3.om" b9: v17 = (u)my_fail; -#line 1785 "parse3.om" +#line 1815 "parse3.om" v18 = v_c; -#line 1785 "parse3.om" +#line 1815 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1785 "parse3.om" +#line 1815 "parse3.om" b11: v20 = (u)my_fail; -#line 1785 "parse3.om" +#line 1815 "parse3.om" v21 = v_c; -#line 1785 "parse3.om" +#line 1815 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1785 "parse3.om" +#line 1815 "parse3.om" b12: v_ok = 0UL; -#line 1785 "parse3.om" +#line 1815 "parse3.om" goto b3; -#line 1787 "parse3.om" +#line 1817 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1787 "parse3.om" +#line 1817 "parse3.om" b14: v23 = (u)my_leave; -#line 1787 "parse3.om" +#line 1817 "parse3.om" v24 = v_c; -#line 1787 "parse3.om" +#line 1817 "parse3.om" v25 = 72UL; -#line 1787 "parse3.om" +#line 1817 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1788 "parse3.om" +#line 1818 "parse3.om" b13: return v_ok; -#line 1787 "parse3.om" +#line 1817 "parse3.om" b15: v27 = (u)my_fail; -#line 1787 "parse3.om" +#line 1817 "parse3.om" v28 = v_c; -#line 1787 "parse3.om" +#line 1817 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1787 "parse3.om" +#line 1817 "parse3.om" goto b13; -#line 1785 "parse3.om" +#line 1815 "parse3.om" b10: v_ok = 1UL; -#line 1785 "parse3.om" +#line 1815 "parse3.om" goto b3; } u my_peg_P_sizeof_expr(u v_c) { @@ -52813,117 +52529,117 @@ u my_peg_P_sizeof_expr(u v_c) { u v33 = 0; u v34 = 0; u v35 = 0; -#line 1547 "parse3.om" +#line 1577 "parse3.om" b0: v2 = (u)my_enter; -#line 1547 "parse3.om" +#line 1577 "parse3.om" v3 = v_c; -#line 1547 "parse3.om" +#line 1577 "parse3.om" v4 = 64UL; -#line 1547 "parse3.om" +#line 1577 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1548 "parse3.om" +#line 1578 "parse3.om" b1: v6 = (u)my_peg_P_sizeof; -#line 1548 "parse3.om" +#line 1578 "parse3.om" v7 = v_c; -#line 1548 "parse3.om" +#line 1578 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 1548 "parse3.om" +#line 1578 "parse3.om" b2: v_ok = v8; -#line 1549 "parse3.om" +#line 1579 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1550 "parse3.om" +#line 1580 "parse3.om" b4: v9 = (u)my_peg_P_sp; -#line 1550 "parse3.om" +#line 1580 "parse3.om" v10 = v_c; -#line 1550 "parse3.om" +#line 1580 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 1550 "parse3.om" +#line 1580 "parse3.om" b6: v_ok = v11; -#line 1550 "parse3.om" +#line 1580 "parse3.om" goto b3; -#line 1552 "parse3.om" +#line 1582 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 1553 "parse3.om" +#line 1583 "parse3.om" b8: v12 = (u)my_literal; -#line 1553 "parse3.om" +#line 1583 "parse3.om" v13 = v_c; -#line 1553 "parse3.om" +#line 1583 "parse3.om" v14 = (u)"("; -#line 1553 "parse3.om" +#line 1583 "parse3.om" v15 = ((u (*)())(v12))(v13, v14); -#line 1553 "parse3.om" +#line 1583 "parse3.om" b10: v_ok = v15; -#line 1553 "parse3.om" +#line 1583 "parse3.om" goto b7; -#line 1555 "parse3.om" +#line 1585 "parse3.om" b7: if (!(v_ok)) { goto b11; } -#line 1556 "parse3.om" +#line 1586 "parse3.om" b12: v16 = (u)my_peg_P_sp; -#line 1556 "parse3.om" +#line 1586 "parse3.om" v17 = v_c; -#line 1556 "parse3.om" +#line 1586 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 1556 "parse3.om" +#line 1586 "parse3.om" b14: v_ok = v18; -#line 1556 "parse3.om" +#line 1586 "parse3.om" goto b11; -#line 1558 "parse3.om" +#line 1588 "parse3.om" b11: if (!(v_ok)) { goto b15; } -#line 1559 "parse3.om" +#line 1589 "parse3.om" b16: v19 = (u)my_peg_P_expr; -#line 1559 "parse3.om" +#line 1589 "parse3.om" v20 = v_c; -#line 1559 "parse3.om" +#line 1589 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 1559 "parse3.om" +#line 1589 "parse3.om" b18: v_ok = v21; -#line 1559 "parse3.om" +#line 1589 "parse3.om" goto b15; -#line 1561 "parse3.om" +#line 1591 "parse3.om" b15: if (!(v_ok)) { goto b19; } -#line 1562 "parse3.om" +#line 1592 "parse3.om" b20: v22 = (u)my_literal; -#line 1562 "parse3.om" +#line 1592 "parse3.om" v23 = v_c; -#line 1562 "parse3.om" +#line 1592 "parse3.om" v24 = (u)")"; -#line 1562 "parse3.om" +#line 1592 "parse3.om" v25 = ((u (*)())(v22))(v23, v24); -#line 1562 "parse3.om" +#line 1592 "parse3.om" b22: v_ok = v25; -#line 1562 "parse3.om" +#line 1592 "parse3.om" goto b19; -#line 1564 "parse3.om" +#line 1594 "parse3.om" b19: if (!(v_ok)) { goto b23; } -#line 1565 "parse3.om" +#line 1595 "parse3.om" b24: v26 = (u)my_peg_P_sp; -#line 1565 "parse3.om" +#line 1595 "parse3.om" v27 = v_c; -#line 1565 "parse3.om" +#line 1595 "parse3.om" v28 = ((u (*)())(v26))(v27); -#line 1565 "parse3.om" +#line 1595 "parse3.om" b26: v_ok = v28; -#line 1565 "parse3.om" +#line 1595 "parse3.om" goto b23; -#line 1567 "parse3.om" +#line 1597 "parse3.om" b23: if (!(v_ok)) { goto b29; } -#line 1567 "parse3.om" +#line 1597 "parse3.om" b28: v29 = (u)my_leave; -#line 1567 "parse3.om" +#line 1597 "parse3.om" v30 = v_c; -#line 1567 "parse3.om" +#line 1597 "parse3.om" v31 = 64UL; -#line 1567 "parse3.om" +#line 1597 "parse3.om" v32 = ((u (*)())(v29))(v30, v31); -#line 1568 "parse3.om" +#line 1598 "parse3.om" b27: return v_ok; -#line 1567 "parse3.om" +#line 1597 "parse3.om" b29: v33 = (u)my_fail; -#line 1567 "parse3.om" +#line 1597 "parse3.om" v34 = v_c; -#line 1567 "parse3.om" +#line 1597 "parse3.om" v35 = ((u (*)())(v33))(v34); -#line 1567 "parse3.om" +#line 1597 "parse3.om" goto b27; } u my_peg_P_sp(u v_c) { @@ -52990,205 +52706,205 @@ u my_peg_P_sp(u v_c) { u v61 = 0; u v62 = 0; u v63 = 0; -#line 2009 "parse3.om" +#line 2039 "parse3.om" b0: v2 = (u)my_enter; -#line 2009 "parse3.om" +#line 2039 "parse3.om" v3 = v_c; -#line 2009 "parse3.om" +#line 2039 "parse3.om" v4 = 89UL; -#line 2009 "parse3.om" +#line 2039 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 2011 "parse3.om" +#line 2041 "parse3.om" b2: v6 = (u)my_choice; -#line 2011 "parse3.om" +#line 2041 "parse3.om" v7 = v_c; -#line 2011 "parse3.om" +#line 2041 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 2012 "parse3.om" +#line 2042 "parse3.om" b4: v9 = (u)my_choice; -#line 2012 "parse3.om" +#line 2042 "parse3.om" v10 = v_c; -#line 2012 "parse3.om" +#line 2042 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 2013 "parse3.om" +#line 2043 "parse3.om" b5: v12 = (u)my_charset; -#line 2013 "parse3.om" +#line 2043 "parse3.om" v13 = v_c; -#line 2013 "parse3.om" +#line 2043 "parse3.om" v14 = (u)"\011\012\015 "; -#line 2013 "parse3.om" +#line 2043 "parse3.om" v15 = ((u (*)())(v12))(v13, v14); -#line 2013 "parse3.om" +#line 2043 "parse3.om" b6: v_ok = v15; -#line 2014 "parse3.om" +#line 2044 "parse3.om" if (!(v_ok)) { goto b11; } -#line 2014 "parse3.om" +#line 2044 "parse3.om" b10: v16 = 0UL; -#line 2014 "parse3.om" +#line 2044 "parse3.om" goto b12; -#line 2014 "parse3.om" +#line 2044 "parse3.om" b12: if (!(v16)) { goto b7; } -#line 2014 "parse3.om" +#line 2044 "parse3.om" b8: v17 = (u)my_choice; -#line 2014 "parse3.om" +#line 2044 "parse3.om" v18 = v_c; -#line 2014 "parse3.om" +#line 2044 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 2015 "parse3.om" +#line 2045 "parse3.om" b13: v20 = (u)my_literal; -#line 2015 "parse3.om" +#line 2045 "parse3.om" v21 = v_c; -#line 2015 "parse3.om" +#line 2045 "parse3.om" v22 = (u)"//"; -#line 2015 "parse3.om" +#line 2045 "parse3.om" v23 = ((u (*)())(v20))(v21, v22); -#line 2015 "parse3.om" +#line 2045 "parse3.om" b14: v_ok = v23; -#line 2016 "parse3.om" +#line 2046 "parse3.om" if (!(v_ok)) { goto b7; } -#line 2018 "parse3.om" +#line 2048 "parse3.om" b18: v24 = (u)my_choice; -#line 2018 "parse3.om" +#line 2048 "parse3.om" v25 = v_c; -#line 2018 "parse3.om" +#line 2048 "parse3.om" v26 = ((u (*)())(v24))(v25); -#line 2019 "parse3.om" +#line 2049 "parse3.om" b20: v27 = (u)my_choice; -#line 2019 "parse3.om" +#line 2049 "parse3.om" v28 = v_c; -#line 2019 "parse3.om" +#line 2049 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 2020 "parse3.om" +#line 2050 "parse3.om" b21: v30 = (u)my_charset; -#line 2020 "parse3.om" +#line 2050 "parse3.om" v31 = v_c; -#line 2020 "parse3.om" +#line 2050 "parse3.om" v32 = (u)"\012\015"; -#line 2020 "parse3.om" +#line 2050 "parse3.om" v33 = ((u (*)())(v30))(v31, v32); -#line 2020 "parse3.om" +#line 2050 "parse3.om" b22: v_ok = v33; -#line 2021 "parse3.om" +#line 2051 "parse3.om" if (!(v_ok)) { goto b25; } -#line 2021 "parse3.om" +#line 2051 "parse3.om" b24: v34 = (u)my_fail; -#line 2021 "parse3.om" +#line 2051 "parse3.om" v35 = v_c; -#line 2021 "parse3.om" +#line 2051 "parse3.om" v36 = ((u (*)())(v34))(v35); -#line 2021 "parse3.om" +#line 2051 "parse3.om" b26: v37 = (u)my_fail; -#line 2021 "parse3.om" +#line 2051 "parse3.om" v38 = v_c; -#line 2021 "parse3.om" +#line 2051 "parse3.om" v39 = ((u (*)())(v37))(v38); -#line 2021 "parse3.om" +#line 2051 "parse3.om" b27: v_ok = 0UL; -#line 2021 "parse3.om" +#line 2051 "parse3.om" goto b23; -#line 2022 "parse3.om" +#line 2052 "parse3.om" b23: if (!(v_ok)) { goto b28; } -#line 2023 "parse3.om" +#line 2053 "parse3.om" b29: v40 = (u)my_any; -#line 2023 "parse3.om" +#line 2053 "parse3.om" v41 = v_c; -#line 2023 "parse3.om" +#line 2053 "parse3.om" v42 = ((u (*)())(v40))(v41); -#line 2023 "parse3.om" +#line 2053 "parse3.om" b31: v_ok = v42; -#line 2023 "parse3.om" +#line 2053 "parse3.om" goto b28; -#line 2025 "parse3.om" +#line 2055 "parse3.om" b28: if (!(v_ok)) { goto b36; } -#line 2025 "parse3.om" +#line 2055 "parse3.om" b35: v43 = 0UL; -#line 2025 "parse3.om" +#line 2055 "parse3.om" goto b37; -#line 2025 "parse3.om" +#line 2055 "parse3.om" b37: if (!(v43)) { goto b32; } -#line 2025 "parse3.om" +#line 2055 "parse3.om" b33: v_ok = 1UL; -#line 2025 "parse3.om" +#line 2055 "parse3.om" goto b7; -#line 2030 "parse3.om" +#line 2060 "parse3.om" b7: if (!(v_ok)) { goto b41; } -#line 2030 "parse3.om" +#line 2060 "parse3.om" b40: v47 = (u)my_commit; -#line 2030 "parse3.om" +#line 2060 "parse3.om" v48 = v_c; -#line 2030 "parse3.om" +#line 2060 "parse3.om" v49 = ((u (*)())(v47))(v48); -#line 2031 "parse3.om" +#line 2061 "parse3.om" b39: if (!(v_ok)) { goto b48; } -#line 2031 "parse3.om" +#line 2061 "parse3.om" b47: v53 = 0UL; -#line 2031 "parse3.om" +#line 2061 "parse3.om" goto b49; -#line 2031 "parse3.om" +#line 2061 "parse3.om" b49: if (!(v53)) { goto b44; } -#line 2031 "parse3.om" +#line 2061 "parse3.om" b45: v_ok = 1UL; -#line 2031 "parse3.om" +#line 2061 "parse3.om" goto b3; -#line 2034 "parse3.om" +#line 2064 "parse3.om" b3: if (!(v_ok)) { goto b53; } -#line 2034 "parse3.om" +#line 2064 "parse3.om" b52: v57 = (u)my_leave; -#line 2034 "parse3.om" +#line 2064 "parse3.om" v58 = v_c; -#line 2034 "parse3.om" +#line 2064 "parse3.om" v59 = 89UL; -#line 2034 "parse3.om" +#line 2064 "parse3.om" v60 = ((u (*)())(v57))(v58, v59); -#line 2035 "parse3.om" +#line 2065 "parse3.om" b51: return v_ok; -#line 2034 "parse3.om" +#line 2064 "parse3.om" b53: v61 = (u)my_fail; -#line 2034 "parse3.om" +#line 2064 "parse3.om" v62 = v_c; -#line 2034 "parse3.om" +#line 2064 "parse3.om" v63 = ((u (*)())(v61))(v62); -#line 2034 "parse3.om" +#line 2064 "parse3.om" goto b51; -#line 2032 "parse3.om" +#line 2062 "parse3.om" b44: v54 = (u)my_commit; -#line 2032 "parse3.om" +#line 2062 "parse3.om" v55 = v_c; -#line 2032 "parse3.om" +#line 2062 "parse3.om" v56 = ((u (*)())(v54))(v55); -#line 2032 "parse3.om" +#line 2062 "parse3.om" goto b2; -#line 2031 "parse3.om" +#line 2061 "parse3.om" b48: v53 = 1UL; -#line 2031 "parse3.om" +#line 2061 "parse3.om" goto b49; -#line 2030 "parse3.om" +#line 2060 "parse3.om" b41: v50 = (u)my_fail; -#line 2030 "parse3.om" +#line 2060 "parse3.om" v51 = v_c; -#line 2030 "parse3.om" +#line 2060 "parse3.om" v52 = ((u (*)())(v50))(v51); -#line 2030 "parse3.om" +#line 2060 "parse3.om" goto b39; -#line 2026 "parse3.om" +#line 2056 "parse3.om" b32: v44 = (u)my_commit; -#line 2026 "parse3.om" +#line 2056 "parse3.om" v45 = v_c; -#line 2026 "parse3.om" +#line 2056 "parse3.om" v46 = ((u (*)())(v44))(v45); -#line 2026 "parse3.om" +#line 2056 "parse3.om" goto b18; -#line 2025 "parse3.om" +#line 2055 "parse3.om" b36: v43 = 1UL; -#line 2025 "parse3.om" +#line 2055 "parse3.om" goto b37; -#line 2021 "parse3.om" +#line 2051 "parse3.om" b25: v_ok = 1UL; -#line 2021 "parse3.om" +#line 2051 "parse3.om" goto b23; -#line 2014 "parse3.om" +#line 2044 "parse3.om" b11: v16 = 1UL; -#line 2014 "parse3.om" +#line 2044 "parse3.om" goto b12; } u my_peg_P_stmt(u v_c) { @@ -53293,371 +53009,371 @@ u my_peg_P_stmt(u v_c) { u v99 = 0; u v100 = 0; u v101 = 0; -#line 596 "parse3.om" +#line 626 "parse3.om" b0: v2 = (u)my_enter; -#line 596 "parse3.om" +#line 626 "parse3.om" v3 = v_c; -#line 596 "parse3.om" +#line 626 "parse3.om" v4 = 12UL; -#line 596 "parse3.om" +#line 626 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 597 "parse3.om" +#line 627 "parse3.om" b1: v6 = (u)my_choice; -#line 597 "parse3.om" +#line 627 "parse3.om" v7 = v_c; -#line 597 "parse3.om" +#line 627 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 598 "parse3.om" +#line 628 "parse3.om" b2: v9 = (u)my_peg_P_if_stmt; -#line 598 "parse3.om" +#line 628 "parse3.om" v10 = v_c; -#line 598 "parse3.om" +#line 628 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 598 "parse3.om" +#line 628 "parse3.om" b3: v_ok = v11; -#line 599 "parse3.om" +#line 629 "parse3.om" if (!(v_ok)) { goto b8; } -#line 599 "parse3.om" +#line 629 "parse3.om" b7: v12 = 0UL; -#line 599 "parse3.om" +#line 629 "parse3.om" goto b9; -#line 599 "parse3.om" +#line 629 "parse3.om" b9: if (!(v12)) { goto b4; } -#line 599 "parse3.om" +#line 629 "parse3.om" b5: v13 = (u)my_choice; -#line 599 "parse3.om" +#line 629 "parse3.om" v14 = v_c; -#line 599 "parse3.om" +#line 629 "parse3.om" v15 = ((u (*)())(v13))(v14); -#line 600 "parse3.om" +#line 630 "parse3.om" b10: v16 = (u)my_peg_P_loop_stmt; -#line 600 "parse3.om" +#line 630 "parse3.om" v17 = v_c; -#line 600 "parse3.om" +#line 630 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 600 "parse3.om" +#line 630 "parse3.om" b11: v_ok = v18; -#line 600 "parse3.om" +#line 630 "parse3.om" goto b4; -#line 602 "parse3.om" +#line 632 "parse3.om" b4: if (!(v_ok)) { goto b16; } -#line 602 "parse3.om" +#line 632 "parse3.om" b15: v19 = 0UL; -#line 602 "parse3.om" +#line 632 "parse3.om" goto b17; -#line 602 "parse3.om" +#line 632 "parse3.om" b17: if (!(v19)) { goto b12; } -#line 602 "parse3.om" +#line 632 "parse3.om" b13: v20 = (u)my_choice; -#line 602 "parse3.om" +#line 632 "parse3.om" v21 = v_c; -#line 602 "parse3.om" +#line 632 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 603 "parse3.om" +#line 633 "parse3.om" b18: v23 = (u)my_peg_P_break_stmt; -#line 603 "parse3.om" +#line 633 "parse3.om" v24 = v_c; -#line 603 "parse3.om" +#line 633 "parse3.om" v25 = ((u (*)())(v23))(v24); -#line 603 "parse3.om" +#line 633 "parse3.om" b19: v_ok = v25; -#line 603 "parse3.om" +#line 633 "parse3.om" goto b12; -#line 605 "parse3.om" +#line 635 "parse3.om" b12: if (!(v_ok)) { goto b24; } -#line 605 "parse3.om" +#line 635 "parse3.om" b23: v26 = 0UL; -#line 605 "parse3.om" +#line 635 "parse3.om" goto b25; -#line 605 "parse3.om" +#line 635 "parse3.om" b25: if (!(v26)) { goto b20; } -#line 605 "parse3.om" +#line 635 "parse3.om" b21: v27 = (u)my_choice; -#line 605 "parse3.om" +#line 635 "parse3.om" v28 = v_c; -#line 605 "parse3.om" +#line 635 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 606 "parse3.om" +#line 636 "parse3.om" b26: v30 = (u)my_peg_P_continue_stmt; -#line 606 "parse3.om" +#line 636 "parse3.om" v31 = v_c; -#line 606 "parse3.om" +#line 636 "parse3.om" v32 = ((u (*)())(v30))(v31); -#line 606 "parse3.om" +#line 636 "parse3.om" b27: v_ok = v32; -#line 606 "parse3.om" +#line 636 "parse3.om" goto b20; -#line 608 "parse3.om" +#line 638 "parse3.om" b20: if (!(v_ok)) { goto b32; } -#line 608 "parse3.om" +#line 638 "parse3.om" b31: v33 = 0UL; -#line 608 "parse3.om" +#line 638 "parse3.om" goto b33; -#line 608 "parse3.om" +#line 638 "parse3.om" b33: if (!(v33)) { goto b28; } -#line 608 "parse3.om" +#line 638 "parse3.om" b29: v34 = (u)my_choice; -#line 608 "parse3.om" +#line 638 "parse3.om" v35 = v_c; -#line 608 "parse3.om" +#line 638 "parse3.om" v36 = ((u (*)())(v34))(v35); -#line 609 "parse3.om" +#line 639 "parse3.om" b34: v37 = (u)my_peg_P_return_stmt; -#line 609 "parse3.om" +#line 639 "parse3.om" v38 = v_c; -#line 609 "parse3.om" +#line 639 "parse3.om" v39 = ((u (*)())(v37))(v38); -#line 609 "parse3.om" +#line 639 "parse3.om" b35: v_ok = v39; -#line 609 "parse3.om" +#line 639 "parse3.om" goto b28; -#line 611 "parse3.om" +#line 641 "parse3.om" b28: if (!(v_ok)) { goto b40; } -#line 611 "parse3.om" +#line 641 "parse3.om" b39: v40 = 0UL; -#line 611 "parse3.om" +#line 641 "parse3.om" goto b41; -#line 611 "parse3.om" +#line 641 "parse3.om" b41: if (!(v40)) { goto b36; } -#line 611 "parse3.om" +#line 641 "parse3.om" b37: v41 = (u)my_choice; -#line 611 "parse3.om" +#line 641 "parse3.om" v42 = v_c; -#line 611 "parse3.om" +#line 641 "parse3.om" v43 = ((u (*)())(v41))(v42); -#line 612 "parse3.om" +#line 642 "parse3.om" b42: v44 = (u)my_peg_P_var_stmt; -#line 612 "parse3.om" +#line 642 "parse3.om" v45 = v_c; -#line 612 "parse3.om" +#line 642 "parse3.om" v46 = ((u (*)())(v44))(v45); -#line 612 "parse3.om" +#line 642 "parse3.om" b43: v_ok = v46; -#line 612 "parse3.om" +#line 642 "parse3.om" goto b36; -#line 614 "parse3.om" +#line 644 "parse3.om" b36: if (!(v_ok)) { goto b48; } -#line 614 "parse3.om" +#line 644 "parse3.om" b47: v47 = 0UL; -#line 614 "parse3.om" +#line 644 "parse3.om" goto b49; -#line 614 "parse3.om" +#line 644 "parse3.om" b49: if (!(v47)) { goto b44; } -#line 614 "parse3.om" +#line 644 "parse3.om" b45: v48 = (u)my_choice; -#line 614 "parse3.om" +#line 644 "parse3.om" v49 = v_c; -#line 614 "parse3.om" +#line 644 "parse3.om" v50 = ((u (*)())(v48))(v49); -#line 615 "parse3.om" +#line 645 "parse3.om" b50: v51 = (u)my_peg_P_label_stmt; -#line 615 "parse3.om" +#line 645 "parse3.om" v52 = v_c; -#line 615 "parse3.om" +#line 645 "parse3.om" v53 = ((u (*)())(v51))(v52); -#line 615 "parse3.om" +#line 645 "parse3.om" b51: v_ok = v53; -#line 615 "parse3.om" +#line 645 "parse3.om" goto b44; -#line 617 "parse3.om" +#line 647 "parse3.om" b44: if (!(v_ok)) { goto b56; } -#line 617 "parse3.om" +#line 647 "parse3.om" b55: v54 = 0UL; -#line 617 "parse3.om" +#line 647 "parse3.om" goto b57; -#line 617 "parse3.om" +#line 647 "parse3.om" b57: if (!(v54)) { goto b52; } -#line 617 "parse3.om" +#line 647 "parse3.om" b53: v55 = (u)my_choice; -#line 617 "parse3.om" +#line 647 "parse3.om" v56 = v_c; -#line 617 "parse3.om" +#line 647 "parse3.om" v57 = ((u (*)())(v55))(v56); -#line 618 "parse3.om" +#line 648 "parse3.om" b58: v58 = (u)my_peg_P_goto_stmt; -#line 618 "parse3.om" +#line 648 "parse3.om" v59 = v_c; -#line 618 "parse3.om" +#line 648 "parse3.om" v60 = ((u (*)())(v58))(v59); -#line 618 "parse3.om" +#line 648 "parse3.om" b59: v_ok = v60; -#line 618 "parse3.om" +#line 648 "parse3.om" goto b52; -#line 620 "parse3.om" +#line 650 "parse3.om" b52: if (!(v_ok)) { goto b64; } -#line 620 "parse3.om" +#line 650 "parse3.om" b63: v61 = 0UL; -#line 620 "parse3.om" +#line 650 "parse3.om" goto b65; -#line 620 "parse3.om" +#line 650 "parse3.om" b65: if (!(v61)) { goto b60; } -#line 620 "parse3.om" +#line 650 "parse3.om" b61: v62 = (u)my_choice; -#line 620 "parse3.om" +#line 650 "parse3.om" v63 = v_c; -#line 620 "parse3.om" +#line 650 "parse3.om" v64 = ((u (*)())(v62))(v63); -#line 621 "parse3.om" +#line 651 "parse3.om" b66: v65 = (u)my_peg_P_assign_stmt; -#line 621 "parse3.om" +#line 651 "parse3.om" v66 = v_c; -#line 621 "parse3.om" +#line 651 "parse3.om" v67 = ((u (*)())(v65))(v66); -#line 621 "parse3.om" +#line 651 "parse3.om" b67: v_ok = v67; -#line 621 "parse3.om" +#line 651 "parse3.om" goto b60; -#line 623 "parse3.om" +#line 653 "parse3.om" b60: if (!(v_ok)) { goto b72; } -#line 623 "parse3.om" +#line 653 "parse3.om" b71: v68 = 0UL; -#line 623 "parse3.om" +#line 653 "parse3.om" goto b73; -#line 623 "parse3.om" +#line 653 "parse3.om" b73: if (!(v68)) { goto b68; } -#line 623 "parse3.om" +#line 653 "parse3.om" b69: v69 = (u)my_choice; -#line 623 "parse3.om" +#line 653 "parse3.om" v70 = v_c; -#line 623 "parse3.om" +#line 653 "parse3.om" v71 = ((u (*)())(v69))(v70); -#line 624 "parse3.om" +#line 654 "parse3.om" b74: v72 = (u)my_peg_P_expr_stmt; -#line 624 "parse3.om" +#line 654 "parse3.om" v73 = v_c; -#line 624 "parse3.om" +#line 654 "parse3.om" v74 = ((u (*)())(v72))(v73); -#line 624 "parse3.om" +#line 654 "parse3.om" b75: v_ok = v74; -#line 624 "parse3.om" +#line 654 "parse3.om" goto b68; -#line 626 "parse3.om" +#line 656 "parse3.om" b68: if (!(v_ok)) { goto b80; } -#line 626 "parse3.om" +#line 656 "parse3.om" b79: v75 = 0UL; -#line 626 "parse3.om" +#line 656 "parse3.om" goto b81; -#line 626 "parse3.om" +#line 656 "parse3.om" b81: if (!(v75)) { goto b76; } -#line 626 "parse3.om" +#line 656 "parse3.om" b77: v76 = (u)my_choice; -#line 626 "parse3.om" +#line 656 "parse3.om" v77 = v_c; -#line 626 "parse3.om" +#line 656 "parse3.om" v78 = ((u (*)())(v76))(v77); -#line 627 "parse3.om" +#line 657 "parse3.om" b82: v79 = (u)my_peg_P_empty_stmt; -#line 627 "parse3.om" +#line 657 "parse3.om" v80 = v_c; -#line 627 "parse3.om" +#line 657 "parse3.om" v81 = ((u (*)())(v79))(v80); -#line 627 "parse3.om" +#line 657 "parse3.om" b83: v_ok = v81; -#line 627 "parse3.om" +#line 657 "parse3.om" goto b76; -#line 629 "parse3.om" +#line 659 "parse3.om" b76: if (!(v_ok)) { goto b88; } -#line 629 "parse3.om" +#line 659 "parse3.om" b87: v82 = 0UL; -#line 629 "parse3.om" +#line 659 "parse3.om" goto b89; -#line 629 "parse3.om" +#line 659 "parse3.om" b89: if (!(v82)) { goto b84; } -#line 629 "parse3.om" +#line 659 "parse3.om" b85: v83 = (u)my_choice; -#line 629 "parse3.om" +#line 659 "parse3.om" v84 = v_c; -#line 629 "parse3.om" +#line 659 "parse3.om" v85 = ((u (*)())(v83))(v84); -#line 630 "parse3.om" +#line 660 "parse3.om" b90: v86 = (u)my_peg_P_compound_stmt; -#line 630 "parse3.om" +#line 660 "parse3.om" v87 = v_c; -#line 630 "parse3.om" +#line 660 "parse3.om" v88 = ((u (*)())(v86))(v87); -#line 630 "parse3.om" +#line 660 "parse3.om" b91: v_ok = v88; -#line 630 "parse3.om" +#line 660 "parse3.om" goto b84; -#line 632 "parse3.om" +#line 662 "parse3.om" b84: if (!(v_ok)) { goto b94; } -#line 632 "parse3.om" +#line 662 "parse3.om" b93: v89 = (u)my_commit; -#line 632 "parse3.om" +#line 662 "parse3.om" v90 = v_c; -#line 632 "parse3.om" +#line 662 "parse3.om" v91 = ((u (*)())(v89))(v90); -#line 633 "parse3.om" +#line 663 "parse3.om" b92: if (!(v_ok)) { goto b99; } -#line 633 "parse3.om" +#line 663 "parse3.om" b98: v95 = (u)my_leave; -#line 633 "parse3.om" +#line 663 "parse3.om" v96 = v_c; -#line 633 "parse3.om" +#line 663 "parse3.om" v97 = 12UL; -#line 633 "parse3.om" +#line 663 "parse3.om" v98 = ((u (*)())(v95))(v96, v97); -#line 634 "parse3.om" +#line 664 "parse3.om" b97: return v_ok; -#line 633 "parse3.om" +#line 663 "parse3.om" b99: v99 = (u)my_fail; -#line 633 "parse3.om" +#line 663 "parse3.om" v100 = v_c; -#line 633 "parse3.om" +#line 663 "parse3.om" v101 = ((u (*)())(v99))(v100); -#line 633 "parse3.om" +#line 663 "parse3.om" goto b97; -#line 632 "parse3.om" +#line 662 "parse3.om" b94: v92 = (u)my_fail; -#line 632 "parse3.om" +#line 662 "parse3.om" v93 = v_c; -#line 632 "parse3.om" +#line 662 "parse3.om" v94 = ((u (*)())(v92))(v93); -#line 632 "parse3.om" +#line 662 "parse3.om" goto b92; -#line 629 "parse3.om" +#line 659 "parse3.om" b88: v82 = 1UL; -#line 629 "parse3.om" +#line 659 "parse3.om" goto b89; -#line 626 "parse3.om" +#line 656 "parse3.om" b80: v75 = 1UL; -#line 626 "parse3.om" +#line 656 "parse3.om" goto b81; -#line 623 "parse3.om" +#line 653 "parse3.om" b72: v68 = 1UL; -#line 623 "parse3.om" +#line 653 "parse3.om" goto b73; -#line 620 "parse3.om" +#line 650 "parse3.om" b64: v61 = 1UL; -#line 620 "parse3.om" +#line 650 "parse3.om" goto b65; -#line 617 "parse3.om" +#line 647 "parse3.om" b56: v54 = 1UL; -#line 617 "parse3.om" +#line 647 "parse3.om" goto b57; -#line 614 "parse3.om" +#line 644 "parse3.om" b48: v47 = 1UL; -#line 614 "parse3.om" +#line 644 "parse3.om" goto b49; -#line 611 "parse3.om" +#line 641 "parse3.om" b40: v40 = 1UL; -#line 611 "parse3.om" +#line 641 "parse3.om" goto b41; -#line 608 "parse3.om" +#line 638 "parse3.om" b32: v33 = 1UL; -#line 608 "parse3.om" +#line 638 "parse3.om" goto b33; -#line 605 "parse3.om" +#line 635 "parse3.om" b24: v26 = 1UL; -#line 605 "parse3.om" +#line 635 "parse3.om" goto b25; -#line 602 "parse3.om" +#line 632 "parse3.om" b16: v19 = 1UL; -#line 602 "parse3.om" +#line 632 "parse3.om" goto b17; -#line 599 "parse3.om" +#line 629 "parse3.om" b8: v12 = 1UL; -#line 599 "parse3.om" +#line 629 "parse3.om" goto b9; } u my_peg_P_str(u v_c) { @@ -53724,201 +53440,201 @@ u my_peg_P_str(u v_c) { u v61 = 0; u v62 = 0; u v63 = 0; -#line 1613 "parse3.om" +#line 1643 "parse3.om" b0: v2 = (u)my_enter; -#line 1613 "parse3.om" +#line 1643 "parse3.om" v3 = v_c; -#line 1613 "parse3.om" +#line 1643 "parse3.om" v4 = 67UL; -#line 1613 "parse3.om" +#line 1643 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1614 "parse3.om" +#line 1644 "parse3.om" b1: v6 = (u)my_literal; -#line 1614 "parse3.om" +#line 1644 "parse3.om" v7 = v_c; -#line 1614 "parse3.om" +#line 1644 "parse3.om" v8 = (u)"\042"; -#line 1614 "parse3.om" +#line 1644 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1614 "parse3.om" +#line 1644 "parse3.om" b2: v_ok = v9; -#line 1615 "parse3.om" +#line 1645 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1617 "parse3.om" +#line 1647 "parse3.om" b6: v10 = (u)my_choice; -#line 1617 "parse3.om" +#line 1647 "parse3.om" v11 = v_c; -#line 1617 "parse3.om" +#line 1647 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1618 "parse3.om" +#line 1648 "parse3.om" b8: v13 = (u)my_choice; -#line 1618 "parse3.om" +#line 1648 "parse3.om" v14 = v_c; -#line 1618 "parse3.om" +#line 1648 "parse3.om" v15 = ((u (*)())(v13))(v14); -#line 1619 "parse3.om" +#line 1649 "parse3.om" b9: v16 = (u)my_literal; -#line 1619 "parse3.om" +#line 1649 "parse3.om" v17 = v_c; -#line 1619 "parse3.om" +#line 1649 "parse3.om" v18 = (u)"\134"; -#line 1619 "parse3.om" +#line 1649 "parse3.om" v19 = ((u (*)())(v16))(v17, v18); -#line 1619 "parse3.om" +#line 1649 "parse3.om" b10: v_ok = v19; -#line 1620 "parse3.om" +#line 1650 "parse3.om" if (!(v_ok)) { goto b11; } -#line 1621 "parse3.om" +#line 1651 "parse3.om" b12: v20 = (u)my_any; -#line 1621 "parse3.om" +#line 1651 "parse3.om" v21 = v_c; -#line 1621 "parse3.om" +#line 1651 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1621 "parse3.om" +#line 1651 "parse3.om" b14: v_ok = v22; -#line 1621 "parse3.om" +#line 1651 "parse3.om" goto b11; -#line 1623 "parse3.om" +#line 1653 "parse3.om" b11: if (!(v_ok)) { goto b19; } -#line 1623 "parse3.om" +#line 1653 "parse3.om" b18: v23 = 0UL; -#line 1623 "parse3.om" +#line 1653 "parse3.om" goto b20; -#line 1623 "parse3.om" +#line 1653 "parse3.om" b20: if (!(v23)) { goto b15; } -#line 1623 "parse3.om" +#line 1653 "parse3.om" b16: v24 = (u)my_choice; -#line 1623 "parse3.om" +#line 1653 "parse3.om" v25 = v_c; -#line 1623 "parse3.om" +#line 1653 "parse3.om" v26 = ((u (*)())(v24))(v25); -#line 1624 "parse3.om" +#line 1654 "parse3.om" b21: v27 = (u)my_choice; -#line 1624 "parse3.om" +#line 1654 "parse3.om" v28 = v_c; -#line 1624 "parse3.om" +#line 1654 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1625 "parse3.om" +#line 1655 "parse3.om" b22: v30 = (u)my_literal; -#line 1625 "parse3.om" +#line 1655 "parse3.om" v31 = v_c; -#line 1625 "parse3.om" +#line 1655 "parse3.om" v32 = (u)"\042"; -#line 1625 "parse3.om" +#line 1655 "parse3.om" v33 = ((u (*)())(v30))(v31, v32); -#line 1625 "parse3.om" +#line 1655 "parse3.om" b23: v_ok = v33; -#line 1626 "parse3.om" +#line 1656 "parse3.om" if (!(v_ok)) { goto b26; } -#line 1626 "parse3.om" +#line 1656 "parse3.om" b25: v34 = (u)my_fail; -#line 1626 "parse3.om" +#line 1656 "parse3.om" v35 = v_c; -#line 1626 "parse3.om" +#line 1656 "parse3.om" v36 = ((u (*)())(v34))(v35); -#line 1626 "parse3.om" +#line 1656 "parse3.om" b27: v37 = (u)my_fail; -#line 1626 "parse3.om" +#line 1656 "parse3.om" v38 = v_c; -#line 1626 "parse3.om" +#line 1656 "parse3.om" v39 = ((u (*)())(v37))(v38); -#line 1626 "parse3.om" +#line 1656 "parse3.om" b28: v_ok = 0UL; -#line 1626 "parse3.om" +#line 1656 "parse3.om" goto b24; -#line 1627 "parse3.om" +#line 1657 "parse3.om" b24: if (!(v_ok)) { goto b15; } -#line 1628 "parse3.om" +#line 1658 "parse3.om" b30: v40 = (u)my_any; -#line 1628 "parse3.om" +#line 1658 "parse3.om" v41 = v_c; -#line 1628 "parse3.om" +#line 1658 "parse3.om" v42 = ((u (*)())(v40))(v41); -#line 1628 "parse3.om" +#line 1658 "parse3.om" b32: v_ok = v42; -#line 1628 "parse3.om" +#line 1658 "parse3.om" goto b15; -#line 1631 "parse3.om" +#line 1661 "parse3.om" b15: if (!(v_ok)) { goto b35; } -#line 1631 "parse3.om" +#line 1661 "parse3.om" b34: v43 = (u)my_commit; -#line 1631 "parse3.om" +#line 1661 "parse3.om" v44 = v_c; -#line 1631 "parse3.om" +#line 1661 "parse3.om" v45 = ((u (*)())(v43))(v44); -#line 1632 "parse3.om" +#line 1662 "parse3.om" b33: if (!(v_ok)) { goto b42; } -#line 1632 "parse3.om" +#line 1662 "parse3.om" b41: v49 = 0UL; -#line 1632 "parse3.om" +#line 1662 "parse3.om" goto b43; -#line 1632 "parse3.om" +#line 1662 "parse3.om" b43: if (!(v49)) { goto b38; } -#line 1632 "parse3.om" +#line 1662 "parse3.om" b39: v_ok = 1UL; -#line 1632 "parse3.om" +#line 1662 "parse3.om" goto b3; -#line 1636 "parse3.om" +#line 1666 "parse3.om" b3: if (!(v_ok)) { goto b45; } -#line 1637 "parse3.om" +#line 1667 "parse3.om" b46: v53 = (u)my_literal; -#line 1637 "parse3.om" +#line 1667 "parse3.om" v54 = v_c; -#line 1637 "parse3.om" +#line 1667 "parse3.om" v55 = (u)"\042"; -#line 1637 "parse3.om" +#line 1667 "parse3.om" v56 = ((u (*)())(v53))(v54, v55); -#line 1637 "parse3.om" +#line 1667 "parse3.om" b48: v_ok = v56; -#line 1637 "parse3.om" +#line 1667 "parse3.om" goto b45; -#line 1639 "parse3.om" +#line 1669 "parse3.om" b45: if (!(v_ok)) { goto b51; } -#line 1639 "parse3.om" +#line 1669 "parse3.om" b50: v57 = (u)my_leave; -#line 1639 "parse3.om" +#line 1669 "parse3.om" v58 = v_c; -#line 1639 "parse3.om" +#line 1669 "parse3.om" v59 = 67UL; -#line 1639 "parse3.om" +#line 1669 "parse3.om" v60 = ((u (*)())(v57))(v58, v59); -#line 1640 "parse3.om" +#line 1670 "parse3.om" b49: return v_ok; -#line 1639 "parse3.om" +#line 1669 "parse3.om" b51: v61 = (u)my_fail; -#line 1639 "parse3.om" +#line 1669 "parse3.om" v62 = v_c; -#line 1639 "parse3.om" +#line 1669 "parse3.om" v63 = ((u (*)())(v61))(v62); -#line 1639 "parse3.om" +#line 1669 "parse3.om" goto b49; -#line 1633 "parse3.om" +#line 1663 "parse3.om" b38: v50 = (u)my_commit; -#line 1633 "parse3.om" +#line 1663 "parse3.om" v51 = v_c; -#line 1633 "parse3.om" +#line 1663 "parse3.om" v52 = ((u (*)())(v50))(v51); -#line 1633 "parse3.om" +#line 1663 "parse3.om" goto b6; -#line 1632 "parse3.om" +#line 1662 "parse3.om" b42: v49 = 1UL; -#line 1632 "parse3.om" +#line 1662 "parse3.om" goto b43; -#line 1631 "parse3.om" +#line 1661 "parse3.om" b35: v46 = (u)my_fail; -#line 1631 "parse3.om" +#line 1661 "parse3.om" v47 = v_c; -#line 1631 "parse3.om" +#line 1661 "parse3.om" v48 = ((u (*)())(v46))(v47); -#line 1631 "parse3.om" +#line 1661 "parse3.om" goto b33; -#line 1626 "parse3.om" +#line 1656 "parse3.om" b26: v_ok = 1UL; -#line 1626 "parse3.om" +#line 1656 "parse3.om" goto b24; -#line 1623 "parse3.om" +#line 1653 "parse3.om" b19: v23 = 1UL; -#line 1623 "parse3.om" +#line 1653 "parse3.om" goto b20; } u my_peg_P_struct(u v_c) { @@ -53951,83 +53667,83 @@ u my_peg_P_struct(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1884 "parse3.om" +#line 1914 "parse3.om" b0: v2 = (u)my_enter; -#line 1884 "parse3.om" +#line 1914 "parse3.om" v3 = v_c; -#line 1884 "parse3.om" +#line 1914 "parse3.om" v4 = 80UL; -#line 1884 "parse3.om" +#line 1914 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1885 "parse3.om" +#line 1915 "parse3.om" b1: v6 = (u)my_literal; -#line 1885 "parse3.om" +#line 1915 "parse3.om" v7 = v_c; -#line 1885 "parse3.om" +#line 1915 "parse3.om" v8 = (u)"struct"; -#line 1885 "parse3.om" +#line 1915 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1885 "parse3.om" +#line 1915 "parse3.om" b2: v_ok = v9; -#line 1886 "parse3.om" +#line 1916 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1887 "parse3.om" +#line 1917 "parse3.om" b4: v10 = (u)my_choice; -#line 1887 "parse3.om" +#line 1917 "parse3.om" v11 = v_c; -#line 1887 "parse3.om" +#line 1917 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1888 "parse3.om" +#line 1918 "parse3.om" b6: v13 = (u)my_charset; -#line 1888 "parse3.om" +#line 1918 "parse3.om" v14 = v_c; -#line 1888 "parse3.om" +#line 1918 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1888 "parse3.om" +#line 1918 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1888 "parse3.om" +#line 1918 "parse3.om" b7: v_ok = v16; -#line 1889 "parse3.om" +#line 1919 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1889 "parse3.om" +#line 1919 "parse3.om" b9: v17 = (u)my_fail; -#line 1889 "parse3.om" +#line 1919 "parse3.om" v18 = v_c; -#line 1889 "parse3.om" +#line 1919 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1889 "parse3.om" +#line 1919 "parse3.om" b11: v20 = (u)my_fail; -#line 1889 "parse3.om" +#line 1919 "parse3.om" v21 = v_c; -#line 1889 "parse3.om" +#line 1919 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1889 "parse3.om" +#line 1919 "parse3.om" b12: v_ok = 0UL; -#line 1889 "parse3.om" +#line 1919 "parse3.om" goto b3; -#line 1891 "parse3.om" +#line 1921 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1891 "parse3.om" +#line 1921 "parse3.om" b14: v23 = (u)my_leave; -#line 1891 "parse3.om" +#line 1921 "parse3.om" v24 = v_c; -#line 1891 "parse3.om" +#line 1921 "parse3.om" v25 = 80UL; -#line 1891 "parse3.om" +#line 1921 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1892 "parse3.om" +#line 1922 "parse3.om" b13: return v_ok; -#line 1891 "parse3.om" +#line 1921 "parse3.om" b15: v27 = (u)my_fail; -#line 1891 "parse3.om" +#line 1921 "parse3.om" v28 = v_c; -#line 1891 "parse3.om" +#line 1921 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1891 "parse3.om" +#line 1921 "parse3.om" goto b13; -#line 1889 "parse3.om" +#line 1919 "parse3.om" b10: v_ok = 1UL; -#line 1889 "parse3.om" +#line 1919 "parse3.om" goto b3; } u my_peg_P_struct_decl(u v_c) { @@ -54079,169 +53795,169 @@ u my_peg_P_struct_decl(u v_c) { u v46 = 0; u v47 = 0; u v48 = 0; -#line 321 "parse3.om" +#line 351 "parse3.om" b0: v2 = (u)my_enter; -#line 321 "parse3.om" +#line 351 "parse3.om" v3 = v_c; -#line 321 "parse3.om" +#line 351 "parse3.om" v4 = 4UL; -#line 321 "parse3.om" +#line 351 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 322 "parse3.om" +#line 352 "parse3.om" b1: v6 = (u)my_peg_P_struct; -#line 322 "parse3.om" +#line 352 "parse3.om" v7 = v_c; -#line 322 "parse3.om" +#line 352 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 322 "parse3.om" +#line 352 "parse3.om" b2: v_ok = v8; -#line 323 "parse3.om" +#line 353 "parse3.om" if (!(v_ok)) { goto b3; } -#line 324 "parse3.om" +#line 354 "parse3.om" b4: v9 = (u)my_peg_P_sp; -#line 324 "parse3.om" +#line 354 "parse3.om" v10 = v_c; -#line 324 "parse3.om" +#line 354 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 324 "parse3.om" +#line 354 "parse3.om" b6: v_ok = v11; -#line 324 "parse3.om" +#line 354 "parse3.om" goto b3; -#line 326 "parse3.om" +#line 356 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 327 "parse3.om" +#line 357 "parse3.om" b8: v12 = (u)my_peg_P_ident; -#line 327 "parse3.om" +#line 357 "parse3.om" v13 = v_c; -#line 327 "parse3.om" +#line 357 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 327 "parse3.om" +#line 357 "parse3.om" b10: v_ok = v14; -#line 327 "parse3.om" +#line 357 "parse3.om" goto b7; -#line 329 "parse3.om" +#line 359 "parse3.om" b7: if (!(v_ok)) { goto b11; } -#line 330 "parse3.om" +#line 360 "parse3.om" b12: v15 = (u)my_peg_P_sp; -#line 330 "parse3.om" +#line 360 "parse3.om" v16 = v_c; -#line 330 "parse3.om" +#line 360 "parse3.om" v17 = ((u (*)())(v15))(v16); -#line 330 "parse3.om" +#line 360 "parse3.om" b14: v_ok = v17; -#line 330 "parse3.om" +#line 360 "parse3.om" goto b11; -#line 332 "parse3.om" +#line 362 "parse3.om" b11: if (!(v_ok)) { goto b15; } -#line 333 "parse3.om" +#line 363 "parse3.om" b16: v18 = (u)my_literal; -#line 333 "parse3.om" +#line 363 "parse3.om" v19 = v_c; -#line 333 "parse3.om" +#line 363 "parse3.om" v20 = (u)"{"; -#line 333 "parse3.om" +#line 363 "parse3.om" v21 = ((u (*)())(v18))(v19, v20); -#line 333 "parse3.om" +#line 363 "parse3.om" b18: v_ok = v21; -#line 333 "parse3.om" +#line 363 "parse3.om" goto b15; -#line 335 "parse3.om" +#line 365 "parse3.om" b15: if (!(v_ok)) { goto b19; } -#line 336 "parse3.om" +#line 366 "parse3.om" b20: v22 = (u)my_peg_P_sp; -#line 336 "parse3.om" +#line 366 "parse3.om" v23 = v_c; -#line 336 "parse3.om" +#line 366 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 336 "parse3.om" +#line 366 "parse3.om" b22: v_ok = v24; -#line 336 "parse3.om" +#line 366 "parse3.om" goto b19; -#line 338 "parse3.om" +#line 368 "parse3.om" b19: if (!(v_ok)) { goto b23; } -#line 340 "parse3.om" +#line 370 "parse3.om" b26: v25 = (u)my_choice; -#line 340 "parse3.om" +#line 370 "parse3.om" v26 = v_c; -#line 340 "parse3.om" +#line 370 "parse3.om" v27 = ((u (*)())(v25))(v26); -#line 341 "parse3.om" +#line 371 "parse3.om" b28: v28 = (u)my_peg_P_member_decl; -#line 341 "parse3.om" +#line 371 "parse3.om" v29 = v_c; -#line 341 "parse3.om" +#line 371 "parse3.om" v30 = ((u (*)())(v28))(v29); -#line 341 "parse3.om" +#line 371 "parse3.om" b29: v_ok = v30; -#line 342 "parse3.om" +#line 372 "parse3.om" if (!(v_ok)) { goto b34; } -#line 342 "parse3.om" +#line 372 "parse3.om" b33: v31 = 0UL; -#line 342 "parse3.om" +#line 372 "parse3.om" goto b35; -#line 342 "parse3.om" +#line 372 "parse3.om" b35: if (!(v31)) { goto b30; } -#line 342 "parse3.om" +#line 372 "parse3.om" b31: v_ok = 1UL; -#line 342 "parse3.om" +#line 372 "parse3.om" goto b23; -#line 346 "parse3.om" +#line 376 "parse3.om" b23: if (!(v_ok)) { goto b37; } -#line 347 "parse3.om" +#line 377 "parse3.om" b38: v35 = (u)my_literal; -#line 347 "parse3.om" +#line 377 "parse3.om" v36 = v_c; -#line 347 "parse3.om" +#line 377 "parse3.om" v37 = (u)"}"; -#line 347 "parse3.om" +#line 377 "parse3.om" v38 = ((u (*)())(v35))(v36, v37); -#line 347 "parse3.om" +#line 377 "parse3.om" b40: v_ok = v38; -#line 347 "parse3.om" +#line 377 "parse3.om" goto b37; -#line 349 "parse3.om" +#line 379 "parse3.om" b37: if (!(v_ok)) { goto b41; } -#line 350 "parse3.om" +#line 380 "parse3.om" b42: v39 = (u)my_peg_P_sp; -#line 350 "parse3.om" +#line 380 "parse3.om" v40 = v_c; -#line 350 "parse3.om" +#line 380 "parse3.om" v41 = ((u (*)())(v39))(v40); -#line 350 "parse3.om" +#line 380 "parse3.om" b44: v_ok = v41; -#line 350 "parse3.om" +#line 380 "parse3.om" goto b41; -#line 352 "parse3.om" +#line 382 "parse3.om" b41: if (!(v_ok)) { goto b47; } -#line 352 "parse3.om" +#line 382 "parse3.om" b46: v42 = (u)my_leave; -#line 352 "parse3.om" +#line 382 "parse3.om" v43 = v_c; -#line 352 "parse3.om" +#line 382 "parse3.om" v44 = 4UL; -#line 352 "parse3.om" +#line 382 "parse3.om" v45 = ((u (*)())(v42))(v43, v44); -#line 353 "parse3.om" +#line 383 "parse3.om" b45: return v_ok; -#line 352 "parse3.om" +#line 382 "parse3.om" b47: v46 = (u)my_fail; -#line 352 "parse3.om" +#line 382 "parse3.om" v47 = v_c; -#line 352 "parse3.om" +#line 382 "parse3.om" v48 = ((u (*)())(v46))(v47); -#line 352 "parse3.om" +#line 382 "parse3.om" goto b45; -#line 343 "parse3.om" +#line 373 "parse3.om" b30: v32 = (u)my_commit; -#line 343 "parse3.om" +#line 373 "parse3.om" v33 = v_c; -#line 343 "parse3.om" +#line 373 "parse3.om" v34 = ((u (*)())(v32))(v33); -#line 343 "parse3.om" +#line 373 "parse3.om" goto b26; -#line 342 "parse3.om" +#line 372 "parse3.om" b34: v31 = 1UL; -#line 342 "parse3.om" +#line 372 "parse3.om" goto b35; } u my_peg_P_sub_op(u v_c) { @@ -54261,43 +53977,43 @@ u my_peg_P_sub_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1090 "parse3.om" +#line 1120 "parse3.om" b0: v2 = (u)my_enter; -#line 1090 "parse3.om" +#line 1120 "parse3.om" v3 = v_c; -#line 1090 "parse3.om" +#line 1120 "parse3.om" v4 = 39UL; -#line 1090 "parse3.om" +#line 1120 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1091 "parse3.om" +#line 1121 "parse3.om" b1: v6 = (u)my_literal; -#line 1091 "parse3.om" +#line 1121 "parse3.om" v7 = v_c; -#line 1091 "parse3.om" +#line 1121 "parse3.om" v8 = (u)"-"; -#line 1091 "parse3.om" +#line 1121 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1091 "parse3.om" +#line 1121 "parse3.om" b2: v_ok = v9; -#line 1092 "parse3.om" +#line 1122 "parse3.om" if (!(v_ok)) { goto b5; } -#line 1092 "parse3.om" +#line 1122 "parse3.om" b4: v10 = (u)my_leave; -#line 1092 "parse3.om" +#line 1122 "parse3.om" v11 = v_c; -#line 1092 "parse3.om" +#line 1122 "parse3.om" v12 = 39UL; -#line 1092 "parse3.om" +#line 1122 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 1093 "parse3.om" +#line 1123 "parse3.om" b3: return v_ok; -#line 1092 "parse3.om" +#line 1122 "parse3.om" b5: v14 = (u)my_fail; -#line 1092 "parse3.om" +#line 1122 "parse3.om" v15 = v_c; -#line 1092 "parse3.om" +#line 1122 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 1092 "parse3.om" +#line 1122 "parse3.om" goto b3; } u my_peg_P_type(u v_c) { @@ -54399,345 +54115,345 @@ u my_peg_P_type(u v_c) { u v96 = 0; u v97 = 0; u v98 = 0; -#line 426 "parse3.om" +#line 456 "parse3.om" b0: v2 = (u)my_enter; -#line 426 "parse3.om" +#line 456 "parse3.om" v3 = v_c; -#line 426 "parse3.om" +#line 456 "parse3.om" v4 = 7UL; -#line 426 "parse3.om" +#line 456 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 427 "parse3.om" +#line 457 "parse3.om" b1: v6 = (u)my_choice; -#line 427 "parse3.om" +#line 457 "parse3.om" v7 = v_c; -#line 427 "parse3.om" +#line 457 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 428 "parse3.om" +#line 458 "parse3.om" b2: v9 = (u)my_peg_P_ident; -#line 428 "parse3.om" +#line 458 "parse3.om" v10 = v_c; -#line 428 "parse3.om" +#line 458 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 428 "parse3.om" +#line 458 "parse3.om" b3: v_ok = v11; -#line 429 "parse3.om" +#line 459 "parse3.om" if (!(v_ok)) { goto b4; } -#line 430 "parse3.om" +#line 460 "parse3.om" b5: v12 = (u)my_peg_P_sp; -#line 430 "parse3.om" +#line 460 "parse3.om" v13 = v_c; -#line 430 "parse3.om" +#line 460 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 430 "parse3.om" +#line 460 "parse3.om" b7: v_ok = v14; -#line 430 "parse3.om" +#line 460 "parse3.om" goto b4; -#line 432 "parse3.om" +#line 462 "parse3.om" b4: if (!(v_ok)) { goto b12; } -#line 432 "parse3.om" +#line 462 "parse3.om" b11: v15 = 0UL; -#line 432 "parse3.om" +#line 462 "parse3.om" goto b13; -#line 432 "parse3.om" +#line 462 "parse3.om" b13: if (!(v15)) { goto b8; } -#line 432 "parse3.om" +#line 462 "parse3.om" b9: v16 = (u)my_choice; -#line 432 "parse3.om" +#line 462 "parse3.om" v17 = v_c; -#line 432 "parse3.om" +#line 462 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 433 "parse3.om" +#line 463 "parse3.om" b14: v19 = (u)my_peg_P_byte; -#line 433 "parse3.om" +#line 463 "parse3.om" v20 = v_c; -#line 433 "parse3.om" +#line 463 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 433 "parse3.om" +#line 463 "parse3.om" b15: v_ok = v21; -#line 434 "parse3.om" +#line 464 "parse3.om" if (!(v_ok)) { goto b8; } -#line 435 "parse3.om" +#line 465 "parse3.om" b17: v22 = (u)my_peg_P_sp; -#line 435 "parse3.om" +#line 465 "parse3.om" v23 = v_c; -#line 435 "parse3.om" +#line 465 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 435 "parse3.om" +#line 465 "parse3.om" b19: v_ok = v24; -#line 435 "parse3.om" +#line 465 "parse3.om" goto b8; -#line 438 "parse3.om" +#line 468 "parse3.om" b8: if (!(v_ok)) { goto b24; } -#line 438 "parse3.om" +#line 468 "parse3.om" b23: v25 = 0UL; -#line 438 "parse3.om" +#line 468 "parse3.om" goto b25; -#line 438 "parse3.om" +#line 468 "parse3.om" b25: if (!(v25)) { goto b20; } -#line 438 "parse3.om" +#line 468 "parse3.om" b21: v26 = (u)my_choice; -#line 438 "parse3.om" +#line 468 "parse3.om" v27 = v_c; -#line 438 "parse3.om" +#line 468 "parse3.om" v28 = ((u (*)())(v26))(v27); -#line 439 "parse3.om" +#line 469 "parse3.om" b26: v29 = (u)my_peg_P_int; -#line 439 "parse3.om" +#line 469 "parse3.om" v30 = v_c; -#line 439 "parse3.om" +#line 469 "parse3.om" v31 = ((u (*)())(v29))(v30); -#line 439 "parse3.om" +#line 469 "parse3.om" b27: v_ok = v31; -#line 440 "parse3.om" +#line 470 "parse3.om" if (!(v_ok)) { goto b20; } -#line 441 "parse3.om" +#line 471 "parse3.om" b29: v32 = (u)my_peg_P_sp; -#line 441 "parse3.om" +#line 471 "parse3.om" v33 = v_c; -#line 441 "parse3.om" +#line 471 "parse3.om" v34 = ((u (*)())(v32))(v33); -#line 441 "parse3.om" +#line 471 "parse3.om" b31: v_ok = v34; -#line 441 "parse3.om" +#line 471 "parse3.om" goto b20; -#line 444 "parse3.om" +#line 474 "parse3.om" b20: if (!(v_ok)) { goto b36; } -#line 444 "parse3.om" +#line 474 "parse3.om" b35: v35 = 0UL; -#line 444 "parse3.om" +#line 474 "parse3.om" goto b37; -#line 444 "parse3.om" +#line 474 "parse3.om" b37: if (!(v35)) { goto b32; } -#line 444 "parse3.om" +#line 474 "parse3.om" b33: v36 = (u)my_choice; -#line 444 "parse3.om" +#line 474 "parse3.om" v37 = v_c; -#line 444 "parse3.om" +#line 474 "parse3.om" v38 = ((u (*)())(v36))(v37); -#line 445 "parse3.om" +#line 475 "parse3.om" b38: v39 = (u)my_peg_P_void; -#line 445 "parse3.om" +#line 475 "parse3.om" v40 = v_c; -#line 445 "parse3.om" +#line 475 "parse3.om" v41 = ((u (*)())(v39))(v40); -#line 445 "parse3.om" +#line 475 "parse3.om" b39: v_ok = v41; -#line 446 "parse3.om" +#line 476 "parse3.om" if (!(v_ok)) { goto b32; } -#line 447 "parse3.om" +#line 477 "parse3.om" b41: v42 = (u)my_peg_P_sp; -#line 447 "parse3.om" +#line 477 "parse3.om" v43 = v_c; -#line 447 "parse3.om" +#line 477 "parse3.om" v44 = ((u (*)())(v42))(v43); -#line 447 "parse3.om" +#line 477 "parse3.om" b43: v_ok = v44; -#line 447 "parse3.om" +#line 477 "parse3.om" goto b32; -#line 450 "parse3.om" +#line 480 "parse3.om" b32: if (!(v_ok)) { goto b48; } -#line 450 "parse3.om" +#line 480 "parse3.om" b47: v45 = 0UL; -#line 450 "parse3.om" +#line 480 "parse3.om" goto b49; -#line 450 "parse3.om" +#line 480 "parse3.om" b49: if (!(v45)) { goto b44; } -#line 450 "parse3.om" +#line 480 "parse3.om" b45: v46 = (u)my_choice; -#line 450 "parse3.om" +#line 480 "parse3.om" v47 = v_c; -#line 450 "parse3.om" +#line 480 "parse3.om" v48 = ((u (*)())(v46))(v47); -#line 451 "parse3.om" +#line 481 "parse3.om" b50: v49 = (u)my_peg_P_func; -#line 451 "parse3.om" +#line 481 "parse3.om" v50 = v_c; -#line 451 "parse3.om" +#line 481 "parse3.om" v51 = ((u (*)())(v49))(v50); -#line 451 "parse3.om" +#line 481 "parse3.om" b51: v_ok = v51; -#line 452 "parse3.om" +#line 482 "parse3.om" if (!(v_ok)) { goto b52; } -#line 453 "parse3.om" +#line 483 "parse3.om" b53: v52 = (u)my_peg_P_sp; -#line 453 "parse3.om" +#line 483 "parse3.om" v53 = v_c; -#line 453 "parse3.om" +#line 483 "parse3.om" v54 = ((u (*)())(v52))(v53); -#line 453 "parse3.om" +#line 483 "parse3.om" b55: v_ok = v54; -#line 453 "parse3.om" +#line 483 "parse3.om" goto b52; -#line 455 "parse3.om" +#line 485 "parse3.om" b52: if (!(v_ok)) { goto b44; } -#line 456 "parse3.om" +#line 486 "parse3.om" b57: v55 = (u)my_peg_P_func_type; -#line 456 "parse3.om" +#line 486 "parse3.om" v56 = v_c; -#line 456 "parse3.om" +#line 486 "parse3.om" v57 = ((u (*)())(v55))(v56); -#line 456 "parse3.om" +#line 486 "parse3.om" b59: v_ok = v57; -#line 456 "parse3.om" +#line 486 "parse3.om" goto b44; -#line 459 "parse3.om" +#line 489 "parse3.om" b44: if (!(v_ok)) { goto b64; } -#line 459 "parse3.om" +#line 489 "parse3.om" b63: v58 = 0UL; -#line 459 "parse3.om" +#line 489 "parse3.om" goto b65; -#line 459 "parse3.om" +#line 489 "parse3.om" b65: if (!(v58)) { goto b60; } -#line 459 "parse3.om" +#line 489 "parse3.om" b61: v59 = (u)my_choice; -#line 459 "parse3.om" +#line 489 "parse3.om" v60 = v_c; -#line 459 "parse3.om" +#line 489 "parse3.om" v61 = ((u (*)())(v59))(v60); -#line 460 "parse3.om" +#line 490 "parse3.om" b66: v62 = (u)my_peg_P_ptr_type; -#line 460 "parse3.om" +#line 490 "parse3.om" v63 = v_c; -#line 460 "parse3.om" +#line 490 "parse3.om" v64 = ((u (*)())(v62))(v63); -#line 460 "parse3.om" +#line 490 "parse3.om" b67: v_ok = v64; -#line 460 "parse3.om" +#line 490 "parse3.om" goto b60; -#line 462 "parse3.om" +#line 492 "parse3.om" b60: if (!(v_ok)) { goto b72; } -#line 462 "parse3.om" +#line 492 "parse3.om" b71: v65 = 0UL; -#line 462 "parse3.om" +#line 492 "parse3.om" goto b73; -#line 462 "parse3.om" +#line 492 "parse3.om" b73: if (!(v65)) { goto b68; } -#line 462 "parse3.om" +#line 492 "parse3.om" b69: v66 = (u)my_choice; -#line 462 "parse3.om" +#line 492 "parse3.om" v67 = v_c; -#line 462 "parse3.om" +#line 492 "parse3.om" v68 = ((u (*)())(v66))(v67); -#line 463 "parse3.om" +#line 493 "parse3.om" b74: v69 = (u)my_literal; -#line 463 "parse3.om" +#line 493 "parse3.om" v70 = v_c; -#line 463 "parse3.om" +#line 493 "parse3.om" v71 = (u)"("; -#line 463 "parse3.om" +#line 493 "parse3.om" v72 = ((u (*)())(v69))(v70, v71); -#line 463 "parse3.om" +#line 493 "parse3.om" b75: v_ok = v72; -#line 464 "parse3.om" +#line 494 "parse3.om" if (!(v_ok)) { goto b76; } -#line 465 "parse3.om" +#line 495 "parse3.om" b77: v73 = (u)my_peg_P_sp; -#line 465 "parse3.om" +#line 495 "parse3.om" v74 = v_c; -#line 465 "parse3.om" +#line 495 "parse3.om" v75 = ((u (*)())(v73))(v74); -#line 465 "parse3.om" +#line 495 "parse3.om" b79: v_ok = v75; -#line 465 "parse3.om" +#line 495 "parse3.om" goto b76; -#line 467 "parse3.om" +#line 497 "parse3.om" b76: if (!(v_ok)) { goto b80; } -#line 468 "parse3.om" +#line 498 "parse3.om" b81: v76 = (u)my_peg_P_type; -#line 468 "parse3.om" +#line 498 "parse3.om" v77 = v_c; -#line 468 "parse3.om" +#line 498 "parse3.om" v78 = ((u (*)())(v76))(v77); -#line 468 "parse3.om" +#line 498 "parse3.om" b83: v_ok = v78; -#line 468 "parse3.om" +#line 498 "parse3.om" goto b80; -#line 470 "parse3.om" +#line 500 "parse3.om" b80: if (!(v_ok)) { goto b84; } -#line 471 "parse3.om" +#line 501 "parse3.om" b85: v79 = (u)my_literal; -#line 471 "parse3.om" +#line 501 "parse3.om" v80 = v_c; -#line 471 "parse3.om" +#line 501 "parse3.om" v81 = (u)")"; -#line 471 "parse3.om" +#line 501 "parse3.om" v82 = ((u (*)())(v79))(v80, v81); -#line 471 "parse3.om" +#line 501 "parse3.om" b87: v_ok = v82; -#line 471 "parse3.om" +#line 501 "parse3.om" goto b84; -#line 473 "parse3.om" +#line 503 "parse3.om" b84: if (!(v_ok)) { goto b68; } -#line 474 "parse3.om" +#line 504 "parse3.om" b89: v83 = (u)my_peg_P_sp; -#line 474 "parse3.om" +#line 504 "parse3.om" v84 = v_c; -#line 474 "parse3.om" +#line 504 "parse3.om" v85 = ((u (*)())(v83))(v84); -#line 474 "parse3.om" +#line 504 "parse3.om" b91: v_ok = v85; -#line 474 "parse3.om" +#line 504 "parse3.om" goto b68; -#line 477 "parse3.om" +#line 507 "parse3.om" b68: if (!(v_ok)) { goto b94; } -#line 477 "parse3.om" +#line 507 "parse3.om" b93: v86 = (u)my_commit; -#line 477 "parse3.om" +#line 507 "parse3.om" v87 = v_c; -#line 477 "parse3.om" +#line 507 "parse3.om" v88 = ((u (*)())(v86))(v87); -#line 478 "parse3.om" +#line 508 "parse3.om" b92: if (!(v_ok)) { goto b99; } -#line 478 "parse3.om" +#line 508 "parse3.om" b98: v92 = (u)my_leave; -#line 478 "parse3.om" +#line 508 "parse3.om" v93 = v_c; -#line 478 "parse3.om" +#line 508 "parse3.om" v94 = 7UL; -#line 478 "parse3.om" +#line 508 "parse3.om" v95 = ((u (*)())(v92))(v93, v94); -#line 479 "parse3.om" +#line 509 "parse3.om" b97: return v_ok; -#line 478 "parse3.om" +#line 508 "parse3.om" b99: v96 = (u)my_fail; -#line 478 "parse3.om" +#line 508 "parse3.om" v97 = v_c; -#line 478 "parse3.om" +#line 508 "parse3.om" v98 = ((u (*)())(v96))(v97); -#line 478 "parse3.om" +#line 508 "parse3.om" goto b97; -#line 477 "parse3.om" +#line 507 "parse3.om" b94: v89 = (u)my_fail; -#line 477 "parse3.om" +#line 507 "parse3.om" v90 = v_c; -#line 477 "parse3.om" +#line 507 "parse3.om" v91 = ((u (*)())(v89))(v90); -#line 477 "parse3.om" +#line 507 "parse3.om" goto b92; -#line 462 "parse3.om" +#line 492 "parse3.om" b72: v65 = 1UL; -#line 462 "parse3.om" +#line 492 "parse3.om" goto b73; -#line 459 "parse3.om" +#line 489 "parse3.om" b64: v58 = 1UL; -#line 459 "parse3.om" +#line 489 "parse3.om" goto b65; -#line 450 "parse3.om" +#line 480 "parse3.om" b48: v45 = 1UL; -#line 450 "parse3.om" +#line 480 "parse3.om" goto b49; -#line 444 "parse3.om" +#line 474 "parse3.om" b36: v35 = 1UL; -#line 444 "parse3.om" +#line 474 "parse3.om" goto b37; -#line 438 "parse3.om" +#line 468 "parse3.om" b24: v25 = 1UL; -#line 438 "parse3.om" +#line 468 "parse3.om" goto b25; -#line 432 "parse3.om" +#line 462 "parse3.om" b12: v15 = 1UL; -#line 432 "parse3.om" +#line 462 "parse3.om" goto b13; } u my_peg_P_unary_expr(u v_c) { @@ -54813,257 +54529,257 @@ u my_peg_P_unary_expr(u v_c) { u v70 = 0; u v71 = 0; u v72 = 0; -#line 1328 "parse3.om" +#line 1358 "parse3.om" b0: v2 = (u)my_enter; -#line 1328 "parse3.om" +#line 1358 "parse3.om" v3 = v_c; -#line 1328 "parse3.om" +#line 1358 "parse3.om" v4 = 57UL; -#line 1328 "parse3.om" +#line 1358 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1330 "parse3.om" +#line 1360 "parse3.om" b2: v6 = (u)my_choice; -#line 1330 "parse3.om" +#line 1360 "parse3.om" v7 = v_c; -#line 1330 "parse3.om" +#line 1360 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 1331 "parse3.om" +#line 1361 "parse3.om" b4: v9 = (u)my_choice; -#line 1331 "parse3.om" +#line 1361 "parse3.om" v10 = v_c; -#line 1331 "parse3.om" +#line 1361 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 1332 "parse3.om" +#line 1362 "parse3.om" b5: v12 = (u)my_peg_P_ref_op; -#line 1332 "parse3.om" +#line 1362 "parse3.om" v13 = v_c; -#line 1332 "parse3.om" +#line 1362 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 1332 "parse3.om" +#line 1362 "parse3.om" b6: v_ok = v14; -#line 1333 "parse3.om" +#line 1363 "parse3.om" if (!(v_ok)) { goto b11; } -#line 1333 "parse3.om" +#line 1363 "parse3.om" b10: v15 = 0UL; -#line 1333 "parse3.om" +#line 1363 "parse3.om" goto b12; -#line 1333 "parse3.om" +#line 1363 "parse3.om" b12: if (!(v15)) { goto b7; } -#line 1333 "parse3.om" +#line 1363 "parse3.om" b8: v16 = (u)my_choice; -#line 1333 "parse3.om" +#line 1363 "parse3.om" v17 = v_c; -#line 1333 "parse3.om" +#line 1363 "parse3.om" v18 = ((u (*)())(v16))(v17); -#line 1334 "parse3.om" +#line 1364 "parse3.om" b13: v19 = (u)my_peg_P_deref_op; -#line 1334 "parse3.om" +#line 1364 "parse3.om" v20 = v_c; -#line 1334 "parse3.om" +#line 1364 "parse3.om" v21 = ((u (*)())(v19))(v20); -#line 1334 "parse3.om" +#line 1364 "parse3.om" b14: v_ok = v21; -#line 1334 "parse3.om" +#line 1364 "parse3.om" goto b7; -#line 1336 "parse3.om" +#line 1366 "parse3.om" b7: if (!(v_ok)) { goto b19; } -#line 1336 "parse3.om" +#line 1366 "parse3.om" b18: v22 = 0UL; -#line 1336 "parse3.om" +#line 1366 "parse3.om" goto b20; -#line 1336 "parse3.om" +#line 1366 "parse3.om" b20: if (!(v22)) { goto b15; } -#line 1336 "parse3.om" +#line 1366 "parse3.om" b16: v23 = (u)my_choice; -#line 1336 "parse3.om" +#line 1366 "parse3.om" v24 = v_c; -#line 1336 "parse3.om" +#line 1366 "parse3.om" v25 = ((u (*)())(v23))(v24); -#line 1337 "parse3.om" +#line 1367 "parse3.om" b21: v26 = (u)my_peg_P_pos_op; -#line 1337 "parse3.om" +#line 1367 "parse3.om" v27 = v_c; -#line 1337 "parse3.om" +#line 1367 "parse3.om" v28 = ((u (*)())(v26))(v27); -#line 1337 "parse3.om" +#line 1367 "parse3.om" b22: v_ok = v28; -#line 1337 "parse3.om" +#line 1367 "parse3.om" goto b15; -#line 1339 "parse3.om" +#line 1369 "parse3.om" b15: if (!(v_ok)) { goto b27; } -#line 1339 "parse3.om" +#line 1369 "parse3.om" b26: v29 = 0UL; -#line 1339 "parse3.om" +#line 1369 "parse3.om" goto b28; -#line 1339 "parse3.om" +#line 1369 "parse3.om" b28: if (!(v29)) { goto b23; } -#line 1339 "parse3.om" +#line 1369 "parse3.om" b24: v30 = (u)my_choice; -#line 1339 "parse3.om" +#line 1369 "parse3.om" v31 = v_c; -#line 1339 "parse3.om" +#line 1369 "parse3.om" v32 = ((u (*)())(v30))(v31); -#line 1340 "parse3.om" +#line 1370 "parse3.om" b29: v33 = (u)my_peg_P_neg_op; -#line 1340 "parse3.om" +#line 1370 "parse3.om" v34 = v_c; -#line 1340 "parse3.om" +#line 1370 "parse3.om" v35 = ((u (*)())(v33))(v34); -#line 1340 "parse3.om" +#line 1370 "parse3.om" b30: v_ok = v35; -#line 1340 "parse3.om" +#line 1370 "parse3.om" goto b23; -#line 1342 "parse3.om" +#line 1372 "parse3.om" b23: if (!(v_ok)) { goto b35; } -#line 1342 "parse3.om" +#line 1372 "parse3.om" b34: v36 = 0UL; -#line 1342 "parse3.om" +#line 1372 "parse3.om" goto b36; -#line 1342 "parse3.om" +#line 1372 "parse3.om" b36: if (!(v36)) { goto b31; } -#line 1342 "parse3.om" +#line 1372 "parse3.om" b32: v37 = (u)my_choice; -#line 1342 "parse3.om" +#line 1372 "parse3.om" v38 = v_c; -#line 1342 "parse3.om" +#line 1372 "parse3.om" v39 = ((u (*)())(v37))(v38); -#line 1343 "parse3.om" +#line 1373 "parse3.om" b37: v40 = (u)my_peg_P_not_op; -#line 1343 "parse3.om" +#line 1373 "parse3.om" v41 = v_c; -#line 1343 "parse3.om" +#line 1373 "parse3.om" v42 = ((u (*)())(v40))(v41); -#line 1343 "parse3.om" +#line 1373 "parse3.om" b38: v_ok = v42; -#line 1343 "parse3.om" +#line 1373 "parse3.om" goto b31; -#line 1345 "parse3.om" +#line 1375 "parse3.om" b31: if (!(v_ok)) { goto b43; } -#line 1345 "parse3.om" +#line 1375 "parse3.om" b42: v43 = 0UL; -#line 1345 "parse3.om" +#line 1375 "parse3.om" goto b44; -#line 1345 "parse3.om" +#line 1375 "parse3.om" b44: if (!(v43)) { goto b39; } -#line 1345 "parse3.om" +#line 1375 "parse3.om" b40: v44 = (u)my_choice; -#line 1345 "parse3.om" +#line 1375 "parse3.om" v45 = v_c; -#line 1345 "parse3.om" +#line 1375 "parse3.om" v46 = ((u (*)())(v44))(v45); -#line 1346 "parse3.om" +#line 1376 "parse3.om" b45: v47 = (u)my_peg_P_bnot_op; -#line 1346 "parse3.om" +#line 1376 "parse3.om" v48 = v_c; -#line 1346 "parse3.om" +#line 1376 "parse3.om" v49 = ((u (*)())(v47))(v48); -#line 1346 "parse3.om" +#line 1376 "parse3.om" b46: v_ok = v49; -#line 1346 "parse3.om" +#line 1376 "parse3.om" goto b39; -#line 1348 "parse3.om" +#line 1378 "parse3.om" b39: if (!(v_ok)) { goto b49; } -#line 1348 "parse3.om" +#line 1378 "parse3.om" b48: v50 = (u)my_commit; -#line 1348 "parse3.om" +#line 1378 "parse3.om" v51 = v_c; -#line 1348 "parse3.om" +#line 1378 "parse3.om" v52 = ((u (*)())(v50))(v51); -#line 1349 "parse3.om" +#line 1379 "parse3.om" b47: if (!(v_ok)) { goto b52; } -#line 1350 "parse3.om" +#line 1380 "parse3.om" b53: v56 = (u)my_peg_P_sp; -#line 1350 "parse3.om" +#line 1380 "parse3.om" v57 = v_c; -#line 1350 "parse3.om" +#line 1380 "parse3.om" v58 = ((u (*)())(v56))(v57); -#line 1350 "parse3.om" +#line 1380 "parse3.om" b55: v_ok = v58; -#line 1350 "parse3.om" +#line 1380 "parse3.om" goto b52; -#line 1352 "parse3.om" +#line 1382 "parse3.om" b52: if (!(v_ok)) { goto b60; } -#line 1352 "parse3.om" +#line 1382 "parse3.om" b59: v59 = 0UL; -#line 1352 "parse3.om" +#line 1382 "parse3.om" goto b61; -#line 1352 "parse3.om" +#line 1382 "parse3.om" b61: if (!(v59)) { goto b56; } -#line 1352 "parse3.om" +#line 1382 "parse3.om" b57: v_ok = 1UL; -#line 1352 "parse3.om" +#line 1382 "parse3.om" goto b3; -#line 1355 "parse3.om" +#line 1385 "parse3.om" b3: if (!(v_ok)) { goto b63; } -#line 1356 "parse3.om" +#line 1386 "parse3.om" b64: v63 = (u)my_peg_P_post_expr; -#line 1356 "parse3.om" +#line 1386 "parse3.om" v64 = v_c; -#line 1356 "parse3.om" +#line 1386 "parse3.om" v65 = ((u (*)())(v63))(v64); -#line 1356 "parse3.om" +#line 1386 "parse3.om" b66: v_ok = v65; -#line 1356 "parse3.om" +#line 1386 "parse3.om" goto b63; -#line 1358 "parse3.om" +#line 1388 "parse3.om" b63: if (!(v_ok)) { goto b69; } -#line 1358 "parse3.om" +#line 1388 "parse3.om" b68: v66 = (u)my_leave; -#line 1358 "parse3.om" +#line 1388 "parse3.om" v67 = v_c; -#line 1358 "parse3.om" +#line 1388 "parse3.om" v68 = 57UL; -#line 1358 "parse3.om" +#line 1388 "parse3.om" v69 = ((u (*)())(v66))(v67, v68); -#line 1359 "parse3.om" +#line 1389 "parse3.om" b67: return v_ok; -#line 1358 "parse3.om" +#line 1388 "parse3.om" b69: v70 = (u)my_fail; -#line 1358 "parse3.om" +#line 1388 "parse3.om" v71 = v_c; -#line 1358 "parse3.om" +#line 1388 "parse3.om" v72 = ((u (*)())(v70))(v71); -#line 1358 "parse3.om" +#line 1388 "parse3.om" goto b67; -#line 1353 "parse3.om" +#line 1383 "parse3.om" b56: v60 = (u)my_commit; -#line 1353 "parse3.om" +#line 1383 "parse3.om" v61 = v_c; -#line 1353 "parse3.om" +#line 1383 "parse3.om" v62 = ((u (*)())(v60))(v61); -#line 1353 "parse3.om" +#line 1383 "parse3.om" goto b2; -#line 1352 "parse3.om" +#line 1382 "parse3.om" b60: v59 = 1UL; -#line 1352 "parse3.om" +#line 1382 "parse3.om" goto b61; -#line 1348 "parse3.om" +#line 1378 "parse3.om" b49: v53 = (u)my_fail; -#line 1348 "parse3.om" +#line 1378 "parse3.om" v54 = v_c; -#line 1348 "parse3.om" +#line 1378 "parse3.om" v55 = ((u (*)())(v53))(v54); -#line 1348 "parse3.om" +#line 1378 "parse3.om" goto b47; -#line 1345 "parse3.om" +#line 1375 "parse3.om" b43: v43 = 1UL; -#line 1345 "parse3.om" +#line 1375 "parse3.om" goto b44; -#line 1342 "parse3.om" +#line 1372 "parse3.om" b35: v36 = 1UL; -#line 1342 "parse3.om" +#line 1372 "parse3.om" goto b36; -#line 1339 "parse3.om" +#line 1369 "parse3.om" b27: v29 = 1UL; -#line 1339 "parse3.om" +#line 1369 "parse3.om" goto b28; -#line 1336 "parse3.om" +#line 1366 "parse3.om" b19: v22 = 1UL; -#line 1336 "parse3.om" +#line 1366 "parse3.om" goto b20; -#line 1333 "parse3.om" +#line 1363 "parse3.om" b11: v15 = 1UL; -#line 1333 "parse3.om" +#line 1363 "parse3.om" goto b12; } u my_peg_P_union(u v_c) { @@ -55096,83 +54812,83 @@ u my_peg_P_union(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1897 "parse3.om" +#line 1927 "parse3.om" b0: v2 = (u)my_enter; -#line 1897 "parse3.om" +#line 1927 "parse3.om" v3 = v_c; -#line 1897 "parse3.om" +#line 1927 "parse3.om" v4 = 81UL; -#line 1897 "parse3.om" +#line 1927 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1898 "parse3.om" +#line 1928 "parse3.om" b1: v6 = (u)my_literal; -#line 1898 "parse3.om" +#line 1928 "parse3.om" v7 = v_c; -#line 1898 "parse3.om" +#line 1928 "parse3.om" v8 = (u)"union"; -#line 1898 "parse3.om" +#line 1928 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1898 "parse3.om" +#line 1928 "parse3.om" b2: v_ok = v9; -#line 1899 "parse3.om" +#line 1929 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1900 "parse3.om" +#line 1930 "parse3.om" b4: v10 = (u)my_choice; -#line 1900 "parse3.om" +#line 1930 "parse3.om" v11 = v_c; -#line 1900 "parse3.om" +#line 1930 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1901 "parse3.om" +#line 1931 "parse3.om" b6: v13 = (u)my_charset; -#line 1901 "parse3.om" +#line 1931 "parse3.om" v14 = v_c; -#line 1901 "parse3.om" +#line 1931 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1901 "parse3.om" +#line 1931 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1901 "parse3.om" +#line 1931 "parse3.om" b7: v_ok = v16; -#line 1902 "parse3.om" +#line 1932 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1902 "parse3.om" +#line 1932 "parse3.om" b9: v17 = (u)my_fail; -#line 1902 "parse3.om" +#line 1932 "parse3.om" v18 = v_c; -#line 1902 "parse3.om" +#line 1932 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1902 "parse3.om" +#line 1932 "parse3.om" b11: v20 = (u)my_fail; -#line 1902 "parse3.om" +#line 1932 "parse3.om" v21 = v_c; -#line 1902 "parse3.om" +#line 1932 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1902 "parse3.om" +#line 1932 "parse3.om" b12: v_ok = 0UL; -#line 1902 "parse3.om" +#line 1932 "parse3.om" goto b3; -#line 1904 "parse3.om" +#line 1934 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1904 "parse3.om" +#line 1934 "parse3.om" b14: v23 = (u)my_leave; -#line 1904 "parse3.om" +#line 1934 "parse3.om" v24 = v_c; -#line 1904 "parse3.om" +#line 1934 "parse3.om" v25 = 81UL; -#line 1904 "parse3.om" +#line 1934 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1905 "parse3.om" +#line 1935 "parse3.om" b13: return v_ok; -#line 1904 "parse3.om" +#line 1934 "parse3.om" b15: v27 = (u)my_fail; -#line 1904 "parse3.om" +#line 1934 "parse3.om" v28 = v_c; -#line 1904 "parse3.om" +#line 1934 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1904 "parse3.om" +#line 1934 "parse3.om" goto b13; -#line 1902 "parse3.om" +#line 1932 "parse3.om" b10: v_ok = 1UL; -#line 1902 "parse3.om" +#line 1932 "parse3.om" goto b3; } u my_peg_P_union_decl(u v_c) { @@ -55224,169 +54940,169 @@ u my_peg_P_union_decl(u v_c) { u v46 = 0; u v47 = 0; u v48 = 0; -#line 358 "parse3.om" +#line 388 "parse3.om" b0: v2 = (u)my_enter; -#line 358 "parse3.om" +#line 388 "parse3.om" v3 = v_c; -#line 358 "parse3.om" +#line 388 "parse3.om" v4 = 5UL; -#line 358 "parse3.om" +#line 388 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 359 "parse3.om" +#line 389 "parse3.om" b1: v6 = (u)my_peg_P_union; -#line 359 "parse3.om" +#line 389 "parse3.om" v7 = v_c; -#line 359 "parse3.om" +#line 389 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 359 "parse3.om" +#line 389 "parse3.om" b2: v_ok = v8; -#line 360 "parse3.om" +#line 390 "parse3.om" if (!(v_ok)) { goto b3; } -#line 361 "parse3.om" +#line 391 "parse3.om" b4: v9 = (u)my_peg_P_sp; -#line 361 "parse3.om" +#line 391 "parse3.om" v10 = v_c; -#line 361 "parse3.om" +#line 391 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 361 "parse3.om" +#line 391 "parse3.om" b6: v_ok = v11; -#line 361 "parse3.om" +#line 391 "parse3.om" goto b3; -#line 363 "parse3.om" +#line 393 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 364 "parse3.om" +#line 394 "parse3.om" b8: v12 = (u)my_peg_P_ident; -#line 364 "parse3.om" +#line 394 "parse3.om" v13 = v_c; -#line 364 "parse3.om" +#line 394 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 364 "parse3.om" +#line 394 "parse3.om" b10: v_ok = v14; -#line 364 "parse3.om" +#line 394 "parse3.om" goto b7; -#line 366 "parse3.om" +#line 396 "parse3.om" b7: if (!(v_ok)) { goto b11; } -#line 367 "parse3.om" +#line 397 "parse3.om" b12: v15 = (u)my_peg_P_sp; -#line 367 "parse3.om" +#line 397 "parse3.om" v16 = v_c; -#line 367 "parse3.om" +#line 397 "parse3.om" v17 = ((u (*)())(v15))(v16); -#line 367 "parse3.om" +#line 397 "parse3.om" b14: v_ok = v17; -#line 367 "parse3.om" +#line 397 "parse3.om" goto b11; -#line 369 "parse3.om" +#line 399 "parse3.om" b11: if (!(v_ok)) { goto b15; } -#line 370 "parse3.om" +#line 400 "parse3.om" b16: v18 = (u)my_literal; -#line 370 "parse3.om" +#line 400 "parse3.om" v19 = v_c; -#line 370 "parse3.om" +#line 400 "parse3.om" v20 = (u)"{"; -#line 370 "parse3.om" +#line 400 "parse3.om" v21 = ((u (*)())(v18))(v19, v20); -#line 370 "parse3.om" +#line 400 "parse3.om" b18: v_ok = v21; -#line 370 "parse3.om" +#line 400 "parse3.om" goto b15; -#line 372 "parse3.om" +#line 402 "parse3.om" b15: if (!(v_ok)) { goto b19; } -#line 373 "parse3.om" +#line 403 "parse3.om" b20: v22 = (u)my_peg_P_sp; -#line 373 "parse3.om" +#line 403 "parse3.om" v23 = v_c; -#line 373 "parse3.om" +#line 403 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 373 "parse3.om" +#line 403 "parse3.om" b22: v_ok = v24; -#line 373 "parse3.om" +#line 403 "parse3.om" goto b19; -#line 375 "parse3.om" +#line 405 "parse3.om" b19: if (!(v_ok)) { goto b23; } -#line 377 "parse3.om" +#line 407 "parse3.om" b26: v25 = (u)my_choice; -#line 377 "parse3.om" +#line 407 "parse3.om" v26 = v_c; -#line 377 "parse3.om" +#line 407 "parse3.om" v27 = ((u (*)())(v25))(v26); -#line 378 "parse3.om" +#line 408 "parse3.om" b28: v28 = (u)my_peg_P_member_decl; -#line 378 "parse3.om" +#line 408 "parse3.om" v29 = v_c; -#line 378 "parse3.om" +#line 408 "parse3.om" v30 = ((u (*)())(v28))(v29); -#line 378 "parse3.om" +#line 408 "parse3.om" b29: v_ok = v30; -#line 379 "parse3.om" +#line 409 "parse3.om" if (!(v_ok)) { goto b34; } -#line 379 "parse3.om" +#line 409 "parse3.om" b33: v31 = 0UL; -#line 379 "parse3.om" +#line 409 "parse3.om" goto b35; -#line 379 "parse3.om" +#line 409 "parse3.om" b35: if (!(v31)) { goto b30; } -#line 379 "parse3.om" +#line 409 "parse3.om" b31: v_ok = 1UL; -#line 379 "parse3.om" +#line 409 "parse3.om" goto b23; -#line 383 "parse3.om" +#line 413 "parse3.om" b23: if (!(v_ok)) { goto b37; } -#line 384 "parse3.om" +#line 414 "parse3.om" b38: v35 = (u)my_literal; -#line 384 "parse3.om" +#line 414 "parse3.om" v36 = v_c; -#line 384 "parse3.om" +#line 414 "parse3.om" v37 = (u)"}"; -#line 384 "parse3.om" +#line 414 "parse3.om" v38 = ((u (*)())(v35))(v36, v37); -#line 384 "parse3.om" +#line 414 "parse3.om" b40: v_ok = v38; -#line 384 "parse3.om" +#line 414 "parse3.om" goto b37; -#line 386 "parse3.om" +#line 416 "parse3.om" b37: if (!(v_ok)) { goto b41; } -#line 387 "parse3.om" +#line 417 "parse3.om" b42: v39 = (u)my_peg_P_sp; -#line 387 "parse3.om" +#line 417 "parse3.om" v40 = v_c; -#line 387 "parse3.om" +#line 417 "parse3.om" v41 = ((u (*)())(v39))(v40); -#line 387 "parse3.om" +#line 417 "parse3.om" b44: v_ok = v41; -#line 387 "parse3.om" +#line 417 "parse3.om" goto b41; -#line 389 "parse3.om" +#line 419 "parse3.om" b41: if (!(v_ok)) { goto b47; } -#line 389 "parse3.om" +#line 419 "parse3.om" b46: v42 = (u)my_leave; -#line 389 "parse3.om" +#line 419 "parse3.om" v43 = v_c; -#line 389 "parse3.om" +#line 419 "parse3.om" v44 = 5UL; -#line 389 "parse3.om" +#line 419 "parse3.om" v45 = ((u (*)())(v42))(v43, v44); -#line 390 "parse3.om" +#line 420 "parse3.om" b45: return v_ok; -#line 389 "parse3.om" +#line 419 "parse3.om" b47: v46 = (u)my_fail; -#line 389 "parse3.om" +#line 419 "parse3.om" v47 = v_c; -#line 389 "parse3.om" +#line 419 "parse3.om" v48 = ((u (*)())(v46))(v47); -#line 389 "parse3.om" +#line 419 "parse3.om" goto b45; -#line 380 "parse3.om" +#line 410 "parse3.om" b30: v32 = (u)my_commit; -#line 380 "parse3.om" +#line 410 "parse3.om" v33 = v_c; -#line 380 "parse3.om" +#line 410 "parse3.om" v34 = ((u (*)())(v32))(v33); -#line 380 "parse3.om" +#line 410 "parse3.om" goto b26; -#line 379 "parse3.om" +#line 409 "parse3.om" b34: v31 = 1UL; -#line 379 "parse3.om" +#line 409 "parse3.om" goto b35; } u my_peg_P_var(u v_c) { @@ -55419,83 +55135,83 @@ u my_peg_P_var(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1858 "parse3.om" +#line 1888 "parse3.om" b0: v2 = (u)my_enter; -#line 1858 "parse3.om" +#line 1888 "parse3.om" v3 = v_c; -#line 1858 "parse3.om" +#line 1888 "parse3.om" v4 = 78UL; -#line 1858 "parse3.om" +#line 1888 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1859 "parse3.om" +#line 1889 "parse3.om" b1: v6 = (u)my_literal; -#line 1859 "parse3.om" +#line 1889 "parse3.om" v7 = v_c; -#line 1859 "parse3.om" +#line 1889 "parse3.om" v8 = (u)"var"; -#line 1859 "parse3.om" +#line 1889 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1859 "parse3.om" +#line 1889 "parse3.om" b2: v_ok = v9; -#line 1860 "parse3.om" +#line 1890 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1861 "parse3.om" +#line 1891 "parse3.om" b4: v10 = (u)my_choice; -#line 1861 "parse3.om" +#line 1891 "parse3.om" v11 = v_c; -#line 1861 "parse3.om" +#line 1891 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1862 "parse3.om" +#line 1892 "parse3.om" b6: v13 = (u)my_charset; -#line 1862 "parse3.om" +#line 1892 "parse3.om" v14 = v_c; -#line 1862 "parse3.om" +#line 1892 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1862 "parse3.om" +#line 1892 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1862 "parse3.om" +#line 1892 "parse3.om" b7: v_ok = v16; -#line 1863 "parse3.om" +#line 1893 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1863 "parse3.om" +#line 1893 "parse3.om" b9: v17 = (u)my_fail; -#line 1863 "parse3.om" +#line 1893 "parse3.om" v18 = v_c; -#line 1863 "parse3.om" +#line 1893 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1863 "parse3.om" +#line 1893 "parse3.om" b11: v20 = (u)my_fail; -#line 1863 "parse3.om" +#line 1893 "parse3.om" v21 = v_c; -#line 1863 "parse3.om" +#line 1893 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1863 "parse3.om" +#line 1893 "parse3.om" b12: v_ok = 0UL; -#line 1863 "parse3.om" +#line 1893 "parse3.om" goto b3; -#line 1865 "parse3.om" +#line 1895 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1865 "parse3.om" +#line 1895 "parse3.om" b14: v23 = (u)my_leave; -#line 1865 "parse3.om" +#line 1895 "parse3.om" v24 = v_c; -#line 1865 "parse3.om" +#line 1895 "parse3.om" v25 = 78UL; -#line 1865 "parse3.om" +#line 1895 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1866 "parse3.om" +#line 1896 "parse3.om" b13: return v_ok; -#line 1865 "parse3.om" +#line 1895 "parse3.om" b15: v27 = (u)my_fail; -#line 1865 "parse3.om" +#line 1895 "parse3.om" v28 = v_c; -#line 1865 "parse3.om" +#line 1895 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1865 "parse3.om" +#line 1895 "parse3.om" goto b13; -#line 1863 "parse3.om" +#line 1893 "parse3.om" b10: v_ok = 1UL; -#line 1863 "parse3.om" +#line 1893 "parse3.om" goto b3; } u my_peg_P_var_stmt(u v_c) { @@ -55540,141 +55256,141 @@ u my_peg_P_var_stmt(u v_c) { u v39 = 0; u v40 = 0; u v41 = 0; -#line 782 "parse3.om" +#line 812 "parse3.om" b0: v2 = (u)my_enter; -#line 782 "parse3.om" +#line 812 "parse3.om" v3 = v_c; -#line 782 "parse3.om" +#line 812 "parse3.om" v4 = 20UL; -#line 782 "parse3.om" +#line 812 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 783 "parse3.om" +#line 813 "parse3.om" b1: v6 = (u)my_peg_P_var; -#line 783 "parse3.om" +#line 813 "parse3.om" v7 = v_c; -#line 783 "parse3.om" +#line 813 "parse3.om" v8 = ((u (*)())(v6))(v7); -#line 783 "parse3.om" +#line 813 "parse3.om" b2: v_ok = v8; -#line 784 "parse3.om" +#line 814 "parse3.om" if (!(v_ok)) { goto b3; } -#line 785 "parse3.om" +#line 815 "parse3.om" b4: v9 = (u)my_peg_P_sp; -#line 785 "parse3.om" +#line 815 "parse3.om" v10 = v_c; -#line 785 "parse3.om" +#line 815 "parse3.om" v11 = ((u (*)())(v9))(v10); -#line 785 "parse3.om" +#line 815 "parse3.om" b6: v_ok = v11; -#line 785 "parse3.om" +#line 815 "parse3.om" goto b3; -#line 787 "parse3.om" +#line 817 "parse3.om" b3: if (!(v_ok)) { goto b7; } -#line 788 "parse3.om" +#line 818 "parse3.om" b8: v12 = (u)my_peg_P_ident; -#line 788 "parse3.om" +#line 818 "parse3.om" v13 = v_c; -#line 788 "parse3.om" +#line 818 "parse3.om" v14 = ((u (*)())(v12))(v13); -#line 788 "parse3.om" +#line 818 "parse3.om" b10: v_ok = v14; -#line 788 "parse3.om" +#line 818 "parse3.om" goto b7; -#line 790 "parse3.om" +#line 820 "parse3.om" b7: if (!(v_ok)) { goto b11; } -#line 791 "parse3.om" +#line 821 "parse3.om" b12: v15 = (u)my_peg_P_sp; -#line 791 "parse3.om" +#line 821 "parse3.om" v16 = v_c; -#line 791 "parse3.om" +#line 821 "parse3.om" v17 = ((u (*)())(v15))(v16); -#line 791 "parse3.om" +#line 821 "parse3.om" b14: v_ok = v17; -#line 791 "parse3.om" +#line 821 "parse3.om" goto b11; -#line 793 "parse3.om" +#line 823 "parse3.om" b11: if (!(v_ok)) { goto b15; } -#line 794 "parse3.om" +#line 824 "parse3.om" b16: v18 = (u)my_literal; -#line 794 "parse3.om" +#line 824 "parse3.om" v19 = v_c; -#line 794 "parse3.om" +#line 824 "parse3.om" v20 = (u)":"; -#line 794 "parse3.om" +#line 824 "parse3.om" v21 = ((u (*)())(v18))(v19, v20); -#line 794 "parse3.om" +#line 824 "parse3.om" b18: v_ok = v21; -#line 794 "parse3.om" +#line 824 "parse3.om" goto b15; -#line 796 "parse3.om" +#line 826 "parse3.om" b15: if (!(v_ok)) { goto b19; } -#line 797 "parse3.om" +#line 827 "parse3.om" b20: v22 = (u)my_peg_P_sp; -#line 797 "parse3.om" +#line 827 "parse3.om" v23 = v_c; -#line 797 "parse3.om" +#line 827 "parse3.om" v24 = ((u (*)())(v22))(v23); -#line 797 "parse3.om" +#line 827 "parse3.om" b22: v_ok = v24; -#line 797 "parse3.om" +#line 827 "parse3.om" goto b19; -#line 799 "parse3.om" +#line 829 "parse3.om" b19: if (!(v_ok)) { goto b23; } -#line 800 "parse3.om" +#line 830 "parse3.om" b24: v25 = (u)my_peg_P_type; -#line 800 "parse3.om" +#line 830 "parse3.om" v26 = v_c; -#line 800 "parse3.om" +#line 830 "parse3.om" v27 = ((u (*)())(v25))(v26); -#line 800 "parse3.om" +#line 830 "parse3.om" b26: v_ok = v27; -#line 800 "parse3.om" +#line 830 "parse3.om" goto b23; -#line 802 "parse3.om" +#line 832 "parse3.om" b23: if (!(v_ok)) { goto b27; } -#line 803 "parse3.om" +#line 833 "parse3.om" b28: v28 = (u)my_literal; -#line 803 "parse3.om" +#line 833 "parse3.om" v29 = v_c; -#line 803 "parse3.om" +#line 833 "parse3.om" v30 = (u)";"; -#line 803 "parse3.om" +#line 833 "parse3.om" v31 = ((u (*)())(v28))(v29, v30); -#line 803 "parse3.om" +#line 833 "parse3.om" b30: v_ok = v31; -#line 803 "parse3.om" +#line 833 "parse3.om" goto b27; -#line 805 "parse3.om" +#line 835 "parse3.om" b27: if (!(v_ok)) { goto b31; } -#line 806 "parse3.om" +#line 836 "parse3.om" b32: v32 = (u)my_peg_P_sp; -#line 806 "parse3.om" +#line 836 "parse3.om" v33 = v_c; -#line 806 "parse3.om" +#line 836 "parse3.om" v34 = ((u (*)())(v32))(v33); -#line 806 "parse3.om" +#line 836 "parse3.om" b34: v_ok = v34; -#line 806 "parse3.om" +#line 836 "parse3.om" goto b31; -#line 808 "parse3.om" +#line 838 "parse3.om" b31: if (!(v_ok)) { goto b37; } -#line 808 "parse3.om" +#line 838 "parse3.om" b36: v35 = (u)my_leave; -#line 808 "parse3.om" +#line 838 "parse3.om" v36 = v_c; -#line 808 "parse3.om" +#line 838 "parse3.om" v37 = 20UL; -#line 808 "parse3.om" +#line 838 "parse3.om" v38 = ((u (*)())(v35))(v36, v37); -#line 809 "parse3.om" +#line 839 "parse3.om" b35: return v_ok; -#line 808 "parse3.om" +#line 838 "parse3.om" b37: v39 = (u)my_fail; -#line 808 "parse3.om" +#line 838 "parse3.om" v40 = v_c; -#line 808 "parse3.om" +#line 838 "parse3.om" v41 = ((u (*)())(v39))(v40); -#line 808 "parse3.om" +#line 838 "parse3.om" goto b35; } u my_peg_P_void(u v_c) { @@ -55707,83 +55423,83 @@ u my_peg_P_void(u v_c) { u v27 = 0; u v28 = 0; u v29 = 0; -#line 1936 "parse3.om" +#line 1966 "parse3.om" b0: v2 = (u)my_enter; -#line 1936 "parse3.om" +#line 1966 "parse3.om" v3 = v_c; -#line 1936 "parse3.om" +#line 1966 "parse3.om" v4 = 84UL; -#line 1936 "parse3.om" +#line 1966 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1937 "parse3.om" +#line 1967 "parse3.om" b1: v6 = (u)my_literal; -#line 1937 "parse3.om" +#line 1967 "parse3.om" v7 = v_c; -#line 1937 "parse3.om" +#line 1967 "parse3.om" v8 = (u)"void"; -#line 1937 "parse3.om" +#line 1967 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1937 "parse3.om" +#line 1967 "parse3.om" b2: v_ok = v9; -#line 1938 "parse3.om" +#line 1968 "parse3.om" if (!(v_ok)) { goto b3; } -#line 1939 "parse3.om" +#line 1969 "parse3.om" b4: v10 = (u)my_choice; -#line 1939 "parse3.om" +#line 1969 "parse3.om" v11 = v_c; -#line 1939 "parse3.om" +#line 1969 "parse3.om" v12 = ((u (*)())(v10))(v11); -#line 1940 "parse3.om" +#line 1970 "parse3.om" b6: v13 = (u)my_charset; -#line 1940 "parse3.om" +#line 1970 "parse3.om" v14 = v_c; -#line 1940 "parse3.om" +#line 1970 "parse3.om" v15 = (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; -#line 1940 "parse3.om" +#line 1970 "parse3.om" v16 = ((u (*)())(v13))(v14, v15); -#line 1940 "parse3.om" +#line 1970 "parse3.om" b7: v_ok = v16; -#line 1941 "parse3.om" +#line 1971 "parse3.om" if (!(v_ok)) { goto b10; } -#line 1941 "parse3.om" +#line 1971 "parse3.om" b9: v17 = (u)my_fail; -#line 1941 "parse3.om" +#line 1971 "parse3.om" v18 = v_c; -#line 1941 "parse3.om" +#line 1971 "parse3.om" v19 = ((u (*)())(v17))(v18); -#line 1941 "parse3.om" +#line 1971 "parse3.om" b11: v20 = (u)my_fail; -#line 1941 "parse3.om" +#line 1971 "parse3.om" v21 = v_c; -#line 1941 "parse3.om" +#line 1971 "parse3.om" v22 = ((u (*)())(v20))(v21); -#line 1941 "parse3.om" +#line 1971 "parse3.om" b12: v_ok = 0UL; -#line 1941 "parse3.om" +#line 1971 "parse3.om" goto b3; -#line 1943 "parse3.om" +#line 1973 "parse3.om" b3: if (!(v_ok)) { goto b15; } -#line 1943 "parse3.om" +#line 1973 "parse3.om" b14: v23 = (u)my_leave; -#line 1943 "parse3.om" +#line 1973 "parse3.om" v24 = v_c; -#line 1943 "parse3.om" +#line 1973 "parse3.om" v25 = 84UL; -#line 1943 "parse3.om" +#line 1973 "parse3.om" v26 = ((u (*)())(v23))(v24, v25); -#line 1944 "parse3.om" +#line 1974 "parse3.om" b13: return v_ok; -#line 1943 "parse3.om" +#line 1973 "parse3.om" b15: v27 = (u)my_fail; -#line 1943 "parse3.om" +#line 1973 "parse3.om" v28 = v_c; -#line 1943 "parse3.om" +#line 1973 "parse3.om" v29 = ((u (*)())(v27))(v28); -#line 1943 "parse3.om" +#line 1973 "parse3.om" goto b13; -#line 1941 "parse3.om" +#line 1971 "parse3.om" b10: v_ok = 1UL; -#line 1941 "parse3.om" +#line 1971 "parse3.om" goto b3; } u my_peg_P_xor_op(u v_c) { @@ -55803,43 +55519,43 @@ u my_peg_P_xor_op(u v_c) { u v14 = 0; u v15 = 0; u v16 = 0; -#line 1111 "parse3.om" +#line 1141 "parse3.om" b0: v2 = (u)my_enter; -#line 1111 "parse3.om" +#line 1141 "parse3.om" v3 = v_c; -#line 1111 "parse3.om" +#line 1141 "parse3.om" v4 = 41UL; -#line 1111 "parse3.om" +#line 1141 "parse3.om" v5 = ((u (*)())(v2))(v3, v4); -#line 1112 "parse3.om" +#line 1142 "parse3.om" b1: v6 = (u)my_literal; -#line 1112 "parse3.om" +#line 1142 "parse3.om" v7 = v_c; -#line 1112 "parse3.om" +#line 1142 "parse3.om" v8 = (u)"^"; -#line 1112 "parse3.om" +#line 1142 "parse3.om" v9 = ((u (*)())(v6))(v7, v8); -#line 1112 "parse3.om" +#line 1142 "parse3.om" b2: v_ok = v9; -#line 1113 "parse3.om" +#line 1143 "parse3.om" if (!(v_ok)) { goto b5; } -#line 1113 "parse3.om" +#line 1143 "parse3.om" b4: v10 = (u)my_leave; -#line 1113 "parse3.om" +#line 1143 "parse3.om" v11 = v_c; -#line 1113 "parse3.om" +#line 1143 "parse3.om" v12 = 41UL; -#line 1113 "parse3.om" +#line 1143 "parse3.om" v13 = ((u (*)())(v10))(v11, v12); -#line 1114 "parse3.om" +#line 1144 "parse3.om" b3: return v_ok; -#line 1113 "parse3.om" +#line 1143 "parse3.om" b5: v14 = (u)my_fail; -#line 1113 "parse3.om" +#line 1143 "parse3.om" v15 = v_c; -#line 1113 "parse3.om" +#line 1143 "parse3.om" v16 = ((u (*)())(v14))(v15); -#line 1113 "parse3.om" +#line 1143 "parse3.om" goto b3; } u my_peg_compile(u v_c, u v_filename, u v_err) { @@ -55942,9 +55658,9 @@ b12: v31 = (u)my_peg_new; #line 518 "peg.om" v35 = *(u *)(v_c); #line 518 "peg.om" - v36 = (u)my_peg_PEG_grammar; + v36 = (u)my_peg_P_peg_grammar; #line 518 "peg.om" - v37 = (u)my_PEG_tag_to_str; + v37 = (u)my_P_tag_to_str; #line 518 "peg.om" v38 = ((u (*)())(v31))(v32, v33, v34, v35, v36, v37); #line 518 "peg.om" @@ -55954,7 +55670,7 @@ b13: *(u *)((v_c) + (8UL)) = v38; #line 520 "peg.om" v40 = *(u *)((v_c) + (8UL)); #line 520 "peg.om" - v41 = 15UL; + v41 = 89UL; #line 520 "peg.om" v42 = v_err; #line 520 "peg.om" @@ -62901,7 +62617,7 @@ b60: if (!(v86)) { goto b55; } #line 384 "peg.om" b54: return 0UL; #line 451 "peg.om" -b55: if (!((u)(((s)(*(u *)(v_v))) == ((s)(1UL))))) { goto b61; } +b55: if (!((u)(((s)(*(u *)(v_v))) == ((s)(91UL))))) { goto b61; } #line 452 "peg.om" b62: v87 = (u)my_fputs; #line 452 "peg.om" @@ -63045,7 +62761,7 @@ b59: v86 = 1UL; #line 447 "peg.om" goto b60; #line 429 "peg.om" -b35: if (!((u)(((s)(*(u *)(v_v))) == ((s)(1UL))))) { goto b41; } +b35: if (!((u)(((s)(*(u *)(v_v))) == ((s)(91UL))))) { goto b41; } #line 430 "peg.om" b42: v48 = (u)my_fputs; #line 430 "peg.om" @@ -63107,7 +62823,7 @@ b39: v47 = 1UL; #line 425 "peg.om" goto b40; #line 408 "peg.om" -b16: if (!((u)(((s)(*(u *)(v_v))) == ((s)(1UL))))) { goto b22; } +b16: if (!((u)(((s)(*(u *)(v_v))) == ((s)(91UL))))) { goto b22; } #line 409 "peg.om" b23: v14 = (u)my_fputs; #line 409 "peg.om" @@ -63151,7 +62867,7 @@ b20: v13 = 1UL; #line 404 "peg.om" goto b21; #line 393 "peg.om" -b3: if (!((u)(((s)(*(u *)(v_v))) == ((s)(2UL))))) { goto b9; } +b3: if (!((u)(((s)(*(u *)(v_v))) == ((s)(92UL))))) { goto b9; } #line 394 "peg.om" b10: v4 = (u)my_setprefix; #line 394 "peg.om" @@ -63899,7 +63615,7 @@ u my_translate_pattern(u v_c, u v_n) { #line 265 "peg.om" b0: goto b1; #line 266 "peg.om" -b1: if (!((u)(((s)(*(u *)(v_n))) == ((s)(3UL))))) { goto b5; } +b1: if (!((u)(((s)(*(u *)(v_n))) == ((s)(93UL))))) { goto b5; } #line 267 "peg.om" b4: v_d = *(u *)((v_n) + (16UL)); #line 268 "peg.om" @@ -63995,7 +63711,7 @@ b10: v5 = 1UL; #line 268 "peg.om" goto b11; #line 287 "peg.om" -b5: if (!((u)(((s)(*(u *)(v_n))) == ((s)(4UL))))) { goto b28; } +b5: if (!((u)(((s)(*(u *)(v_n))) == ((s)(94UL))))) { goto b28; } #line 288 "peg.om" b27: v_d = *(u *)((v_n) + (16UL)); #line 289 "peg.om" @@ -64053,7 +63769,7 @@ b36: v39 = 1UL; #line 292 "peg.om" goto b37; #line 302 "peg.om" -b28: if (!((u)(((s)(*(u *)(v_n))) == ((s)(6UL))))) { goto b42; } +b28: if (!((u)(((s)(*(u *)(v_n))) == ((s)(96UL))))) { goto b42; } #line 303 "peg.om" b41: v52 = (u)my_decode_look; #line 303 "peg.om" @@ -64065,7 +63781,7 @@ b43: v_look = v54; #line 304 "peg.om" v_d = *(u *)((v_n) + (16UL)); #line 305 "peg.om" - if (!((u)(((s)(*(u *)(v_d))) == ((s)(5UL))))) { goto b44; } + if (!((u)(((s)(*(u *)(v_d))) == ((s)(95UL))))) { goto b44; } #line 306 "peg.om" b45: v_d = *(u *)((v_d) + (8UL)); #line 306 "peg.om" @@ -64147,7 +63863,7 @@ b59: v83 = (u)my_die; #line 320 "peg.om" goto b2; #line 322 "peg.om" -b42: if (!((u)(((s)(*(u *)(v_n))) == ((s)(8UL))))) { goto b63; } +b42: if (!((u)(((s)(*(u *)(v_n))) == ((s)(98UL))))) { goto b63; } #line 323 "peg.om" b62: v86 = (u)my_decode_count; #line 323 "peg.om" @@ -64333,7 +64049,7 @@ b83: v165 = (u)my_die; #line 348 "peg.om" goto b2; #line 350 "peg.om" -b63: if (!((u)(((s)(*(u *)(v_n))) == ((s)(9UL))))) { goto b95; } +b63: if (!((u)(((s)(*(u *)(v_n))) == ((s)(99UL))))) { goto b95; } #line 351 "peg.om" b94: v168 = (u)my_translate_pattern; #line 351 "peg.om" @@ -64345,7 +64061,7 @@ b94: v168 = (u)my_translate_pattern; #line 351 "peg.om" goto b2; #line 352 "peg.om" -b95: if (!((u)(((s)(*(u *)(v_n))) == ((s)(10UL))))) { goto b98; } +b95: if (!((u)(((s)(*(u *)(v_n))) == ((s)(100UL))))) { goto b98; } #line 353 "peg.om" b97: v172 = (u)my_fputs; #line 353 "peg.om" @@ -64357,7 +64073,7 @@ b97: v172 = (u)my_fputs; #line 353 "peg.om" goto b2; #line 354 "peg.om" -b98: if (!((u)(((s)(*(u *)(v_n))) == ((s)(11UL))))) { goto b101; } +b98: if (!((u)(((s)(*(u *)(v_n))) == ((s)(101UL))))) { goto b101; } #line 355 "peg.om" b100: v176 = (u)my_translate_literal; #line 355 "peg.om" @@ -64369,7 +64085,7 @@ b100: v176 = (u)my_translate_literal; #line 355 "peg.om" goto b2; #line 356 "peg.om" -b101: if (!((u)(((s)(*(u *)(v_n))) == ((s)(12UL))))) { goto b104; } +b101: if (!((u)(((s)(*(u *)(v_n))) == ((s)(102UL))))) { goto b104; } #line 357 "peg.om" b103: v180 = (u)my_translate_charset; #line 357 "peg.om" @@ -64381,7 +64097,7 @@ b103: v180 = (u)my_translate_charset; #line 357 "peg.om" goto b2; #line 358 "peg.om" -b104: if (!((u)(((s)(*(u *)(v_n))) == ((s)(13UL))))) { goto b107; } +b104: if (!((u)(((s)(*(u *)(v_n))) == ((s)(103UL))))) { goto b107; } #line 359 "peg.om" b106: v184 = (u)my_fputs; #line 359 "peg.om" @@ -64419,7 +64135,7 @@ b110: v197 = (u)my_fputs; #line 362 "peg.om" goto b2; #line 363 "peg.om" -b107: if (!((u)(((s)(*(u *)(v_n))) == ((s)(15UL))))) { goto b113; } +b107: if (!((u)(((s)(*(u *)(v_n))) == ((s)(89UL))))) { goto b113; } #line 364 "peg.om" b112: v_n = *(u *)((v_n) + (8UL)); #line 365 "peg.om" diff --git a/cc3.peg b/cc3.peg @@ -130,3 +130,19 @@ nil <- 'nil' ![a-zA-Z0-9_] ident <- !reserved [a-zA-Z_][a-zA-Z0-9_]* sp <- ( [ \r\n\t] / '//' (![\r\n] .)* )* + +peg_grammar <- sp (peg_rule / peg_prefix)+ !. +peg_rule <- peg_identifier sp '<-' sp peg_pattern +peg_prefix <- '%prefix' sp peg_identifier sp +peg_pattern <- peg_alternative ( '/' !'/' sp peg_alternative )* +peg_alternative <- peg_lookahead+ +peg_lookop <- [!&] +peg_lookahead <- (peg_lookop sp)? peg_suffix +peg_countop <- [*+?] +peg_suffix <- peg_primary (peg_countop sp)* +peg_primary <- ( '(' sp peg_pattern ')' / peg_any / peg_literal / peg_class / peg_call ) sp +peg_any <- '.' +peg_literal <- ['] ( !['] . )* ['] +peg_class <- '[' ( !']' ( . '-' . / . ) )* ']' +peg_call <- peg_identifier !(sp '<-') +peg_identifier <- [a-zA-Z0-9_]+ diff --git a/peg.om b/peg.om @@ -18,7 +18,7 @@ func decode_look(n: *peg_node): int { var ret: int; ret = LOOK_NORMAL; - if n.child.tag == PEG_lookop { + if n.child.tag == P_peg_lookop { if n.child.str[0] == '!' as byte { ret = LOOK_NOT; } else if n.child.str[0] == '&' as byte { @@ -46,7 +46,7 @@ func decode_count(n: *peg_node): int { return ret; } - if n.tag == PEG_countop { + if n.tag == P_peg_countop { if n.str[0] == '?' as byte { if ret == EXACTLY_ONE { ret = ZERO_OR_ONE; @@ -263,7 +263,7 @@ func translate_pattern(c: *peg_compiler, n: *peg_node) { var d: *peg_node; loop { - if n.tag == PEG_pattern { + if n.tag == P_peg_pattern { d = n.child; if !d.next { translate_pattern(c, d); @@ -284,7 +284,7 @@ func translate_pattern(c: *peg_compiler, n: *peg_node) { } fputs(c.out, " if ok { commit(c); } else { fail(c); }\n"); } - } else if n.tag == PEG_alternative { + } else if n.tag == P_peg_alternative { d = n.child; translate_pattern(c, d); d = d.next; @@ -299,10 +299,10 @@ func translate_pattern(c: *peg_compiler, n: *peg_node) { d = d.next; } - } else if n.tag == PEG_lookahead { + } else if n.tag == P_peg_lookahead { look = decode_look(n); d = n.child; - if d.tag == PEG_lookop { + if d.tag == P_peg_lookop { d = d.next; } @@ -319,7 +319,7 @@ func translate_pattern(c: *peg_compiler, n: *peg_node) { } else { die("invalid lookop"); } - } else if n.tag == PEG_suffix { + } else if n.tag == P_peg_suffix { count = decode_count(n); if count == ZERO_OR_ONE { fputs(c.out, " choice(c);\n"); @@ -347,20 +347,20 @@ func translate_pattern(c: *peg_compiler, n: *peg_node) { } else { die("invalid countop"); } - } else if n.tag == PEG_primary { + } else if n.tag == P_peg_primary { translate_pattern(c, n.child); - } else if n.tag == PEG_any { + } else if n.tag == P_peg_any { fputs(c.out, " ok = any(c);\n"); - } else if n.tag == PEG_literal { + } else if n.tag == P_peg_literal { translate_literal(c, n); - } else if n.tag == PEG_class { + } else if n.tag == P_peg_class { translate_charset(c, n); - } else if n.tag == PEG_call { + } else if n.tag == P_peg_call { fputs(c.out, " ok = peg_"); fputs(c.out, c.prefix); fputb(c.out, n.child.str, n.child.len); fputs(c.out, "(c);\n"); - } else if n.tag == PEG_sp { + } else if n.tag == P_sp { n = n.next; continue; } else { @@ -390,7 +390,7 @@ func translate(c: *peg_compiler, n: *peg_node) { break; } - if v.tag == PEG_prefix { + if v.tag == P_peg_prefix { setprefix(c, v.child.str, v.child.len); } @@ -405,7 +405,7 @@ func translate(c: *peg_compiler, n: *peg_node) { break; } - if v.tag == PEG_rule { + if v.tag == P_peg_rule { fputs(c.out, " "); fputs(c.out, c.prefix); fputb(c.out, v.child.str, v.child.len); @@ -426,7 +426,7 @@ func translate(c: *peg_compiler, n: *peg_node) { break; } - if v.tag == PEG_rule { + if v.tag == P_peg_rule { fputs(c.out, " if tag == "); fputs(c.out, c.prefix); fputb(c.out, v.child.str, v.child.len); @@ -448,7 +448,7 @@ func translate(c: *peg_compiler, n: *peg_node) { break; } - if v.tag == PEG_rule { + if v.tag == P_peg_rule { fputs(c.out, "\nfunc peg_"); fputs(c.out, c.prefix); fputb(c.out, v.child.str, v.child.len); @@ -515,9 +515,9 @@ func peg_compile(c: *peg_compiler, filename: *byte, err: *file) { src = freadall(f, &len); fclose(f); - c.p = peg_new(filename, src, len, c.a, peg_PEG_grammar, PEG_tag_to_str); + c.p = peg_new(filename, src, len, c.a, peg_P_peg_grammar, P_tag_to_str); - node = peg_parse(c.p, PEG_sp, err); + node = peg_parse(c.p, P_sp, err); translate(c, node); fflush(c.out);