misc: update Changelog and NOTICE; remove BUGS and TODO
[nit.git] / c_src / compiling_methods._sep.h
index 51aa75f..4459b7f 100644 (file)
 /* This C header file is generated by NIT to compile modules and programs that requires compiling_methods. */
-#ifndef compiling_methods_2_sep
-#define compiling_methods_2_sep
+#ifndef compiling_methods_sep
+#define compiling_methods_sep
 #include "compiling_base._sep.h"
 #include <nit_common.h>
-#define LOCATE_compiling_methods "./compiling//compiling_methods.nit"
+
+extern const classtable_elt_t VFT_CFunctionContext[];
+
+extern const classtable_elt_t VFT_NitMethodContext[];
+
+extern const classtable_elt_t VFT_AControlableBlock[];
+extern const char *LOCATE_compiling_methods;
 extern const int SFT_compiling_methods[];
-#define COLOR_compiling_methods___CompilerVisitor____variable_index SFT_compiling_methods[0]
-#define COLOR_compiling_methods___CompilerVisitor____variable_index_max SFT_compiling_methods[1]
-#define COLOR_compiling_methods___CompilerVisitor____varnames SFT_compiling_methods[2]
-#define COLOR_compiling_methods___CompilerVisitor____has_return SFT_compiling_methods[3]
-#define COLOR_compiling_methods___CompilerVisitor____method_params SFT_compiling_methods[4]
-#define COLOR_compiling_methods___CompilerVisitor____method SFT_compiling_methods[5]
-#define COLOR_compiling_methods___CompilerVisitor____return_label SFT_compiling_methods[6]
-#define COLOR_compiling_methods___CompilerVisitor____break_label SFT_compiling_methods[7]
-#define COLOR_compiling_methods___CompilerVisitor____continue_label SFT_compiling_methods[8]
-#define COLOR_compiling_methods___CompilerVisitor____return_value SFT_compiling_methods[9]
-#define COLOR_compiling_methods___CompilerVisitor___compile_stmt SFT_compiling_methods[10]
-#define COLOR_compiling_methods___CompilerVisitor___compile_expr SFT_compiling_methods[11]
-#define COLOR_compiling_methods___CompilerVisitor___ensure_var SFT_compiling_methods[12]
-#define COLOR_compiling_methods___CompilerVisitor___add_assignment SFT_compiling_methods[13]
-#define COLOR_compiling_methods___CompilerVisitor___variable SFT_compiling_methods[14]
-#define COLOR_compiling_methods___CompilerVisitor___get_var SFT_compiling_methods[15]
-#define COLOR_compiling_methods___CompilerVisitor___free_var SFT_compiling_methods[16]
-#define COLOR_compiling_methods___CompilerVisitor___clear SFT_compiling_methods[17]
-#define COLOR_compiling_methods___CompilerVisitor___varnames SFT_compiling_methods[18]
-#define COLOR_compiling_methods___CompilerVisitor___has_return SFT_compiling_methods[19]
-#define COLOR_compiling_methods___CompilerVisitor___has_return__eq SFT_compiling_methods[20]
-#define COLOR_compiling_methods___CompilerVisitor___method_params SFT_compiling_methods[21]
-#define COLOR_compiling_methods___CompilerVisitor___method_params__eq SFT_compiling_methods[22]
-#define COLOR_compiling_methods___CompilerVisitor___method SFT_compiling_methods[23]
-#define COLOR_compiling_methods___CompilerVisitor___method__eq SFT_compiling_methods[24]
-#define COLOR_compiling_methods___CompilerVisitor___return_label SFT_compiling_methods[25]
-#define COLOR_compiling_methods___CompilerVisitor___return_label__eq SFT_compiling_methods[26]
-#define COLOR_compiling_methods___CompilerVisitor___break_label SFT_compiling_methods[27]
-#define COLOR_compiling_methods___CompilerVisitor___break_label__eq SFT_compiling_methods[28]
-#define COLOR_compiling_methods___CompilerVisitor___continue_label SFT_compiling_methods[29]
-#define COLOR_compiling_methods___CompilerVisitor___continue_label__eq SFT_compiling_methods[30]
-#define COLOR_compiling_methods___CompilerVisitor___return_value SFT_compiling_methods[31]
-#define COLOR_compiling_methods___CompilerVisitor___return_value__eq SFT_compiling_methods[32]
-#define COLOR_compiling_methods___CompilerVisitor___printf_locate_error SFT_compiling_methods[33]
-#define COLOR_SUPER_compiling_methods___CompilerVisitor___init SFT_compiling_methods[34]
-#define COLOR_compiling_methods___CompilerVisitor___invoke_super_init_calls_after SFT_compiling_methods[35]
-#define COLOR_compiling_methods___MMMethod___compile_call SFT_compiling_methods[36]
-#define COLOR_compiling_methods___MMMethod___compile_constructor_call SFT_compiling_methods[37]
-#define COLOR_compiling_methods___MMMethod___compile_super_call SFT_compiling_methods[38]
-#define COLOR_compiling_methods___MMAttribute___compile_access SFT_compiling_methods[39]
-#define COLOR_compiling_methods___MMLocalProperty___compile_property_to_c SFT_compiling_methods[40]
-#define COLOR_compiling_methods___MMSrcMethod___decl_csignature SFT_compiling_methods[41]
-#define COLOR_compiling_methods___MMSrcMethod___do_compile_inside SFT_compiling_methods[42]
-#define COLOR_compiling_methods___MMType___compile_cast SFT_compiling_methods[43]
-#define COLOR_compiling_methods___MMType___compile_type_check SFT_compiling_methods[44]
-#define COLOR_compiling_methods___AMethPropdef___do_compile_inside SFT_compiling_methods[45]
-#define COLOR_compiling_methods___PExpr___compile_expr SFT_compiling_methods[46]
-#define COLOR_compiling_methods___PExpr___prepare_compile_stmt SFT_compiling_methods[47]
-#define COLOR_compiling_methods___PExpr___compile_stmt SFT_compiling_methods[48]
-#define COLOR_compiling_methods___AControlableBlock___compile_inside_block SFT_compiling_methods[49]
-#define COLOR_compiling_methods___AStringFormExpr____cstring SFT_compiling_methods[50]
-#define COLOR_compiling_methods___AStringFormExpr____cstring_length SFT_compiling_methods[51]
-#define COLOR_compiling_methods___AStringFormExpr___string_text SFT_compiling_methods[52]
-#define COLOR_compiling_methods___AStringFormExpr___compute_string_info SFT_compiling_methods[53]
-#define COLOR_compiling_methods___ARangeExpr___propname SFT_compiling_methods[54]
+#define ATTR_compiling_methods___CompilerVisitor____cfc(recv) ATTR(recv, (SFT_compiling_methods[0] + 0))
+#define ATTR_compiling_methods___CompilerVisitor____nmc(recv) ATTR(recv, (SFT_compiling_methods[0] + 1))
+#define ATTR_compiling_methods___CompilerVisitor____out_contexts(recv) ATTR(recv, (SFT_compiling_methods[0] + 2))
+#define CALL_compiling_methods___CompilerVisitor___compile_stmt(recv) ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL((recv), (SFT_compiling_methods[1] + 0)))
+#define CALL_compiling_methods___CompilerVisitor___compile_expr(recv) ((compiling_methods___CompilerVisitor___compile_expr_t)CALL((recv), (SFT_compiling_methods[1] + 1)))
+#define CALL_compiling_methods___CompilerVisitor___ensure_var(recv) ((compiling_methods___CompilerVisitor___ensure_var_t)CALL((recv), (SFT_compiling_methods[1] + 2)))
+#define CALL_compiling_methods___CompilerVisitor___add_assignment(recv) ((compiling_methods___CompilerVisitor___add_assignment_t)CALL((recv), (SFT_compiling_methods[1] + 3)))
+#define CALL_compiling_methods___CompilerVisitor___cfc(recv) ((compiling_methods___CompilerVisitor___cfc_t)CALL((recv), (SFT_compiling_methods[1] + 4)))
+#define CALL_compiling_methods___CompilerVisitor___cfc__eq(recv) ((compiling_methods___CompilerVisitor___cfc__eq_t)CALL((recv), (SFT_compiling_methods[1] + 5)))
+#define CALL_compiling_methods___CompilerVisitor___nmc(recv) ((compiling_methods___CompilerVisitor___nmc_t)CALL((recv), (SFT_compiling_methods[1] + 6)))
+#define CALL_compiling_methods___CompilerVisitor___nmc__eq(recv) ((compiling_methods___CompilerVisitor___nmc__eq_t)CALL((recv), (SFT_compiling_methods[1] + 7)))
+#define CALL_compiling_methods___CompilerVisitor___out_contexts(recv) ((compiling_methods___CompilerVisitor___out_contexts_t)CALL((recv), (SFT_compiling_methods[1] + 8)))
+#define CALL_compiling_methods___CompilerVisitor___out_contexts__eq(recv) ((compiling_methods___CompilerVisitor___out_contexts__eq_t)CALL((recv), (SFT_compiling_methods[1] + 9)))
+#define CALL_compiling_methods___CompilerVisitor___printf_locate_error(recv) ((compiling_methods___CompilerVisitor___printf_locate_error_t)CALL((recv), (SFT_compiling_methods[1] + 10)))
+#define CALL_compiling_methods___CompilerVisitor___invoke_super_init_calls_after(recv) ((compiling_methods___CompilerVisitor___invoke_super_init_calls_after_t)CALL((recv), (SFT_compiling_methods[1] + 11)))
+#define ID_CFunctionContext (SFT_compiling_methods[2])
+#define COLOR_CFunctionContext (SFT_compiling_methods[3])
+#define ATTR_compiling_methods___CFunctionContext____visitor(recv) ATTR(recv, (SFT_compiling_methods[4] + 0))
+#define ATTR_compiling_methods___CFunctionContext____variable_index(recv) ATTR(recv, (SFT_compiling_methods[4] + 1))
+#define ATTR_compiling_methods___CFunctionContext____variable_index_max(recv) ATTR(recv, (SFT_compiling_methods[4] + 2))
+#define ATTR_compiling_methods___CFunctionContext____varindexes(recv) ATTR(recv, (SFT_compiling_methods[4] + 3))
+#define ATTR_compiling_methods___CFunctionContext____closure(recv) ATTR(recv, (SFT_compiling_methods[4] + 4))
+#define ATTR_compiling_methods___CFunctionContext____closurevariable_index(recv) ATTR(recv, (SFT_compiling_methods[4] + 5))
+#define INIT_TABLE_POS_CFunctionContext (SFT_compiling_methods[5] + 0)
+#define CALL_compiling_methods___CFunctionContext___visitor(recv) ((compiling_methods___CFunctionContext___visitor_t)CALL((recv), (SFT_compiling_methods[5] + 1)))
+#define CALL_compiling_methods___CFunctionContext___closure(recv) ((compiling_methods___CFunctionContext___closure_t)CALL((recv), (SFT_compiling_methods[5] + 2)))
+#define CALL_compiling_methods___CFunctionContext___closure__eq(recv) ((compiling_methods___CFunctionContext___closure__eq_t)CALL((recv), (SFT_compiling_methods[5] + 3)))
+#define CALL_compiling_methods___CFunctionContext___varname(recv) ((compiling_methods___CFunctionContext___varname_t)CALL((recv), (SFT_compiling_methods[5] + 4)))
+#define CALL_compiling_methods___CFunctionContext___get_var(recv) ((compiling_methods___CFunctionContext___get_var_t)CALL((recv), (SFT_compiling_methods[5] + 5)))
+#define CALL_compiling_methods___CFunctionContext___register_variable(recv) ((compiling_methods___CFunctionContext___register_variable_t)CALL((recv), (SFT_compiling_methods[5] + 6)))
+#define CALL_compiling_methods___CFunctionContext___register_closurevariable(recv) ((compiling_methods___CFunctionContext___register_closurevariable_t)CALL((recv), (SFT_compiling_methods[5] + 7)))
+#define CALL_compiling_methods___CFunctionContext___variable(recv) ((compiling_methods___CFunctionContext___variable_t)CALL((recv), (SFT_compiling_methods[5] + 8)))
+#define CALL_compiling_methods___CFunctionContext___closure_variable(recv) ((compiling_methods___CFunctionContext___closure_variable_t)CALL((recv), (SFT_compiling_methods[5] + 9)))
+#define CALL_compiling_methods___CFunctionContext___is_valid_variable(recv) ((compiling_methods___CFunctionContext___is_valid_variable_t)CALL((recv), (SFT_compiling_methods[5] + 10)))
+#define CALL_compiling_methods___CFunctionContext___free_var(recv) ((compiling_methods___CFunctionContext___free_var_t)CALL((recv), (SFT_compiling_methods[5] + 11)))
+#define CALL_compiling_methods___CFunctionContext___generate_var_decls(recv) ((compiling_methods___CFunctionContext___generate_var_decls_t)CALL((recv), (SFT_compiling_methods[5] + 12)))
+#define CALL_compiling_methods___CFunctionContext___init(recv) ((compiling_methods___CFunctionContext___init_t)CALL((recv), (SFT_compiling_methods[5] + 13)))
+#define ID_NitMethodContext (SFT_compiling_methods[6])
+#define COLOR_NitMethodContext (SFT_compiling_methods[7])
+#define ATTR_compiling_methods___NitMethodContext____method(recv) ATTR(recv, (SFT_compiling_methods[8] + 0))
+#define ATTR_compiling_methods___NitMethodContext____method_params(recv) ATTR(recv, (SFT_compiling_methods[8] + 1))
+#define ATTR_compiling_methods___NitMethodContext____return_label(recv) ATTR(recv, (SFT_compiling_methods[8] + 2))
+#define ATTR_compiling_methods___NitMethodContext____break_label(recv) ATTR(recv, (SFT_compiling_methods[8] + 3))
+#define ATTR_compiling_methods___NitMethodContext____continue_label(recv) ATTR(recv, (SFT_compiling_methods[8] + 4))
+#define ATTR_compiling_methods___NitMethodContext____return_value(recv) ATTR(recv, (SFT_compiling_methods[8] + 5))
+#define ATTR_compiling_methods___NitMethodContext____break_value(recv) ATTR(recv, (SFT_compiling_methods[8] + 6))
+#define ATTR_compiling_methods___NitMethodContext____continue_value(recv) ATTR(recv, (SFT_compiling_methods[8] + 7))
+#define INIT_TABLE_POS_NitMethodContext (SFT_compiling_methods[9] + 0)
+#define CALL_compiling_methods___NitMethodContext___method(recv) ((compiling_methods___NitMethodContext___method_t)CALL((recv), (SFT_compiling_methods[9] + 1)))
+#define CALL_compiling_methods___NitMethodContext___method_params(recv) ((compiling_methods___NitMethodContext___method_params_t)CALL((recv), (SFT_compiling_methods[9] + 2)))
+#define CALL_compiling_methods___NitMethodContext___method_params__eq(recv) ((compiling_methods___NitMethodContext___method_params__eq_t)CALL((recv), (SFT_compiling_methods[9] + 3)))
+#define CALL_compiling_methods___NitMethodContext___return_label(recv) ((compiling_methods___NitMethodContext___return_label_t)CALL((recv), (SFT_compiling_methods[9] + 4)))
+#define CALL_compiling_methods___NitMethodContext___return_label__eq(recv) ((compiling_methods___NitMethodContext___return_label__eq_t)CALL((recv), (SFT_compiling_methods[9] + 5)))
+#define CALL_compiling_methods___NitMethodContext___break_label(recv) ((compiling_methods___NitMethodContext___break_label_t)CALL((recv), (SFT_compiling_methods[9] + 6)))
+#define CALL_compiling_methods___NitMethodContext___break_label__eq(recv) ((compiling_methods___NitMethodContext___break_label__eq_t)CALL((recv), (SFT_compiling_methods[9] + 7)))
+#define CALL_compiling_methods___NitMethodContext___continue_label(recv) ((compiling_methods___NitMethodContext___continue_label_t)CALL((recv), (SFT_compiling_methods[9] + 8)))
+#define CALL_compiling_methods___NitMethodContext___continue_label__eq(recv) ((compiling_methods___NitMethodContext___continue_label__eq_t)CALL((recv), (SFT_compiling_methods[9] + 9)))
+#define CALL_compiling_methods___NitMethodContext___return_value(recv) ((compiling_methods___NitMethodContext___return_value_t)CALL((recv), (SFT_compiling_methods[9] + 10)))
+#define CALL_compiling_methods___NitMethodContext___return_value__eq(recv) ((compiling_methods___NitMethodContext___return_value__eq_t)CALL((recv), (SFT_compiling_methods[9] + 11)))
+#define CALL_compiling_methods___NitMethodContext___break_value(recv) ((compiling_methods___NitMethodContext___break_value_t)CALL((recv), (SFT_compiling_methods[9] + 12)))
+#define CALL_compiling_methods___NitMethodContext___break_value__eq(recv) ((compiling_methods___NitMethodContext___break_value__eq_t)CALL((recv), (SFT_compiling_methods[9] + 13)))
+#define CALL_compiling_methods___NitMethodContext___continue_value(recv) ((compiling_methods___NitMethodContext___continue_value_t)CALL((recv), (SFT_compiling_methods[9] + 14)))
+#define CALL_compiling_methods___NitMethodContext___continue_value__eq(recv) ((compiling_methods___NitMethodContext___continue_value__eq_t)CALL((recv), (SFT_compiling_methods[9] + 15)))
+#define CALL_compiling_methods___NitMethodContext___init(recv) ((compiling_methods___NitMethodContext___init_t)CALL((recv), (SFT_compiling_methods[9] + 16)))
+#define ATTR_compiling_methods___ClosureVariable____ctypename(recv) ATTR(recv, (SFT_compiling_methods[10] + 0))
+#define CALL_compiling_methods___ClosureVariable___ctypename(recv) ((compiling_methods___ClosureVariable___ctypename_t)CALL((recv), (SFT_compiling_methods[11] + 0)))
+#define CALL_compiling_methods___ClosureVariable___ctypename__eq(recv) ((compiling_methods___ClosureVariable___ctypename__eq_t)CALL((recv), (SFT_compiling_methods[11] + 1)))
+#define CALL_compiling_methods___MMMethod___compile_expr_call(recv) ((compiling_methods___MMMethod___compile_expr_call_t)CALL((recv), (SFT_compiling_methods[12] + 0)))
+#define CALL_compiling_methods___MMMethod___compile_stmt_call(recv) ((compiling_methods___MMMethod___compile_stmt_call_t)CALL((recv), (SFT_compiling_methods[12] + 1)))
+#define CALL_compiling_methods___MMMethod___intern_compile_call(recv) ((compiling_methods___MMMethod___intern_compile_call_t)CALL((recv), (SFT_compiling_methods[12] + 2)))
+#define CALL_compiling_methods___MMMethod___compile_call_and_closures(recv) ((compiling_methods___MMMethod___compile_call_and_closures_t)CALL((recv), (SFT_compiling_methods[12] + 3)))
+#define CALL_compiling_methods___MMMethod___compile_constructor_call(recv) ((compiling_methods___MMMethod___compile_constructor_call_t)CALL((recv), (SFT_compiling_methods[12] + 4)))
+#define CALL_compiling_methods___MMMethod___compile_super_call(recv) ((compiling_methods___MMMethod___compile_super_call_t)CALL((recv), (SFT_compiling_methods[12] + 5)))
+#define CALL_compiling_methods___MMMethod___closure_cname(recv) ((compiling_methods___MMMethod___closure_cname_t)CALL((recv), (SFT_compiling_methods[12] + 6)))
+#define CALL_compiling_methods___MMAttribute___compile_isset(recv) ((compiling_methods___MMAttribute___compile_isset_t)CALL((recv), (SFT_compiling_methods[13] + 0)))
+#define CALL_compiling_methods___MMAttribute___compile_read_access(recv) ((compiling_methods___MMAttribute___compile_read_access_t)CALL((recv), (SFT_compiling_methods[13] + 1)))
+#define CALL_compiling_methods___MMAttribute___compile_write_access(recv) ((compiling_methods___MMAttribute___compile_write_access_t)CALL((recv), (SFT_compiling_methods[13] + 2)))
+#define CALL_compiling_methods___MMLocalProperty___compile_property_to_c(recv) ((compiling_methods___MMLocalProperty___compile_property_to_c_t)CALL((recv), (SFT_compiling_methods[14] + 0)))
+#define CALL_compiling_methods___MMSrcMethod___decl_csignature(recv) ((compiling_methods___MMSrcMethod___decl_csignature_t)CALL((recv), (SFT_compiling_methods[15] + 0)))
+#define CALL_compiling_methods___MMSrcMethod___do_compile_inside(recv) ((compiling_methods___MMSrcMethod___do_compile_inside_t)CALL((recv), (SFT_compiling_methods[15] + 1)))
+#define CALL_compiling_methods___MMType___compile_cast(recv) ((compiling_methods___MMType___compile_cast_t)CALL((recv), (SFT_compiling_methods[16] + 0)))
+#define CALL_compiling_methods___MMType___compile_type_check(recv) ((compiling_methods___MMType___compile_type_check_t)CALL((recv), (SFT_compiling_methods[16] + 1)))
+#define CALL_compiling_methods___MMType___compile_notnull_check(recv) ((compiling_methods___MMType___compile_notnull_check_t)CALL((recv), (SFT_compiling_methods[16] + 2)))
+#define CALL_compiling_methods___AMethPropdef___do_compile_inside(recv) ((compiling_methods___AMethPropdef___do_compile_inside_t)CALL((recv), (SFT_compiling_methods[17] + 0)))
+#define CALL_compiling_methods___PSignature___compile_parameters(recv) ((compiling_methods___PSignature___compile_parameters_t)CALL((recv), (SFT_compiling_methods[18] + 0)))
+#define CALL_compiling_methods___PExpr___compile_expr(recv) ((compiling_methods___PExpr___compile_expr_t)CALL((recv), (SFT_compiling_methods[19] + 0)))
+#define CALL_compiling_methods___PExpr___prepare_compile_stmt(recv) ((compiling_methods___PExpr___prepare_compile_stmt_t)CALL((recv), (SFT_compiling_methods[19] + 1)))
+#define CALL_compiling_methods___PExpr___compile_stmt(recv) ((compiling_methods___PExpr___compile_stmt_t)CALL((recv), (SFT_compiling_methods[19] + 2)))
+#define ID_AControlableBlock (SFT_compiling_methods[20])
+#define COLOR_AControlableBlock (SFT_compiling_methods[21])
+#define INIT_TABLE_POS_AControlableBlock (SFT_compiling_methods[22] + 0)
+#define CALL_compiling_methods___AControlableBlock___compile_inside_block(recv) ((compiling_methods___AControlableBlock___compile_inside_block_t)CALL((recv), (SFT_compiling_methods[22] + 1)))
+#define ATTR_compiling_methods___AStringFormExpr____cstring(recv) ATTR(recv, (SFT_compiling_methods[23] + 0))
+#define ATTR_compiling_methods___AStringFormExpr____cstring_length(recv) ATTR(recv, (SFT_compiling_methods[23] + 1))
+#define CALL_compiling_methods___AStringFormExpr___string_text(recv) ((compiling_methods___AStringFormExpr___string_text_t)CALL((recv), (SFT_compiling_methods[24] + 0)))
+#define CALL_compiling_methods___AStringFormExpr___compute_string_info(recv) ((compiling_methods___AStringFormExpr___compute_string_info_t)CALL((recv), (SFT_compiling_methods[24] + 1)))
+#define CALL_compiling_methods___ASuperExpr___intern_compile_call(recv) ((compiling_methods___ASuperExpr___intern_compile_call_t)CALL((recv), (SFT_compiling_methods[25] + 0)))
+#define CALL_compiling_methods___AAbsAbsSendExpr___compile_arguments_in(recv) ((compiling_methods___AAbsAbsSendExpr___compile_arguments_in_t)CALL((recv), (SFT_compiling_methods[26] + 0)))
+#define CALL_compiling_methods___ASendExpr___intern_compile_call(recv) ((compiling_methods___ASendExpr___intern_compile_call_t)CALL((recv), (SFT_compiling_methods[27] + 0)))
+#define CALL_compiling_methods___PClosureDef___compile_closure(recv) ((compiling_methods___PClosureDef___compile_closure_t)CALL((recv), (SFT_compiling_methods[28] + 0)))
+#define CALL_compiling_methods___PClosureDef___do_compile_inside(recv) ((compiling_methods___PClosureDef___do_compile_inside_t)CALL((recv), (SFT_compiling_methods[28] + 1)))
+#define ATTR_compiling_methods___AClosureDef____cname(recv) ATTR(recv, (SFT_compiling_methods[29] + 0))
+#define CALL_compiling_methods___AClosureDef___cname(recv) ((compiling_methods___AClosureDef___cname_t)CALL((recv), (SFT_compiling_methods[30] + 0)))
+#define CALL_compiling_methods___AClosureDef___decl_csignature(recv) ((compiling_methods___AClosureDef___decl_csignature_t)CALL((recv), (SFT_compiling_methods[30] + 1)))
+#define CALL_compiling_methods___PClosureDecl___do_compile_inside(recv) ((compiling_methods___PClosureDecl___do_compile_inside_t)CALL((recv), (SFT_compiling_methods[31] + 0)))
+#define CALL_compiling_methods___AClosureCallExpr___intern_compile_call(recv) ((compiling_methods___AClosureCallExpr___intern_compile_call_t)CALL((recv), (SFT_compiling_methods[32] + 0)))
+val_t NEW_CompilerVisitor_compiling_base___CompilerVisitor___init(val_t p0, val_t p1);
 typedef void (* compiling_methods___CompilerVisitor___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___CompilerVisitor___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___CompilerVisitor___compile_stmt "compiling_methods::CompilerVisitor::compile_stmt"
 typedef val_t (* compiling_methods___CompilerVisitor___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___CompilerVisitor___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___CompilerVisitor___compile_expr "compiling_methods::CompilerVisitor::compile_expr"
-typedef val_t (* compiling_methods___CompilerVisitor___ensure_var_t)(val_t  self, val_t  param0);
-val_t compiling_methods___CompilerVisitor___ensure_var(val_t  self, val_t  param0);
+typedef val_t (* compiling_methods___CompilerVisitor___ensure_var_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___CompilerVisitor___ensure_var(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___CompilerVisitor___ensure_var "compiling_methods::CompilerVisitor::ensure_var"
 typedef void (* compiling_methods___CompilerVisitor___add_assignment_t)(val_t  self, val_t  param0, val_t  param1);
 void compiling_methods___CompilerVisitor___add_assignment(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___CompilerVisitor___add_assignment "compiling_methods::CompilerVisitor::add_assignment"
-typedef val_t (* compiling_methods___CompilerVisitor___variable_t)(val_t  self, val_t  param0);
-val_t compiling_methods___CompilerVisitor___variable(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___CompilerVisitor___variable "compiling_methods::CompilerVisitor::variable"
-#define ATTR_compiling_methods___CompilerVisitor____variable_index(recv) ATTR(recv, COLOR_compiling_methods___CompilerVisitor____variable_index)
-#define ATTR_compiling_methods___CompilerVisitor____variable_index_max(recv) ATTR(recv, COLOR_compiling_methods___CompilerVisitor____variable_index_max)
-typedef val_t (* compiling_methods___CompilerVisitor___get_var_t)(val_t  self);
-val_t compiling_methods___CompilerVisitor___get_var(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___get_var "compiling_methods::CompilerVisitor::get_var"
-typedef void (* compiling_methods___CompilerVisitor___free_var_t)(val_t  self, val_t  param0);
-void compiling_methods___CompilerVisitor___free_var(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___CompilerVisitor___free_var "compiling_methods::CompilerVisitor::free_var"
-typedef void (* compiling_methods___CompilerVisitor___clear_t)(val_t  self);
-void compiling_methods___CompilerVisitor___clear(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___clear "compiling_methods::CompilerVisitor::clear"
-#define ATTR_compiling_methods___CompilerVisitor____varnames(recv) ATTR(recv, COLOR_compiling_methods___CompilerVisitor____varnames)
-typedef val_t (* compiling_methods___CompilerVisitor___varnames_t)(val_t  self);
-val_t compiling_methods___CompilerVisitor___varnames(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___varnames "compiling_methods::CompilerVisitor::varnames"
-#define ATTR_compiling_methods___CompilerVisitor____has_return(recv) ATTR(recv, COLOR_compiling_methods___CompilerVisitor____has_return)
-typedef val_t (* compiling_methods___CompilerVisitor___has_return_t)(val_t  self);
-val_t compiling_methods___CompilerVisitor___has_return(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___has_return "compiling_methods::CompilerVisitor::has_return"
-typedef void (* compiling_methods___CompilerVisitor___has_return__eq_t)(val_t  self, val_t  param0);
-void compiling_methods___CompilerVisitor___has_return__eq(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___CompilerVisitor___has_return__eq "compiling_methods::CompilerVisitor::has_return="
-#define ATTR_compiling_methods___CompilerVisitor____method_params(recv) ATTR(recv, COLOR_compiling_methods___CompilerVisitor____method_params)
-typedef val_t (* compiling_methods___CompilerVisitor___method_params_t)(val_t  self);
-val_t compiling_methods___CompilerVisitor___method_params(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___method_params "compiling_methods::CompilerVisitor::method_params"
-typedef void (* compiling_methods___CompilerVisitor___method_params__eq_t)(val_t  self, val_t  param0);
-void compiling_methods___CompilerVisitor___method_params__eq(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___CompilerVisitor___method_params__eq "compiling_methods::CompilerVisitor::method_params="
-#define ATTR_compiling_methods___CompilerVisitor____method(recv) ATTR(recv, COLOR_compiling_methods___CompilerVisitor____method)
-typedef val_t (* compiling_methods___CompilerVisitor___method_t)(val_t  self);
-val_t compiling_methods___CompilerVisitor___method(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___method "compiling_methods::CompilerVisitor::method"
-typedef void (* compiling_methods___CompilerVisitor___method__eq_t)(val_t  self, val_t  param0);
-void compiling_methods___CompilerVisitor___method__eq(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___CompilerVisitor___method__eq "compiling_methods::CompilerVisitor::method="
-#define ATTR_compiling_methods___CompilerVisitor____return_label(recv) ATTR(recv, COLOR_compiling_methods___CompilerVisitor____return_label)
-typedef val_t (* compiling_methods___CompilerVisitor___return_label_t)(val_t  self);
-val_t compiling_methods___CompilerVisitor___return_label(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___return_label "compiling_methods::CompilerVisitor::return_label"
-typedef void (* compiling_methods___CompilerVisitor___return_label__eq_t)(val_t  self, val_t  param0);
-void compiling_methods___CompilerVisitor___return_label__eq(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___CompilerVisitor___return_label__eq "compiling_methods::CompilerVisitor::return_label="
-#define ATTR_compiling_methods___CompilerVisitor____break_label(recv) ATTR(recv, COLOR_compiling_methods___CompilerVisitor____break_label)
-typedef val_t (* compiling_methods___CompilerVisitor___break_label_t)(val_t  self);
-val_t compiling_methods___CompilerVisitor___break_label(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___break_label "compiling_methods::CompilerVisitor::break_label"
-typedef void (* compiling_methods___CompilerVisitor___break_label__eq_t)(val_t  self, val_t  param0);
-void compiling_methods___CompilerVisitor___break_label__eq(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___CompilerVisitor___break_label__eq "compiling_methods::CompilerVisitor::break_label="
-#define ATTR_compiling_methods___CompilerVisitor____continue_label(recv) ATTR(recv, COLOR_compiling_methods___CompilerVisitor____continue_label)
-typedef val_t (* compiling_methods___CompilerVisitor___continue_label_t)(val_t  self);
-val_t compiling_methods___CompilerVisitor___continue_label(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___continue_label "compiling_methods::CompilerVisitor::continue_label"
-typedef void (* compiling_methods___CompilerVisitor___continue_label__eq_t)(val_t  self, val_t  param0);
-void compiling_methods___CompilerVisitor___continue_label__eq(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___CompilerVisitor___continue_label__eq "compiling_methods::CompilerVisitor::continue_label="
-#define ATTR_compiling_methods___CompilerVisitor____return_value(recv) ATTR(recv, COLOR_compiling_methods___CompilerVisitor____return_value)
-typedef val_t (* compiling_methods___CompilerVisitor___return_value_t)(val_t  self);
-val_t compiling_methods___CompilerVisitor___return_value(val_t  self);
-#define LOCATE_compiling_methods___CompilerVisitor___return_value "compiling_methods::CompilerVisitor::return_value"
-typedef void (* compiling_methods___CompilerVisitor___return_value__eq_t)(val_t  self, val_t  param0);
-void compiling_methods___CompilerVisitor___return_value__eq(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___CompilerVisitor___return_value__eq "compiling_methods::CompilerVisitor::return_value="
+typedef val_t (* compiling_methods___CompilerVisitor___cfc_t)(val_t  self);
+val_t compiling_methods___CompilerVisitor___cfc(val_t  self);
+#define LOCATE_compiling_methods___CompilerVisitor___cfc "compiling_methods::CompilerVisitor::cfc"
+typedef void (* compiling_methods___CompilerVisitor___cfc__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___CompilerVisitor___cfc__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CompilerVisitor___cfc__eq "compiling_methods::CompilerVisitor::cfc="
+typedef val_t (* compiling_methods___CompilerVisitor___nmc_t)(val_t  self);
+val_t compiling_methods___CompilerVisitor___nmc(val_t  self);
+#define LOCATE_compiling_methods___CompilerVisitor___nmc "compiling_methods::CompilerVisitor::nmc"
+typedef void (* compiling_methods___CompilerVisitor___nmc__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___CompilerVisitor___nmc__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CompilerVisitor___nmc__eq "compiling_methods::CompilerVisitor::nmc="
+typedef val_t (* compiling_methods___CompilerVisitor___out_contexts_t)(val_t  self);
+val_t compiling_methods___CompilerVisitor___out_contexts(val_t  self);
+#define LOCATE_compiling_methods___CompilerVisitor___out_contexts "compiling_methods::CompilerVisitor::out_contexts"
+typedef void (* compiling_methods___CompilerVisitor___out_contexts__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___CompilerVisitor___out_contexts__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CompilerVisitor___out_contexts__eq "compiling_methods::CompilerVisitor::out_contexts="
 typedef val_t (* compiling_methods___CompilerVisitor___printf_locate_error_t)(val_t  self, val_t  param0);
 val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___CompilerVisitor___printf_locate_error "compiling_methods::CompilerVisitor::printf_locate_error"
-typedef void (* compiling_methods___CompilerVisitor___init_t)(val_t  self, val_t  param0, int* init_table);
-void compiling_methods___CompilerVisitor___init(val_t  self, val_t  param0, int* init_table);
-val_t NEW_compiling_methods___CompilerVisitor___init(val_t  param0);
-#define LOCATE_compiling_methods___CompilerVisitor___init "compiling_methods::CompilerVisitor::(compiling_base::CompilerVisitor::init)"
 typedef void (* compiling_methods___CompilerVisitor___invoke_super_init_calls_after_t)(val_t  self, val_t  param0);
 void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after "compiling_methods::CompilerVisitor::invoke_super_init_calls_after"
-typedef val_t (* compiling_methods___MMMethod___compile_call_t)(val_t  self, val_t  param0, val_t  param1);
-val_t compiling_methods___MMMethod___compile_call(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_compiling_methods___MMMethod___compile_call "compiling_methods::MMMethod::compile_call"
-typedef val_t (* compiling_methods___MMMethod___compile_constructor_call_t)(val_t  self, val_t  param0, val_t  param1);
-val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t  param0, val_t  param1);
+typedef val_t (* compiling_methods___CFunctionContext___visitor_t)(val_t  self);
+val_t compiling_methods___CFunctionContext___visitor(val_t  self);
+#define LOCATE_compiling_methods___CFunctionContext___visitor "compiling_methods::CFunctionContext::visitor"
+typedef val_t (* compiling_methods___CFunctionContext___closure_t)(val_t  self);
+val_t compiling_methods___CFunctionContext___closure(val_t  self);
+#define LOCATE_compiling_methods___CFunctionContext___closure "compiling_methods::CFunctionContext::closure"
+typedef void (* compiling_methods___CFunctionContext___closure__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___CFunctionContext___closure__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CFunctionContext___closure__eq "compiling_methods::CFunctionContext::closure="
+typedef val_t (* compiling_methods___CFunctionContext___varname_t)(val_t  self, val_t  param0);
+val_t compiling_methods___CFunctionContext___varname(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CFunctionContext___varname "compiling_methods::CFunctionContext::varname"
+typedef val_t (* compiling_methods___CFunctionContext___get_var_t)(val_t  self, val_t  param0);
+val_t compiling_methods___CFunctionContext___get_var(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CFunctionContext___get_var "compiling_methods::CFunctionContext::get_var"
+typedef val_t (* compiling_methods___CFunctionContext___register_variable_t)(val_t  self, val_t  param0);
+val_t compiling_methods___CFunctionContext___register_variable(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CFunctionContext___register_variable "compiling_methods::CFunctionContext::register_variable"
+typedef val_t (* compiling_methods___CFunctionContext___register_closurevariable_t)(val_t  self, val_t  param0);
+val_t compiling_methods___CFunctionContext___register_closurevariable(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CFunctionContext___register_closurevariable "compiling_methods::CFunctionContext::register_closurevariable"
+typedef val_t (* compiling_methods___CFunctionContext___variable_t)(val_t  self, val_t  param0);
+val_t compiling_methods___CFunctionContext___variable(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CFunctionContext___variable "compiling_methods::CFunctionContext::variable"
+typedef val_t (* compiling_methods___CFunctionContext___closure_variable_t)(val_t  self, val_t  param0);
+val_t compiling_methods___CFunctionContext___closure_variable(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CFunctionContext___closure_variable "compiling_methods::CFunctionContext::closure_variable"
+typedef val_t (* compiling_methods___CFunctionContext___is_valid_variable_t)(val_t  self, val_t  param0);
+val_t compiling_methods___CFunctionContext___is_valid_variable(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CFunctionContext___is_valid_variable "compiling_methods::CFunctionContext::is_valid_variable"
+typedef void (* compiling_methods___CFunctionContext___free_var_t)(val_t  self, val_t  param0);
+void compiling_methods___CFunctionContext___free_var(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___CFunctionContext___free_var "compiling_methods::CFunctionContext::free_var"
+typedef void (* compiling_methods___CFunctionContext___generate_var_decls_t)(val_t  self);
+void compiling_methods___CFunctionContext___generate_var_decls(val_t  self);
+#define LOCATE_compiling_methods___CFunctionContext___generate_var_decls "compiling_methods::CFunctionContext::generate_var_decls"
+typedef void (* compiling_methods___CFunctionContext___init_t)(val_t  self, val_t  param0, int* init_table);
+void compiling_methods___CFunctionContext___init(val_t  self, val_t  param0, int* init_table);
+#define LOCATE_compiling_methods___CFunctionContext___init "compiling_methods::CFunctionContext::init"
+val_t NEW_CFunctionContext_compiling_methods___CFunctionContext___init(val_t p0);
+typedef val_t (* compiling_methods___NitMethodContext___method_t)(val_t  self);
+val_t compiling_methods___NitMethodContext___method(val_t  self);
+#define LOCATE_compiling_methods___NitMethodContext___method "compiling_methods::NitMethodContext::method"
+typedef val_t (* compiling_methods___NitMethodContext___method_params_t)(val_t  self);
+val_t compiling_methods___NitMethodContext___method_params(val_t  self);
+#define LOCATE_compiling_methods___NitMethodContext___method_params "compiling_methods::NitMethodContext::method_params"
+typedef void (* compiling_methods___NitMethodContext___method_params__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___NitMethodContext___method_params__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___NitMethodContext___method_params__eq "compiling_methods::NitMethodContext::method_params="
+typedef val_t (* compiling_methods___NitMethodContext___return_label_t)(val_t  self);
+val_t compiling_methods___NitMethodContext___return_label(val_t  self);
+#define LOCATE_compiling_methods___NitMethodContext___return_label "compiling_methods::NitMethodContext::return_label"
+typedef void (* compiling_methods___NitMethodContext___return_label__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___NitMethodContext___return_label__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___NitMethodContext___return_label__eq "compiling_methods::NitMethodContext::return_label="
+typedef val_t (* compiling_methods___NitMethodContext___break_label_t)(val_t  self);
+val_t compiling_methods___NitMethodContext___break_label(val_t  self);
+#define LOCATE_compiling_methods___NitMethodContext___break_label "compiling_methods::NitMethodContext::break_label"
+typedef void (* compiling_methods___NitMethodContext___break_label__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___NitMethodContext___break_label__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___NitMethodContext___break_label__eq "compiling_methods::NitMethodContext::break_label="
+typedef val_t (* compiling_methods___NitMethodContext___continue_label_t)(val_t  self);
+val_t compiling_methods___NitMethodContext___continue_label(val_t  self);
+#define LOCATE_compiling_methods___NitMethodContext___continue_label "compiling_methods::NitMethodContext::continue_label"
+typedef void (* compiling_methods___NitMethodContext___continue_label__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___NitMethodContext___continue_label__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___NitMethodContext___continue_label__eq "compiling_methods::NitMethodContext::continue_label="
+typedef val_t (* compiling_methods___NitMethodContext___return_value_t)(val_t  self);
+val_t compiling_methods___NitMethodContext___return_value(val_t  self);
+#define LOCATE_compiling_methods___NitMethodContext___return_value "compiling_methods::NitMethodContext::return_value"
+typedef void (* compiling_methods___NitMethodContext___return_value__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___NitMethodContext___return_value__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___NitMethodContext___return_value__eq "compiling_methods::NitMethodContext::return_value="
+typedef val_t (* compiling_methods___NitMethodContext___break_value_t)(val_t  self);
+val_t compiling_methods___NitMethodContext___break_value(val_t  self);
+#define LOCATE_compiling_methods___NitMethodContext___break_value "compiling_methods::NitMethodContext::break_value"
+typedef void (* compiling_methods___NitMethodContext___break_value__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___NitMethodContext___break_value__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___NitMethodContext___break_value__eq "compiling_methods::NitMethodContext::break_value="
+typedef val_t (* compiling_methods___NitMethodContext___continue_value_t)(val_t  self);
+val_t compiling_methods___NitMethodContext___continue_value(val_t  self);
+#define LOCATE_compiling_methods___NitMethodContext___continue_value "compiling_methods::NitMethodContext::continue_value"
+typedef void (* compiling_methods___NitMethodContext___continue_value__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___NitMethodContext___continue_value__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___NitMethodContext___continue_value__eq "compiling_methods::NitMethodContext::continue_value="
+typedef void (* compiling_methods___NitMethodContext___init_t)(val_t  self, val_t  param0, int* init_table);
+void compiling_methods___NitMethodContext___init(val_t  self, val_t  param0, int* init_table);
+#define LOCATE_compiling_methods___NitMethodContext___init "compiling_methods::NitMethodContext::init"
+val_t NEW_NitMethodContext_compiling_methods___NitMethodContext___init(val_t p0);
+val_t NEW_ClosureVariable_syntax_base___ClosureVariable___init(val_t p0, val_t p1, val_t p2);
+typedef val_t (* compiling_methods___ClosureVariable___ctypename_t)(val_t  self);
+val_t compiling_methods___ClosureVariable___ctypename(val_t  self);
+#define LOCATE_compiling_methods___ClosureVariable___ctypename "compiling_methods::ClosureVariable::ctypename"
+typedef void (* compiling_methods___ClosureVariable___ctypename__eq_t)(val_t  self, val_t  param0);
+void compiling_methods___ClosureVariable___ctypename__eq(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___ClosureVariable___ctypename__eq "compiling_methods::ClosureVariable::ctypename="
+val_t NEW_MMMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+typedef val_t (* compiling_methods___MMMethod___compile_expr_call_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___MMMethod___compile_expr_call(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___MMMethod___compile_expr_call "compiling_methods::MMMethod::compile_expr_call"
+typedef void (* compiling_methods___MMMethod___compile_stmt_call_t)(val_t  self, val_t  param0, val_t  param1);
+void compiling_methods___MMMethod___compile_stmt_call(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___MMMethod___compile_stmt_call "compiling_methods::MMMethod::compile_stmt_call"
+typedef val_t (* compiling_methods___MMMethod___intern_compile_call_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___MMMethod___intern_compile_call(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___MMMethod___intern_compile_call "compiling_methods::MMMethod::intern_compile_call"
+typedef val_t (* compiling_methods___MMMethod___compile_call_and_closures_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+val_t compiling_methods___MMMethod___compile_call_and_closures(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_compiling_methods___MMMethod___compile_call_and_closures "compiling_methods::MMMethod::compile_call_and_closures"
+typedef val_t (* compiling_methods___MMMethod___compile_constructor_call_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+val_t compiling_methods___MMMethod___compile_constructor_call(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_compiling_methods___MMMethod___compile_constructor_call "compiling_methods::MMMethod::compile_constructor_call"
 typedef val_t (* compiling_methods___MMMethod___compile_super_call_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMMethod___compile_super_call(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMMethod___compile_super_call "compiling_methods::MMMethod::compile_super_call"
-typedef val_t (* compiling_methods___MMAttribute___compile_access_t)(val_t  self, val_t  param0, val_t  param1);
-val_t compiling_methods___MMAttribute___compile_access(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_compiling_methods___MMAttribute___compile_access "compiling_methods::MMAttribute::compile_access"
+typedef val_t (* compiling_methods___MMMethod___closure_cname_t)(val_t  self, val_t  param0);
+val_t compiling_methods___MMMethod___closure_cname(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___MMMethod___closure_cname "compiling_methods::MMMethod::closure_cname"
+val_t NEW_MMAttribute_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+typedef val_t (* compiling_methods___MMAttribute___compile_isset_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+val_t compiling_methods___MMAttribute___compile_isset(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_compiling_methods___MMAttribute___compile_isset "compiling_methods::MMAttribute::compile_isset"
+typedef val_t (* compiling_methods___MMAttribute___compile_read_access_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+val_t compiling_methods___MMAttribute___compile_read_access(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_compiling_methods___MMAttribute___compile_read_access "compiling_methods::MMAttribute::compile_read_access"
+typedef void (* compiling_methods___MMAttribute___compile_write_access_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+void compiling_methods___MMAttribute___compile_write_access(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+#define LOCATE_compiling_methods___MMAttribute___compile_write_access "compiling_methods::MMAttribute::compile_write_access"
+val_t NEW_MMLocalProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
 typedef void (* compiling_methods___MMLocalProperty___compile_property_to_c_t)(val_t  self, val_t  param0);
 void compiling_methods___MMLocalProperty___compile_property_to_c(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___MMLocalProperty___compile_property_to_c "compiling_methods::MMLocalProperty::compile_property_to_c"
-typedef val_t (* compiling_methods___MMSrcMethod___decl_csignature_t)(val_t  self, val_t  param0, val_t  param1);
-val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_compiling_methods___MMSrcMethod___decl_csignature "compiling_methods::MMSrcMethod::decl_csignature"
+val_t NEW_MMSrcMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
 typedef void (* compiling_methods___MMSrcMethod___compile_property_to_c_t)(val_t  self, val_t  param0);
 void compiling_methods___MMSrcMethod___compile_property_to_c(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c "compiling_methods::MMSrcMethod::(compiling_methods::MMLocalProperty::compile_property_to_c)"
+typedef val_t (* compiling_methods___MMSrcMethod___decl_csignature_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___MMSrcMethod___decl_csignature(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___MMSrcMethod___decl_csignature "compiling_methods::MMSrcMethod::decl_csignature"
 typedef val_t (* compiling_methods___MMSrcMethod___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMSrcMethod___do_compile_inside "compiling_methods::MMSrcMethod::do_compile_inside"
+val_t NEW_MMReadImplementationMethod_syntax_base___MMReadImplementationMethod___init(val_t p0, val_t p1, val_t p2);
 typedef val_t (* compiling_methods___MMReadImplementationMethod___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMReadImplementationMethod___do_compile_inside "compiling_methods::MMReadImplementationMethod::(compiling_methods::MMSrcMethod::do_compile_inside)"
+val_t NEW_MMWriteImplementationMethod_syntax_base___MMWriteImplementationMethod___init(val_t p0, val_t p1, val_t p2);
 typedef val_t (* compiling_methods___MMWriteImplementationMethod___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMWriteImplementationMethod___do_compile_inside "compiling_methods::MMWriteImplementationMethod::(compiling_methods::MMSrcMethod::do_compile_inside)"
+val_t NEW_MMMethSrcMethod_syntax_base___MMMethSrcMethod___init(val_t p0, val_t p1, val_t p2);
 typedef val_t (* compiling_methods___MMMethSrcMethod___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
 val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
 #define LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside "compiling_methods::MMMethSrcMethod::(compiling_methods::MMSrcMethod::do_compile_inside)"
-typedef val_t (* compiling_methods___MMType___compile_cast_t)(val_t  self, val_t  param0, val_t  param1);
-val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_t  param1);
+val_t NEW_MMImplicitInit_syntax_base___MMImplicitInit___init(val_t p0, val_t p1, val_t p2);
+typedef val_t (* compiling_methods___MMImplicitInit___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___MMImplicitInit___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___MMImplicitInit___do_compile_inside "compiling_methods::MMImplicitInit::(compiling_methods::MMSrcMethod::do_compile_inside)"
+val_t NEW_MMType_static_type___MMType___init();
+typedef val_t (* compiling_methods___MMType___compile_cast_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+val_t compiling_methods___MMType___compile_cast(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_compiling_methods___MMType___compile_cast "compiling_methods::MMType::compile_cast"
-typedef void (* compiling_methods___MMType___compile_type_check_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
-void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+typedef void (* compiling_methods___MMType___compile_type_check_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
+void compiling_methods___MMType___compile_type_check(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
 #define LOCATE_compiling_methods___MMType___compile_type_check "compiling_methods::MMType::compile_type_check"
+typedef void (* compiling_methods___MMType___compile_notnull_check_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+void compiling_methods___MMType___compile_notnull_check(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_compiling_methods___MMType___compile_notnull_check "compiling_methods::MMType::compile_notnull_check"
+val_t NEW_AMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef val_t (* compiling_methods___AMethPropdef___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 val_t compiling_methods___AMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_compiling_methods___AMethPropdef___do_compile_inside "compiling_methods::AMethPropdef::do_compile_inside"
+val_t NEW_PSignature_parser_nodes___PNode___init();
+typedef void (* compiling_methods___PSignature___compile_parameters_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+void compiling_methods___PSignature___compile_parameters(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_compiling_methods___PSignature___compile_parameters "compiling_methods::PSignature::compile_parameters"
+val_t NEW_ASignature_parser_nodes___PNode___init();
+val_t NEW_ASignature_parser_prod___ASignature___empty_init();
+val_t NEW_ASignature_parser_prod___ASignature___init_asignature(val_t p0, val_t p1, val_t p2);
+typedef void (* compiling_methods___ASignature___compile_parameters_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+void compiling_methods___ASignature___compile_parameters(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_compiling_methods___ASignature___compile_parameters "compiling_methods::ASignature::(compiling_methods::PSignature::compile_parameters)"
+val_t NEW_AConcreteMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___empty_init();
+val_t NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
 typedef val_t (* compiling_methods___AConcreteMethPropdef___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside "compiling_methods::AConcreteMethPropdef::(compiling_methods::AMethPropdef::do_compile_inside)"
+val_t NEW_ADeferredMethPropdef_parser_nodes___PNode___init();
+val_t NEW_ADeferredMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_ADeferredMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___empty_init();
+val_t NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
 typedef val_t (* compiling_methods___ADeferredMethPropdef___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_compiling_methods___ADeferredMethPropdef___do_compile_inside "compiling_methods::ADeferredMethPropdef::(compiling_methods::AMethPropdef::do_compile_inside)"
+val_t NEW_AExternMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AExternMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AExternMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___empty_init();
+val_t NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
 typedef val_t (* compiling_methods___AExternMethPropdef___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_compiling_methods___AExternMethPropdef___do_compile_inside "compiling_methods::AExternMethPropdef::(compiling_methods::AMethPropdef::do_compile_inside)"
+val_t NEW_AInternMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AInternMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AInternMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___empty_init();
+val_t NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
 typedef val_t (* compiling_methods___AInternMethPropdef___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t  self, val_t  param0, val_t  param1, val_t  param2);
 #define LOCATE_compiling_methods___AInternMethPropdef___do_compile_inside "compiling_methods::AInternMethPropdef::(compiling_methods::AMethPropdef::do_compile_inside)"
+val_t NEW_PExpr_parser_nodes___PNode___init();
 typedef val_t (* compiling_methods___PExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___PExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___PExpr___compile_expr "compiling_methods::PExpr::compile_expr"
@@ -212,173 +380,363 @@ void compiling_methods___PExpr___prepare_compile_stmt(val_t  self, val_t  param0
 typedef void (* compiling_methods___PExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___PExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___PExpr___compile_stmt "compiling_methods::PExpr::compile_stmt"
+val_t NEW_ABlockExpr_parser_nodes___PNode___init();
+val_t NEW_ABlockExpr_parser_prod___ABlockExpr___empty_init();
+val_t NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(val_t p0);
 typedef void (* compiling_methods___ABlockExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___ABlockExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ABlockExpr___compile_stmt "compiling_methods::ABlockExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AVardeclExpr_parser_nodes___PNode___init();
+val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___empty_init();
+val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef void (* compiling_methods___AVardeclExpr___prepare_compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AVardeclExpr___prepare_compile_stmt "compiling_methods::AVardeclExpr::(compiling_methods::PExpr::prepare_compile_stmt)"
 typedef void (* compiling_methods___AVardeclExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AVardeclExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AVardeclExpr___compile_stmt "compiling_methods::AVardeclExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AReturnExpr_parser_nodes___PNode___init();
+val_t NEW_AReturnExpr_parser_prod___AReturnExpr___empty_init();
+val_t NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(val_t p0, val_t p1);
 typedef void (* compiling_methods___AReturnExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AReturnExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AReturnExpr___compile_stmt "compiling_methods::AReturnExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_ABreakExpr_parser_nodes___PNode___init();
+val_t NEW_ABreakExpr_parser_prod___ABreakExpr___empty_init();
+val_t NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(val_t p0, val_t p1);
 typedef void (* compiling_methods___ABreakExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___ABreakExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ABreakExpr___compile_stmt "compiling_methods::ABreakExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AContinueExpr_parser_nodes___PNode___init();
+val_t NEW_AContinueExpr_parser_prod___AContinueExpr___empty_init();
+val_t NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(val_t p0, val_t p1);
 typedef void (* compiling_methods___AContinueExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AContinueExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AContinueExpr___compile_stmt "compiling_methods::AContinueExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AAbortExpr_parser_nodes___PNode___init();
+val_t NEW_AAbortExpr_parser_prod___AAbortExpr___empty_init();
+val_t NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr(val_t p0);
 typedef void (* compiling_methods___AAbortExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AAbortExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AAbortExpr___compile_stmt "compiling_methods::AAbortExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_ADoExpr_parser_nodes___PNode___init();
+val_t NEW_ADoExpr_parser_prod___ADoExpr___empty_init();
+val_t NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(val_t p0, val_t p1);
 typedef void (* compiling_methods___ADoExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___ADoExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ADoExpr___compile_stmt "compiling_methods::ADoExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AIfExpr_parser_nodes___PNode___init();
+val_t NEW_AIfExpr_parser_prod___AIfExpr___empty_init();
+val_t NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(val_t p0, val_t p1, val_t p2, val_t p3);
 typedef void (* compiling_methods___AIfExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AIfExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AIfExpr___compile_stmt "compiling_methods::AIfExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AIfexprExpr_parser_nodes___PNode___init();
+val_t NEW_AIfexprExpr_parser_prod___AIfexprExpr___empty_init();
+val_t NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
 typedef val_t (* compiling_methods___AIfexprExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AIfexprExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AIfexprExpr___compile_expr "compiling_methods::AIfexprExpr::(compiling_methods::PExpr::compile_expr)"
-typedef void (* compiling_methods___AControlableBlock___compile_inside_block_t)(val_t  self, val_t  param0);
-void compiling_methods___AControlableBlock___compile_inside_block(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___AControlableBlock___compile_inside_block "compiling_methods::AControlableBlock::compile_inside_block"
+val_t NEW_AControlableBlock_parser_nodes___PNode___init();
 typedef void (* compiling_methods___AControlableBlock___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AControlableBlock___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AControlableBlock___compile_stmt "compiling_methods::AControlableBlock::(compiling_methods::PExpr::compile_stmt)"
+typedef void (* compiling_methods___AControlableBlock___compile_inside_block_t)(val_t  self, val_t  param0);
+void compiling_methods___AControlableBlock___compile_inside_block(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___AControlableBlock___compile_inside_block "compiling_methods::AControlableBlock::compile_inside_block"
+val_t NEW_AWhileExpr_parser_nodes___PNode___init();
+val_t NEW_AWhileExpr_parser_prod___AWhileExpr___empty_init();
+val_t NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(val_t p0, val_t p1, val_t p2, val_t p3);
 typedef void (* compiling_methods___AWhileExpr___compile_inside_block_t)(val_t  self, val_t  param0);
 void compiling_methods___AWhileExpr___compile_inside_block(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AWhileExpr___compile_inside_block "compiling_methods::AWhileExpr::(compiling_methods::AControlableBlock::compile_inside_block)"
+val_t NEW_AForExpr_parser_nodes___PNode___init();
+val_t NEW_AForExpr_parser_prod___AForExpr___empty_init();
+val_t NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef void (* compiling_methods___AForExpr___compile_inside_block_t)(val_t  self, val_t  param0);
 void compiling_methods___AForExpr___compile_inside_block(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AForExpr___compile_inside_block "compiling_methods::AForExpr::(compiling_methods::AControlableBlock::compile_inside_block)"
-typedef void (* compiling_methods___AForVardeclExpr___compile_stmt_t)(val_t  self, val_t  param0);
-void compiling_methods___AForVardeclExpr___compile_stmt(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___AForVardeclExpr___compile_stmt "compiling_methods::AForVardeclExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AAssertExpr_parser_nodes___PNode___init();
+val_t NEW_AAssertExpr_parser_prod___AAssertExpr___empty_init();
+val_t NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(val_t p0, val_t p1, val_t p2);
 typedef void (* compiling_methods___AAssertExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AAssertExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AAssertExpr___compile_stmt "compiling_methods::AAssertExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AVarExpr_parser_nodes___PNode___init();
+val_t NEW_AVarExpr_parser_prod___AVarExpr___empty_init();
+val_t NEW_AVarExpr_parser_prod___AVarExpr___init_avarexpr(val_t p0);
 typedef val_t (* compiling_methods___AVarExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AVarExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AVarExpr___compile_expr "compiling_methods::AVarExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AVarAssignExpr_parser_nodes___PNode___init();
+val_t NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___empty_init();
+val_t NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___init_avarassignexpr(val_t p0, val_t p1, val_t p2);
 typedef void (* compiling_methods___AVarAssignExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AVarAssignExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AVarAssignExpr___compile_stmt "compiling_methods::AVarAssignExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AVarReassignExpr_parser_nodes___PNode___init();
+val_t NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___empty_init();
+val_t NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t p0, val_t p1, val_t p2);
 typedef void (* compiling_methods___AVarReassignExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AVarReassignExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AVarReassignExpr___compile_stmt "compiling_methods::AVarReassignExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_ASelfExpr_parser_nodes___PNode___init();
+val_t NEW_ASelfExpr_parser_prod___ASelfExpr___empty_init();
+val_t NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(val_t p0);
 typedef val_t (* compiling_methods___ASelfExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ASelfExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ASelfExpr___compile_expr "compiling_methods::ASelfExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AOrExpr_parser_nodes___PNode___init();
+val_t NEW_AOrExpr_parser_prod___AOrExpr___empty_init();
+val_t NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(val_t p0, val_t p1);
 typedef val_t (* compiling_methods___AOrExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AOrExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AOrExpr___compile_expr "compiling_methods::AOrExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AAndExpr_parser_nodes___PNode___init();
+val_t NEW_AAndExpr_parser_prod___AAndExpr___empty_init();
+val_t NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(val_t p0, val_t p1);
 typedef val_t (* compiling_methods___AAndExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AAndExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AAndExpr___compile_expr "compiling_methods::AAndExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_ANotExpr_parser_nodes___PNode___init();
+val_t NEW_ANotExpr_parser_prod___ANotExpr___empty_init();
+val_t NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(val_t p0, val_t p1);
 typedef val_t (* compiling_methods___ANotExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ANotExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ANotExpr___compile_expr "compiling_methods::ANotExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AEeExpr_parser_nodes___PNode___init();
+val_t NEW_AEeExpr_parser_prod___AEeExpr___empty_init();
+val_t NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(val_t p0, val_t p1);
 typedef val_t (* compiling_methods___AEeExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AEeExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AEeExpr___compile_expr "compiling_methods::AEeExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AIsaExpr_parser_nodes___PNode___init();
+val_t NEW_AIsaExpr_parser_prod___AIsaExpr___empty_init();
+val_t NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(val_t p0, val_t p1);
 typedef val_t (* compiling_methods___AIsaExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AIsaExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AIsaExpr___compile_expr "compiling_methods::AIsaExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AAsCastExpr_parser_nodes___PNode___init();
+val_t NEW_AAsCastExpr_parser_prod___AAsCastExpr___empty_init();
+val_t NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(val_t p0, val_t p1, val_t p2);
 typedef val_t (* compiling_methods___AAsCastExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AAsCastExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AAsCastExpr___compile_expr "compiling_methods::AAsCastExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AAsNotnullExpr_parser_nodes___PNode___init();
+val_t NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___empty_init();
+val_t NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+typedef val_t (* compiling_methods___AAsNotnullExpr___compile_expr_t)(val_t  self, val_t  param0);
+val_t compiling_methods___AAsNotnullExpr___compile_expr(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___AAsNotnullExpr___compile_expr "compiling_methods::AAsNotnullExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_ATrueExpr_parser_nodes___PNode___init();
+val_t NEW_ATrueExpr_parser_prod___ATrueExpr___empty_init();
+val_t NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(val_t p0);
 typedef val_t (* compiling_methods___ATrueExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ATrueExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ATrueExpr___compile_expr "compiling_methods::ATrueExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AFalseExpr_parser_nodes___PNode___init();
+val_t NEW_AFalseExpr_parser_prod___AFalseExpr___empty_init();
+val_t NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(val_t p0);
 typedef val_t (* compiling_methods___AFalseExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AFalseExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AFalseExpr___compile_expr "compiling_methods::AFalseExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AIntExpr_parser_nodes___PNode___init();
+val_t NEW_AIntExpr_parser_prod___AIntExpr___empty_init();
+val_t NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(val_t p0);
 typedef val_t (* compiling_methods___AIntExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AIntExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AIntExpr___compile_expr "compiling_methods::AIntExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AFloatExpr_parser_nodes___PNode___init();
+val_t NEW_AFloatExpr_parser_prod___AFloatExpr___empty_init();
+val_t NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(val_t p0);
 typedef val_t (* compiling_methods___AFloatExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AFloatExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AFloatExpr___compile_expr "compiling_methods::AFloatExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_ACharExpr_parser_nodes___PNode___init();
+val_t NEW_ACharExpr_parser_prod___ACharExpr___empty_init();
+val_t NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(val_t p0);
 typedef val_t (* compiling_methods___ACharExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ACharExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ACharExpr___compile_expr "compiling_methods::ACharExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AStringFormExpr_parser_nodes___PNode___init();
 typedef val_t (* compiling_methods___AStringFormExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AStringFormExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AStringFormExpr___compile_expr "compiling_methods::AStringFormExpr::(compiling_methods::PExpr::compile_expr)"
 typedef val_t (* compiling_methods___AStringFormExpr___string_text_t)(val_t  self);
 val_t compiling_methods___AStringFormExpr___string_text(val_t  self);
 #define LOCATE_compiling_methods___AStringFormExpr___string_text "compiling_methods::AStringFormExpr::string_text"
-#define ATTR_compiling_methods___AStringFormExpr____cstring(recv) ATTR(recv, COLOR_compiling_methods___AStringFormExpr____cstring)
-#define ATTR_compiling_methods___AStringFormExpr____cstring_length(recv) ATTR(recv, COLOR_compiling_methods___AStringFormExpr____cstring_length)
 typedef void (* compiling_methods___AStringFormExpr___compute_string_info_t)(val_t  self);
 void compiling_methods___AStringFormExpr___compute_string_info(val_t  self);
 #define LOCATE_compiling_methods___AStringFormExpr___compute_string_info "compiling_methods::AStringFormExpr::compute_string_info"
+val_t NEW_AStringExpr_parser_nodes___PNode___init();
+val_t NEW_AStringExpr_parser_prod___AStringExpr___empty_init();
+val_t NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(val_t p0);
 typedef val_t (* compiling_methods___AStringExpr___string_text_t)(val_t  self);
 val_t compiling_methods___AStringExpr___string_text(val_t  self);
 #define LOCATE_compiling_methods___AStringExpr___string_text "compiling_methods::AStringExpr::(compiling_methods::AStringFormExpr::string_text)"
+val_t NEW_AStartStringExpr_parser_nodes___PNode___init();
+val_t NEW_AStartStringExpr_parser_prod___AStartStringExpr___empty_init();
+val_t NEW_AStartStringExpr_parser_prod___AStartStringExpr___init_astartstringexpr(val_t p0);
 typedef val_t (* compiling_methods___AStartStringExpr___string_text_t)(val_t  self);
 val_t compiling_methods___AStartStringExpr___string_text(val_t  self);
 #define LOCATE_compiling_methods___AStartStringExpr___string_text "compiling_methods::AStartStringExpr::(compiling_methods::AStringFormExpr::string_text)"
+val_t NEW_AMidStringExpr_parser_nodes___PNode___init();
+val_t NEW_AMidStringExpr_parser_prod___AMidStringExpr___empty_init();
+val_t NEW_AMidStringExpr_parser_prod___AMidStringExpr___init_amidstringexpr(val_t p0);
 typedef val_t (* compiling_methods___AMidStringExpr___string_text_t)(val_t  self);
 val_t compiling_methods___AMidStringExpr___string_text(val_t  self);
 #define LOCATE_compiling_methods___AMidStringExpr___string_text "compiling_methods::AMidStringExpr::(compiling_methods::AStringFormExpr::string_text)"
+val_t NEW_AEndStringExpr_parser_nodes___PNode___init();
+val_t NEW_AEndStringExpr_parser_prod___AEndStringExpr___empty_init();
+val_t NEW_AEndStringExpr_parser_prod___AEndStringExpr___init_aendstringexpr(val_t p0);
 typedef val_t (* compiling_methods___AEndStringExpr___string_text_t)(val_t  self);
 val_t compiling_methods___AEndStringExpr___string_text(val_t  self);
 #define LOCATE_compiling_methods___AEndStringExpr___string_text "compiling_methods::AEndStringExpr::(compiling_methods::AStringFormExpr::string_text)"
+val_t NEW_ASuperstringExpr_parser_nodes___PNode___init();
+val_t NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___empty_init();
+val_t NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t p0);
 typedef val_t (* compiling_methods___ASuperstringExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ASuperstringExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ASuperstringExpr___compile_expr "compiling_methods::ASuperstringExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_ANullExpr_parser_nodes___PNode___init();
+val_t NEW_ANullExpr_parser_prod___ANullExpr___empty_init();
+val_t NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(val_t p0);
 typedef val_t (* compiling_methods___ANullExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ANullExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ANullExpr___compile_expr "compiling_methods::ANullExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AArrayExpr_parser_nodes___PNode___init();
+val_t NEW_AArrayExpr_parser_prod___AArrayExpr___empty_init();
+val_t NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr(val_t p0);
 typedef val_t (* compiling_methods___AArrayExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AArrayExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AArrayExpr___compile_expr "compiling_methods::AArrayExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_ARangeExpr_parser_nodes___PNode___init();
+val_t NEW_ARangeExpr_parser_prod___ARangeExpr___empty_init();
+val_t NEW_ARangeExpr_parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1);
 typedef val_t (* compiling_methods___ARangeExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ARangeExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ARangeExpr___compile_expr "compiling_methods::ARangeExpr::(compiling_methods::PExpr::compile_expr)"
-typedef val_t (* compiling_methods___ARangeExpr___propname_t)(val_t  self);
-val_t compiling_methods___ARangeExpr___propname(val_t  self);
-#define LOCATE_compiling_methods___ARangeExpr___propname "compiling_methods::ARangeExpr::propname"
-typedef val_t (* compiling_methods___ACrangeExpr___propname_t)(val_t  self);
-val_t compiling_methods___ACrangeExpr___propname(val_t  self);
-#define LOCATE_compiling_methods___ACrangeExpr___propname "compiling_methods::ACrangeExpr::(compiling_methods::ARangeExpr::propname)"
-typedef val_t (* compiling_methods___AOrangeExpr___propname_t)(val_t  self);
-val_t compiling_methods___AOrangeExpr___propname(val_t  self);
-#define LOCATE_compiling_methods___AOrangeExpr___propname "compiling_methods::AOrangeExpr::(compiling_methods::ARangeExpr::propname)"
-typedef void (* compiling_methods___ASuperExpr___compile_stmt_t)(val_t  self, val_t  param0);
-void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0);
-#define LOCATE_compiling_methods___ASuperExpr___compile_stmt "compiling_methods::ASuperExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_ASuperExpr_parser_nodes___PNode___init();
+val_t NEW_ASuperExpr_parser_prod___ASuperExpr___empty_init();
+val_t NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(val_t p0, val_t p1, val_t p2);
 typedef val_t (* compiling_methods___ASuperExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ASuperExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ASuperExpr___compile_expr "compiling_methods::ASuperExpr::(compiling_methods::PExpr::compile_expr)"
+typedef void (* compiling_methods___ASuperExpr___compile_stmt_t)(val_t  self, val_t  param0);
+void compiling_methods___ASuperExpr___compile_stmt(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___ASuperExpr___compile_stmt "compiling_methods::ASuperExpr::(compiling_methods::PExpr::compile_stmt)"
+typedef val_t (* compiling_methods___ASuperExpr___intern_compile_call_t)(val_t  self, val_t  param0);
+val_t compiling_methods___ASuperExpr___intern_compile_call(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___ASuperExpr___intern_compile_call "compiling_methods::ASuperExpr::intern_compile_call"
+val_t NEW_AAttrExpr_parser_nodes___PNode___init();
+val_t NEW_AAttrExpr_parser_prod___AAttrExpr___empty_init();
+val_t NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(val_t p0, val_t p1);
 typedef val_t (* compiling_methods___AAttrExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AAttrExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AAttrExpr___compile_expr "compiling_methods::AAttrExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AAttrAssignExpr_parser_nodes___PNode___init();
+val_t NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___empty_init();
+val_t NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
 typedef void (* compiling_methods___AAttrAssignExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AAttrAssignExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AAttrAssignExpr___compile_stmt "compiling_methods::AAttrAssignExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AAttrReassignExpr_parser_nodes___PNode___init();
+val_t NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___empty_init();
+val_t NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3);
 typedef void (* compiling_methods___AAttrReassignExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___AAttrReassignExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AAttrReassignExpr___compile_stmt "compiling_methods::AAttrReassignExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_AIssetAttrExpr_parser_nodes___PNode___init();
+val_t NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___empty_init();
+val_t NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(val_t p0, val_t p1, val_t p2);
+typedef val_t (* compiling_methods___AIssetAttrExpr___compile_expr_t)(val_t  self, val_t  param0);
+val_t compiling_methods___AIssetAttrExpr___compile_expr(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___AIssetAttrExpr___compile_expr "compiling_methods::AIssetAttrExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AAbsAbsSendExpr_parser_nodes___PNode___init();
+typedef void (* compiling_methods___AAbsAbsSendExpr___compile_arguments_in_t)(val_t  self, val_t  param0, val_t  param1);
+void compiling_methods___AAbsAbsSendExpr___compile_arguments_in(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___AAbsAbsSendExpr___compile_arguments_in "compiling_methods::AAbsAbsSendExpr::compile_arguments_in"
+val_t NEW_ASendExpr_parser_nodes___PNode___init();
+val_t NEW_ASendExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ASendExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 typedef val_t (* compiling_methods___ASendExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ASendExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ASendExpr___compile_expr "compiling_methods::ASendExpr::(compiling_methods::PExpr::compile_expr)"
 typedef void (* compiling_methods___ASendExpr___compile_stmt_t)(val_t  self, val_t  param0);
 void compiling_methods___ASendExpr___compile_stmt(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ASendExpr___compile_stmt "compiling_methods::ASendExpr::(compiling_methods::PExpr::compile_stmt)"
+typedef val_t (* compiling_methods___ASendExpr___intern_compile_call_t)(val_t  self, val_t  param0);
+val_t compiling_methods___ASendExpr___intern_compile_call(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___ASendExpr___intern_compile_call "compiling_methods::ASendExpr::intern_compile_call"
+val_t NEW_ASendReassignExpr_parser_nodes___PNode___init();
+val_t NEW_ASendReassignExpr_parser_prod___ASendExpr___empty_init();
+val_t NEW_ASendReassignExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
 typedef val_t (* compiling_methods___ASendReassignExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ASendReassignExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ASendReassignExpr___compile_expr "compiling_methods::ASendReassignExpr::(compiling_methods::PExpr::compile_expr)"
+typedef void (* compiling_methods___ASendReassignExpr___compile_stmt_t)(val_t  self, val_t  param0);
+void compiling_methods___ASendReassignExpr___compile_stmt(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___ASendReassignExpr___compile_stmt "compiling_methods::ASendReassignExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_ANewExpr_parser_nodes___PNode___init();
+val_t NEW_ANewExpr_parser_prod___ANewExpr___empty_init();
+val_t NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(val_t p0, val_t p1, val_t p2, val_t p3);
 typedef val_t (* compiling_methods___ANewExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___ANewExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___ANewExpr___compile_expr "compiling_methods::ANewExpr::(compiling_methods::PExpr::compile_expr)"
+typedef void (* compiling_methods___ANewExpr___compile_stmt_t)(val_t  self, val_t  param0);
+void compiling_methods___ANewExpr___compile_stmt(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___ANewExpr___compile_stmt "compiling_methods::ANewExpr::(compiling_methods::PExpr::compile_stmt)"
+val_t NEW_PClosureDef_parser_nodes___PNode___init();
+typedef val_t (* compiling_methods___PClosureDef___compile_closure_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___PClosureDef___compile_closure(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___PClosureDef___compile_closure "compiling_methods::PClosureDef::compile_closure"
+typedef val_t (* compiling_methods___PClosureDef___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___PClosureDef___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___PClosureDef___do_compile_inside "compiling_methods::PClosureDef::do_compile_inside"
+val_t NEW_AClosureDef_parser_nodes___PNode___init();
+val_t NEW_AClosureDef_parser_prod___AClosureDef___empty_init();
+val_t NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(val_t p0, val_t p1, val_t p2, val_t p3);
+typedef val_t (* compiling_methods___AClosureDef___compile_closure_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___AClosureDef___compile_closure(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___AClosureDef___compile_closure "compiling_methods::AClosureDef::(compiling_methods::PClosureDef::compile_closure)"
+typedef val_t (* compiling_methods___AClosureDef___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___AClosureDef___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___AClosureDef___do_compile_inside "compiling_methods::AClosureDef::(compiling_methods::PClosureDef::do_compile_inside)"
+typedef val_t (* compiling_methods___AClosureDef___cname_t)(val_t  self);
+val_t compiling_methods___AClosureDef___cname(val_t  self);
+#define LOCATE_compiling_methods___AClosureDef___cname "compiling_methods::AClosureDef::cname"
+typedef val_t (* compiling_methods___AClosureDef___decl_csignature_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+val_t compiling_methods___AClosureDef___decl_csignature(val_t  self, val_t  param0, val_t  param1, val_t  param2);
+#define LOCATE_compiling_methods___AClosureDef___decl_csignature "compiling_methods::AClosureDef::decl_csignature"
+val_t NEW_PClosureDecl_parser_nodes___PNode___init();
+typedef val_t (* compiling_methods___PClosureDecl___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___PClosureDecl___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___PClosureDecl___do_compile_inside "compiling_methods::PClosureDecl::do_compile_inside"
+val_t NEW_AClosureDecl_parser_nodes___PNode___init();
+val_t NEW_AClosureDecl_parser_prod___AClosureDecl___empty_init();
+val_t NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+typedef val_t (* compiling_methods___AClosureDecl___do_compile_inside_t)(val_t  self, val_t  param0, val_t  param1);
+val_t compiling_methods___AClosureDecl___do_compile_inside(val_t  self, val_t  param0, val_t  param1);
+#define LOCATE_compiling_methods___AClosureDecl___do_compile_inside "compiling_methods::AClosureDecl::(compiling_methods::PClosureDecl::do_compile_inside)"
+val_t NEW_AClosureCallExpr_parser_nodes___PNode___init();
+val_t NEW_AClosureCallExpr_parser_prod___AClosureCallExpr___empty_init();
+val_t NEW_AClosureCallExpr_parser_prod___AClosureCallExpr___init_aclosurecallexpr(val_t p0, val_t p1, val_t p2);
+typedef val_t (* compiling_methods___AClosureCallExpr___compile_expr_t)(val_t  self, val_t  param0);
+val_t compiling_methods___AClosureCallExpr___compile_expr(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___AClosureCallExpr___compile_expr "compiling_methods::AClosureCallExpr::(compiling_methods::PExpr::compile_expr)"
+typedef void (* compiling_methods___AClosureCallExpr___compile_stmt_t)(val_t  self, val_t  param0);
+void compiling_methods___AClosureCallExpr___compile_stmt(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___AClosureCallExpr___compile_stmt "compiling_methods::AClosureCallExpr::(compiling_methods::PExpr::compile_stmt)"
+typedef val_t (* compiling_methods___AClosureCallExpr___intern_compile_call_t)(val_t  self, val_t  param0);
+val_t compiling_methods___AClosureCallExpr___intern_compile_call(val_t  self, val_t  param0);
+#define LOCATE_compiling_methods___AClosureCallExpr___intern_compile_call "compiling_methods::AClosureCallExpr::intern_compile_call"
+val_t NEW_AProxyExpr_parser_nodes___PNode___init();
 typedef val_t (* compiling_methods___AProxyExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AProxyExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AProxyExpr___compile_expr "compiling_methods::AProxyExpr::(compiling_methods::PExpr::compile_expr)"
+val_t NEW_AOnceExpr_parser_nodes___PNode___init();
+val_t NEW_AOnceExpr_parser_prod___AOnceExpr___empty_init();
+val_t NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(val_t p0, val_t p1);
 typedef val_t (* compiling_methods___AOnceExpr___compile_expr_t)(val_t  self, val_t  param0);
 val_t compiling_methods___AOnceExpr___compile_expr(val_t  self, val_t  param0);
 #define LOCATE_compiling_methods___AOnceExpr___compile_expr "compiling_methods::AOnceExpr::(compiling_methods::PExpr::compile_expr)"