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:
M | bootstrap.sh | | | 3 | +-- |
M | cc0.c | | | 19754 | +++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | cc3.peg | | | 16 | ++++++++++++++++ |
M | peg.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);