c_src: update
[nit.git] / c_src / compiling_base._sep.h
index fb6b65b..ca5cbd7 100644 (file)
 /* This C header file is generated by NIT to compile modules and programs that requires compiling_base. */
 #ifndef compiling_base_sep
 #define compiling_base_sep
-#include "mmloader._sep.h"
 #include "utils._sep.h"
-#include "primitive_info._sep.h"
+#include "program._sep.h"
+#include "compiling_writer._sep.h"
 #include <nit_common.h>
 
-extern const classtable_elt_t VFT_CompilerVisitor[];
+extern const classtable_elt_t VFT_CProgram[];
 
-extern const classtable_elt_t VFT_CContext[];
+extern const classtable_elt_t VFT_CompilerVisitor[];
 extern const char *LOCATE_compiling_base;
 extern const int SFT_compiling_base[];
-#define ATTR_compiling_base___ToolContext____global(recv) ATTR(recv, (SFT_compiling_base[0] + 0))
-#define ATTR_compiling_base___ToolContext____compdir(recv) ATTR(recv, (SFT_compiling_base[0] + 1))
-#define ATTR_compiling_base___ToolContext____clibdir(recv) ATTR(recv, (SFT_compiling_base[0] + 2))
-#define ATTR_compiling_base___ToolContext____bindir(recv) ATTR(recv, (SFT_compiling_base[0] + 3))
-#define ATTR_compiling_base___ToolContext____output_file(recv) ATTR(recv, (SFT_compiling_base[0] + 4))
-#define ATTR_compiling_base___ToolContext____boost(recv) ATTR(recv, (SFT_compiling_base[0] + 5))
-#define ATTR_compiling_base___ToolContext____no_cc(recv) ATTR(recv, (SFT_compiling_base[0] + 6))
-#define ATTR_compiling_base___ToolContext____ext_prefix(recv) ATTR(recv, (SFT_compiling_base[0] + 7))
-#define CALL_compiling_base___ToolContext___global(recv) ((compiling_base___ToolContext___global_t)CALL((recv), (SFT_compiling_base[1] + 0)))
-#define CALL_compiling_base___ToolContext___global__eq(recv) ((compiling_base___ToolContext___global__eq_t)CALL((recv), (SFT_compiling_base[1] + 1)))
-#define CALL_compiling_base___ToolContext___compdir(recv) ((compiling_base___ToolContext___compdir_t)CALL((recv), (SFT_compiling_base[1] + 2)))
-#define CALL_compiling_base___ToolContext___compdir__eq(recv) ((compiling_base___ToolContext___compdir__eq_t)CALL((recv), (SFT_compiling_base[1] + 3)))
-#define CALL_compiling_base___ToolContext___clibdir(recv) ((compiling_base___ToolContext___clibdir_t)CALL((recv), (SFT_compiling_base[1] + 4)))
-#define CALL_compiling_base___ToolContext___clibdir__eq(recv) ((compiling_base___ToolContext___clibdir__eq_t)CALL((recv), (SFT_compiling_base[1] + 5)))
-#define CALL_compiling_base___ToolContext___bindir(recv) ((compiling_base___ToolContext___bindir_t)CALL((recv), (SFT_compiling_base[1] + 6)))
-#define CALL_compiling_base___ToolContext___bindir__eq(recv) ((compiling_base___ToolContext___bindir__eq_t)CALL((recv), (SFT_compiling_base[1] + 7)))
-#define CALL_compiling_base___ToolContext___output_file(recv) ((compiling_base___ToolContext___output_file_t)CALL((recv), (SFT_compiling_base[1] + 8)))
-#define CALL_compiling_base___ToolContext___output_file__eq(recv) ((compiling_base___ToolContext___output_file__eq_t)CALL((recv), (SFT_compiling_base[1] + 9)))
-#define CALL_compiling_base___ToolContext___boost(recv) ((compiling_base___ToolContext___boost_t)CALL((recv), (SFT_compiling_base[1] + 10)))
-#define CALL_compiling_base___ToolContext___boost__eq(recv) ((compiling_base___ToolContext___boost__eq_t)CALL((recv), (SFT_compiling_base[1] + 11)))
-#define CALL_compiling_base___ToolContext___no_cc(recv) ((compiling_base___ToolContext___no_cc_t)CALL((recv), (SFT_compiling_base[1] + 12)))
-#define CALL_compiling_base___ToolContext___no_cc__eq(recv) ((compiling_base___ToolContext___no_cc__eq_t)CALL((recv), (SFT_compiling_base[1] + 13)))
-#define CALL_compiling_base___ToolContext___ext_prefix(recv) ((compiling_base___ToolContext___ext_prefix_t)CALL((recv), (SFT_compiling_base[1] + 14)))
-#define CALL_compiling_base___ToolContext___ext_prefix__eq(recv) ((compiling_base___ToolContext___ext_prefix__eq_t)CALL((recv), (SFT_compiling_base[1] + 15)))
-#define ID_CompilerVisitor (SFT_compiling_base[2])
-#define COLOR_CompilerVisitor (SFT_compiling_base[3])
-#define ATTR_compiling_base___CompilerVisitor____out_contexts(recv) ATTR(recv, (SFT_compiling_base[4] + 0))
-#define ATTR_compiling_base___CompilerVisitor____number_cpt(recv) ATTR(recv, (SFT_compiling_base[4] + 1))
-#define ATTR_compiling_base___CompilerVisitor____module(recv) ATTR(recv, (SFT_compiling_base[4] + 2))
-#define ATTR_compiling_base___CompilerVisitor____ctx(recv) ATTR(recv, (SFT_compiling_base[4] + 3))
-#define ATTR_compiling_base___CompilerVisitor____indent_level(recv) ATTR(recv, (SFT_compiling_base[4] + 4))
-#define ATTR_compiling_base___CompilerVisitor____tc(recv) ATTR(recv, (SFT_compiling_base[4] + 5))
-#define INIT_TABLE_POS_CompilerVisitor (SFT_compiling_base[5] + 0)
-#define CALL_compiling_base___CompilerVisitor___add_decl(recv) ((compiling_base___CompilerVisitor___add_decl_t)CALL((recv), (SFT_compiling_base[5] + 1)))
-#define CALL_compiling_base___CompilerVisitor___add_instr(recv) ((compiling_base___CompilerVisitor___add_instr_t)CALL((recv), (SFT_compiling_base[5] + 2)))
-#define CALL_compiling_base___CompilerVisitor___add_line_to(recv) ((compiling_base___CompilerVisitor___add_line_to_t)CALL((recv), (SFT_compiling_base[5] + 3)))
-#define CALL_compiling_base___CompilerVisitor___add_assignment(recv) ((compiling_base___CompilerVisitor___add_assignment_t)CALL((recv), (SFT_compiling_base[5] + 4)))
-#define CALL_compiling_base___CompilerVisitor___out_contexts(recv) ((compiling_base___CompilerVisitor___out_contexts_t)CALL((recv), (SFT_compiling_base[5] + 5)))
-#define CALL_compiling_base___CompilerVisitor___out_contexts__eq(recv) ((compiling_base___CompilerVisitor___out_contexts__eq_t)CALL((recv), (SFT_compiling_base[5] + 6)))
-#define CALL_compiling_base___CompilerVisitor___new_number(recv) ((compiling_base___CompilerVisitor___new_number_t)CALL((recv), (SFT_compiling_base[5] + 7)))
-#define CALL_compiling_base___CompilerVisitor___indent(recv) ((compiling_base___CompilerVisitor___indent_t)CALL((recv), (SFT_compiling_base[5] + 8)))
-#define CALL_compiling_base___CompilerVisitor___unindent(recv) ((compiling_base___CompilerVisitor___unindent_t)CALL((recv), (SFT_compiling_base[5] + 9)))
-#define CALL_compiling_base___CompilerVisitor___module(recv) ((compiling_base___CompilerVisitor___module_t)CALL((recv), (SFT_compiling_base[5] + 10)))
-#define CALL_compiling_base___CompilerVisitor___ctx(recv) ((compiling_base___CompilerVisitor___ctx_t)CALL((recv), (SFT_compiling_base[5] + 11)))
-#define CALL_compiling_base___CompilerVisitor___ctx__eq(recv) ((compiling_base___CompilerVisitor___ctx__eq_t)CALL((recv), (SFT_compiling_base[5] + 12)))
-#define CALL_compiling_base___CompilerVisitor___indent_level(recv) ((compiling_base___CompilerVisitor___indent_level_t)CALL((recv), (SFT_compiling_base[5] + 13)))
-#define CALL_compiling_base___CompilerVisitor___indent_level__eq(recv) ((compiling_base___CompilerVisitor___indent_level__eq_t)CALL((recv), (SFT_compiling_base[5] + 14)))
-#define CALL_compiling_base___CompilerVisitor___tc(recv) ((compiling_base___CompilerVisitor___tc_t)CALL((recv), (SFT_compiling_base[5] + 15)))
-#define CALL_compiling_base___CompilerVisitor___init(recv) ((compiling_base___CompilerVisitor___init_t)CALL((recv), (SFT_compiling_base[5] + 16)))
-#define ID_CContext (SFT_compiling_base[6])
-#define COLOR_CContext (SFT_compiling_base[7])
-#define ATTR_compiling_base___CContext____decls(recv) ATTR(recv, (SFT_compiling_base[8] + 0))
-#define ATTR_compiling_base___CContext____instrs(recv) ATTR(recv, (SFT_compiling_base[8] + 1))
-#define INIT_TABLE_POS_CContext (SFT_compiling_base[9] + 0)
-#define CALL_compiling_base___CContext___decls(recv) ((compiling_base___CContext___decls_t)CALL((recv), (SFT_compiling_base[9] + 1)))
-#define CALL_compiling_base___CContext___instrs(recv) ((compiling_base___CContext___instrs_t)CALL((recv), (SFT_compiling_base[9] + 2)))
-#define CALL_compiling_base___CContext___append(recv) ((compiling_base___CContext___append_t)CALL((recv), (SFT_compiling_base[9] + 3)))
-#define CALL_compiling_base___CContext___merge(recv) ((compiling_base___CContext___merge_t)CALL((recv), (SFT_compiling_base[9] + 4)))
-#define CALL_compiling_base___CContext___init(recv) ((compiling_base___CContext___init_t)CALL((recv), (SFT_compiling_base[9] + 5)))
+#define ATTR_compiling_base___ToolContext____compdir(recv) ATTR(recv, (SFT_compiling_base[0] + 0))
+#define ATTR_compiling_base___ToolContext____clibdir(recv) ATTR(recv, (SFT_compiling_base[0] + 1))
+#define ATTR_compiling_base___ToolContext____bindir(recv) ATTR(recv, (SFT_compiling_base[0] + 2))
+#define ATTR_compiling_base___ToolContext____output_file(recv) ATTR(recv, (SFT_compiling_base[0] + 3))
+#define ATTR_compiling_base___ToolContext____boost(recv) ATTR(recv, (SFT_compiling_base[0] + 4))
+#define ATTR_compiling_base___ToolContext____no_cc(recv) ATTR(recv, (SFT_compiling_base[0] + 5))
+#define ATTR_compiling_base___ToolContext____cc_link(recv) ATTR(recv, (SFT_compiling_base[0] + 6))
+#define ATTR_compiling_base___ToolContext____cc_libs(recv) ATTR(recv, (SFT_compiling_base[0] + 7))
+#define ATTR_compiling_base___ToolContext____cc_lib_paths(recv) ATTR(recv, (SFT_compiling_base[0] + 8))
+#define ATTR_compiling_base___ToolContext____cc_include_paths(recv) ATTR(recv, (SFT_compiling_base[0] + 9))
+#define ATTR_compiling_base___ToolContext____ext_prefix(recv) ATTR(recv, (SFT_compiling_base[0] + 10))
+#define CALL_compiling_base___ToolContext___compdir(recv) ((compiling_base___ToolContext___compdir_t)CALL((recv), (SFT_compiling_base[1] + 0)))
+#define CALL_compiling_base___ToolContext___compdir__eq(recv) ((compiling_base___ToolContext___compdir__eq_t)CALL((recv), (SFT_compiling_base[1] + 1)))
+#define CALL_compiling_base___ToolContext___clibdir(recv) ((compiling_base___ToolContext___clibdir_t)CALL((recv), (SFT_compiling_base[1] + 2)))
+#define CALL_compiling_base___ToolContext___clibdir__eq(recv) ((compiling_base___ToolContext___clibdir__eq_t)CALL((recv), (SFT_compiling_base[1] + 3)))
+#define CALL_compiling_base___ToolContext___bindir(recv) ((compiling_base___ToolContext___bindir_t)CALL((recv), (SFT_compiling_base[1] + 4)))
+#define CALL_compiling_base___ToolContext___bindir__eq(recv) ((compiling_base___ToolContext___bindir__eq_t)CALL((recv), (SFT_compiling_base[1] + 5)))
+#define CALL_compiling_base___ToolContext___output_file(recv) ((compiling_base___ToolContext___output_file_t)CALL((recv), (SFT_compiling_base[1] + 6)))
+#define CALL_compiling_base___ToolContext___output_file__eq(recv) ((compiling_base___ToolContext___output_file__eq_t)CALL((recv), (SFT_compiling_base[1] + 7)))
+#define CALL_compiling_base___ToolContext___boost(recv) ((compiling_base___ToolContext___boost_t)CALL((recv), (SFT_compiling_base[1] + 8)))
+#define CALL_compiling_base___ToolContext___boost__eq(recv) ((compiling_base___ToolContext___boost__eq_t)CALL((recv), (SFT_compiling_base[1] + 9)))
+#define CALL_compiling_base___ToolContext___no_cc(recv) ((compiling_base___ToolContext___no_cc_t)CALL((recv), (SFT_compiling_base[1] + 10)))
+#define CALL_compiling_base___ToolContext___no_cc__eq(recv) ((compiling_base___ToolContext___no_cc__eq_t)CALL((recv), (SFT_compiling_base[1] + 11)))
+#define CALL_compiling_base___ToolContext___cc_link(recv) ((compiling_base___ToolContext___cc_link_t)CALL((recv), (SFT_compiling_base[1] + 12)))
+#define CALL_compiling_base___ToolContext___cc_link__eq(recv) ((compiling_base___ToolContext___cc_link__eq_t)CALL((recv), (SFT_compiling_base[1] + 13)))
+#define CALL_compiling_base___ToolContext___cc_libs(recv) ((compiling_base___ToolContext___cc_libs_t)CALL((recv), (SFT_compiling_base[1] + 14)))
+#define CALL_compiling_base___ToolContext___cc_libs__eq(recv) ((compiling_base___ToolContext___cc_libs__eq_t)CALL((recv), (SFT_compiling_base[1] + 15)))
+#define CALL_compiling_base___ToolContext___cc_lib_paths(recv) ((compiling_base___ToolContext___cc_lib_paths_t)CALL((recv), (SFT_compiling_base[1] + 16)))
+#define CALL_compiling_base___ToolContext___cc_lib_paths__eq(recv) ((compiling_base___ToolContext___cc_lib_paths__eq_t)CALL((recv), (SFT_compiling_base[1] + 17)))
+#define CALL_compiling_base___ToolContext___cc_include_paths(recv) ((compiling_base___ToolContext___cc_include_paths_t)CALL((recv), (SFT_compiling_base[1] + 18)))
+#define CALL_compiling_base___ToolContext___cc_include_paths__eq(recv) ((compiling_base___ToolContext___cc_include_paths__eq_t)CALL((recv), (SFT_compiling_base[1] + 19)))
+#define CALL_compiling_base___ToolContext___ext_prefix(recv) ((compiling_base___ToolContext___ext_prefix_t)CALL((recv), (SFT_compiling_base[1] + 20)))
+#define CALL_compiling_base___ToolContext___ext_prefix__eq(recv) ((compiling_base___ToolContext___ext_prefix__eq_t)CALL((recv), (SFT_compiling_base[1] + 21)))
+#define ID_CProgram (SFT_compiling_base[2])
+#define COLOR_CProgram (SFT_compiling_base[3])
+#define ATTR_compiling_base___CProgram____program(recv) ATTR(recv, (SFT_compiling_base[4] + 0))
+#define ATTR_compiling_base___CProgram____files(recv) ATTR(recv, (SFT_compiling_base[4] + 1))
+#define ATTR_compiling_base___CProgram____include_dirs(recv) ATTR(recv, (SFT_compiling_base[4] + 2))
+#define ATTR_compiling_base___CProgram____build_file(recv) ATTR(recv, (SFT_compiling_base[4] + 3))
+#define ATTR_compiling_base___CProgram____compdir(recv) ATTR(recv, (SFT_compiling_base[4] + 4))
+#define ATTR_compiling_base___CProgram____module_include(recv) ATTR(recv, (SFT_compiling_base[4] + 5))
+#define INIT_TABLE_POS_CProgram (SFT_compiling_base[5] + 0)
+#define CALL_compiling_base___CProgram___init(recv) ((compiling_base___CProgram___init_t)CALL((recv), (SFT_compiling_base[5] + 1)))
+#define CALL_compiling_base___CProgram___program(recv) ((compiling_base___CProgram___program_t)CALL((recv), (SFT_compiling_base[5] + 2)))
+#define CALL_compiling_base___CProgram___files(recv) ((compiling_base___CProgram___files_t)CALL((recv), (SFT_compiling_base[5] + 3)))
+#define CALL_compiling_base___CProgram___include_dirs(recv) ((compiling_base___CProgram___include_dirs_t)CALL((recv), (SFT_compiling_base[5] + 4)))
+#define CALL_compiling_base___CProgram___build_file(recv) ((compiling_base___CProgram___build_file_t)CALL((recv), (SFT_compiling_base[5] + 5)))
+#define CALL_compiling_base___CProgram___compdir(recv) ((compiling_base___CProgram___compdir_t)CALL((recv), (SFT_compiling_base[5] + 6)))
+#define CALL_compiling_base___CProgram___module_header_name(recv) ((compiling_base___CProgram___module_header_name_t)CALL((recv), (SFT_compiling_base[5] + 7)))
+#define CALL_compiling_base___CProgram___get_file_ending(recv) ((compiling_base___CProgram___get_file_ending_t)CALL((recv), (SFT_compiling_base[5] + 8)))
+#define CALL_compiling_base___CProgram___generate_build_file(recv) ((compiling_base___CProgram___generate_build_file_t)CALL((recv), (SFT_compiling_base[5] + 9)))
+#define CALL_compiling_base___CProgram___run_c_compiler(recv) ((compiling_base___CProgram___run_c_compiler_t)CALL((recv), (SFT_compiling_base[5] + 10)))
+#define ID_CompilerVisitor (SFT_compiling_base[6])
+#define COLOR_CompilerVisitor (SFT_compiling_base[7])
+#define ATTR_compiling_base___CompilerVisitor____number_cpt(recv) ATTR(recv, (SFT_compiling_base[8] + 0))
+#define ATTR_compiling_base___CompilerVisitor____mmmodule(recv) ATTR(recv, (SFT_compiling_base[8] + 1))
+#define ATTR_compiling_base___CompilerVisitor____header_writer(recv) ATTR(recv, (SFT_compiling_base[8] + 2))
+#define ATTR_compiling_base___CompilerVisitor____writer(recv) ATTR(recv, (SFT_compiling_base[8] + 3))
+#define ATTR_compiling_base___CompilerVisitor____decl_writer(recv) ATTR(recv, (SFT_compiling_base[8] + 4))
+#define ATTR_compiling_base___CompilerVisitor____top_writer(recv) ATTR(recv, (SFT_compiling_base[8] + 5))
+#define ATTR_compiling_base___CompilerVisitor____top_decl_writer(recv) ATTR(recv, (SFT_compiling_base[8] + 6))
+#define ATTR_compiling_base___CompilerVisitor____indent_level(recv) ATTR(recv, (SFT_compiling_base[8] + 7))
+#define ATTR_compiling_base___CompilerVisitor____program(recv) ATTR(recv, (SFT_compiling_base[8] + 8))
+#define ATTR_compiling_base___CompilerVisitor____cprogram(recv) ATTR(recv, (SFT_compiling_base[8] + 9))
+#define INIT_TABLE_POS_CompilerVisitor (SFT_compiling_base[9] + 0)
+#define CALL_compiling_base___CompilerVisitor___add_decl(recv) ((compiling_base___CompilerVisitor___add_decl_t)CALL((recv), (SFT_compiling_base[9] + 1)))
+#define CALL_compiling_base___CompilerVisitor___add_instr(recv) ((compiling_base___CompilerVisitor___add_instr_t)CALL((recv), (SFT_compiling_base[9] + 2)))
+#define CALL_compiling_base___CompilerVisitor___add_indent(recv) ((compiling_base___CompilerVisitor___add_indent_t)CALL((recv), (SFT_compiling_base[9] + 3)))
+#define CALL_compiling_base___CompilerVisitor___add_line_to(recv) ((compiling_base___CompilerVisitor___add_line_to_t)CALL((recv), (SFT_compiling_base[9] + 4)))
+#define CALL_compiling_base___CompilerVisitor___add_assignment(recv) ((compiling_base___CompilerVisitor___add_assignment_t)CALL((recv), (SFT_compiling_base[9] + 5)))
+#define CALL_compiling_base___CompilerVisitor___new_number(recv) ((compiling_base___CompilerVisitor___new_number_t)CALL((recv), (SFT_compiling_base[9] + 6)))
+#define CALL_compiling_base___CompilerVisitor___indent(recv) ((compiling_base___CompilerVisitor___indent_t)CALL((recv), (SFT_compiling_base[9] + 7)))
+#define CALL_compiling_base___CompilerVisitor___unindent(recv) ((compiling_base___CompilerVisitor___unindent_t)CALL((recv), (SFT_compiling_base[9] + 8)))
+#define CALL_compiling_base___CompilerVisitor___mmmodule(recv) ((compiling_base___CompilerVisitor___mmmodule_t)CALL((recv), (SFT_compiling_base[9] + 9)))
+#define CALL_compiling_base___CompilerVisitor___header_writer(recv) ((compiling_base___CompilerVisitor___header_writer_t)CALL((recv), (SFT_compiling_base[9] + 10)))
+#define CALL_compiling_base___CompilerVisitor___header_writer__eq(recv) ((compiling_base___CompilerVisitor___header_writer__eq_t)CALL((recv), (SFT_compiling_base[9] + 11)))
+#define CALL_compiling_base___CompilerVisitor___writer(recv) ((compiling_base___CompilerVisitor___writer_t)CALL((recv), (SFT_compiling_base[9] + 12)))
+#define CALL_compiling_base___CompilerVisitor___writer__eq(recv) ((compiling_base___CompilerVisitor___writer__eq_t)CALL((recv), (SFT_compiling_base[9] + 13)))
+#define CALL_compiling_base___CompilerVisitor___decl_writer(recv) ((compiling_base___CompilerVisitor___decl_writer_t)CALL((recv), (SFT_compiling_base[9] + 14)))
+#define CALL_compiling_base___CompilerVisitor___decl_writer__eq(recv) ((compiling_base___CompilerVisitor___decl_writer__eq_t)CALL((recv), (SFT_compiling_base[9] + 15)))
+#define CALL_compiling_base___CompilerVisitor___top_writer(recv) ((compiling_base___CompilerVisitor___top_writer_t)CALL((recv), (SFT_compiling_base[9] + 16)))
+#define CALL_compiling_base___CompilerVisitor___top_writer__eq(recv) ((compiling_base___CompilerVisitor___top_writer__eq_t)CALL((recv), (SFT_compiling_base[9] + 17)))
+#define CALL_compiling_base___CompilerVisitor___top_decl_writer(recv) ((compiling_base___CompilerVisitor___top_decl_writer_t)CALL((recv), (SFT_compiling_base[9] + 18)))
+#define CALL_compiling_base___CompilerVisitor___top_decl_writer__eq(recv) ((compiling_base___CompilerVisitor___top_decl_writer__eq_t)CALL((recv), (SFT_compiling_base[9] + 19)))
+#define CALL_compiling_base___CompilerVisitor___indent_level(recv) ((compiling_base___CompilerVisitor___indent_level_t)CALL((recv), (SFT_compiling_base[9] + 20)))
+#define CALL_compiling_base___CompilerVisitor___indent_level__eq(recv) ((compiling_base___CompilerVisitor___indent_level__eq_t)CALL((recv), (SFT_compiling_base[9] + 21)))
+#define CALL_compiling_base___CompilerVisitor___program(recv) ((compiling_base___CompilerVisitor___program_t)CALL((recv), (SFT_compiling_base[9] + 22)))
+#define CALL_compiling_base___CompilerVisitor___cprogram(recv) ((compiling_base___CompilerVisitor___cprogram_t)CALL((recv), (SFT_compiling_base[9] + 23)))
+#define CALL_compiling_base___CompilerVisitor___init(recv) ((compiling_base___CompilerVisitor___init_t)CALL((recv), (SFT_compiling_base[9] + 24)))
 #define CALL_compiling_base___MMGlobalProperty___meth_call(recv) ((compiling_base___MMGlobalProperty___meth_call_t)CALL((recv), (SFT_compiling_base[10] + 0)))
 #define CALL_compiling_base___MMGlobalProperty___attr_access(recv) ((compiling_base___MMGlobalProperty___attr_access_t)CALL((recv), (SFT_compiling_base[10] + 1)))
 #define CALL_compiling_base___MMGlobalClass___id_id(recv) ((compiling_base___MMGlobalClass___id_id_t)CALL((recv), (SFT_compiling_base[11] + 0)))
@@ -78,145 +108,199 @@ extern const int SFT_compiling_base[];
 #define ATTR_compiling_base___MMLocalProperty____cname_cache(recv) ATTR(recv, (SFT_compiling_base[12] + 0))
 #define CALL_compiling_base___MMLocalProperty___cname(recv) ((compiling_base___MMLocalProperty___cname_t)CALL((recv), (SFT_compiling_base[13] + 0)))
 #define CALL_compiling_base___MMLocalProperty___super_meth_call(recv) ((compiling_base___MMLocalProperty___super_meth_call_t)CALL((recv), (SFT_compiling_base[13] + 1)))
-val_t NEW_ToolContext_mmloader___ToolContext___init();
-#define LOCATE_compiling_base___ToolContext___global "compiling_base::ToolContext::global"
-val_t compiling_base___ToolContext___global(val_t p0);
-typedef val_t (*compiling_base___ToolContext___global_t)(val_t p0);
-#define LOCATE_compiling_base___ToolContext___global__eq "compiling_base::ToolContext::global="
-void compiling_base___ToolContext___global__eq(val_t p0, val_t p1);
-typedef void (*compiling_base___ToolContext___global__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___ToolContext___compdir "compiling_base::ToolContext::compdir"
+static const char * const LOCATE_compiling_base___ToolContext___compdir = "compiling_base::ToolContext::compdir";
 val_t compiling_base___ToolContext___compdir(val_t p0);
 typedef val_t (*compiling_base___ToolContext___compdir_t)(val_t p0);
-#define LOCATE_compiling_base___ToolContext___compdir__eq "compiling_base::ToolContext::compdir="
+static const char * const LOCATE_compiling_base___ToolContext___compdir__eq = "compiling_base::ToolContext::compdir=";
 void compiling_base___ToolContext___compdir__eq(val_t p0, val_t p1);
 typedef void (*compiling_base___ToolContext___compdir__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___ToolContext___clibdir "compiling_base::ToolContext::clibdir"
+static const char * const LOCATE_compiling_base___ToolContext___clibdir = "compiling_base::ToolContext::clibdir";
 val_t compiling_base___ToolContext___clibdir(val_t p0);
 typedef val_t (*compiling_base___ToolContext___clibdir_t)(val_t p0);
-#define LOCATE_compiling_base___ToolContext___clibdir__eq "compiling_base::ToolContext::clibdir="
+static const char * const LOCATE_compiling_base___ToolContext___clibdir__eq = "compiling_base::ToolContext::clibdir=";
 void compiling_base___ToolContext___clibdir__eq(val_t p0, val_t p1);
 typedef void (*compiling_base___ToolContext___clibdir__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___ToolContext___bindir "compiling_base::ToolContext::bindir"
+static const char * const LOCATE_compiling_base___ToolContext___bindir = "compiling_base::ToolContext::bindir";
 val_t compiling_base___ToolContext___bindir(val_t p0);
 typedef val_t (*compiling_base___ToolContext___bindir_t)(val_t p0);
-#define LOCATE_compiling_base___ToolContext___bindir__eq "compiling_base::ToolContext::bindir="
+static const char * const LOCATE_compiling_base___ToolContext___bindir__eq = "compiling_base::ToolContext::bindir=";
 void compiling_base___ToolContext___bindir__eq(val_t p0, val_t p1);
 typedef void (*compiling_base___ToolContext___bindir__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___ToolContext___output_file "compiling_base::ToolContext::output_file"
+static const char * const LOCATE_compiling_base___ToolContext___output_file = "compiling_base::ToolContext::output_file";
 val_t compiling_base___ToolContext___output_file(val_t p0);
 typedef val_t (*compiling_base___ToolContext___output_file_t)(val_t p0);
-#define LOCATE_compiling_base___ToolContext___output_file__eq "compiling_base::ToolContext::output_file="
+static const char * const LOCATE_compiling_base___ToolContext___output_file__eq = "compiling_base::ToolContext::output_file=";
 void compiling_base___ToolContext___output_file__eq(val_t p0, val_t p1);
 typedef void (*compiling_base___ToolContext___output_file__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___ToolContext___boost "compiling_base::ToolContext::boost"
+static const char * const LOCATE_compiling_base___ToolContext___boost = "compiling_base::ToolContext::boost";
 val_t compiling_base___ToolContext___boost(val_t p0);
 typedef val_t (*compiling_base___ToolContext___boost_t)(val_t p0);
-#define LOCATE_compiling_base___ToolContext___boost__eq "compiling_base::ToolContext::boost="
+static const char * const LOCATE_compiling_base___ToolContext___boost__eq = "compiling_base::ToolContext::boost=";
 void compiling_base___ToolContext___boost__eq(val_t p0, val_t p1);
 typedef void (*compiling_base___ToolContext___boost__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___ToolContext___no_cc "compiling_base::ToolContext::no_cc"
+static const char * const LOCATE_compiling_base___ToolContext___no_cc = "compiling_base::ToolContext::no_cc";
 val_t compiling_base___ToolContext___no_cc(val_t p0);
 typedef val_t (*compiling_base___ToolContext___no_cc_t)(val_t p0);
-#define LOCATE_compiling_base___ToolContext___no_cc__eq "compiling_base::ToolContext::no_cc="
+static const char * const LOCATE_compiling_base___ToolContext___no_cc__eq = "compiling_base::ToolContext::no_cc=";
 void compiling_base___ToolContext___no_cc__eq(val_t p0, val_t p1);
 typedef void (*compiling_base___ToolContext___no_cc__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___ToolContext___ext_prefix "compiling_base::ToolContext::ext_prefix"
+static const char * const LOCATE_compiling_base___ToolContext___cc_link = "compiling_base::ToolContext::cc_link";
+val_t compiling_base___ToolContext___cc_link(val_t p0);
+typedef val_t (*compiling_base___ToolContext___cc_link_t)(val_t p0);
+static const char * const LOCATE_compiling_base___ToolContext___cc_link__eq = "compiling_base::ToolContext::cc_link=";
+void compiling_base___ToolContext___cc_link__eq(val_t p0, val_t p1);
+typedef void (*compiling_base___ToolContext___cc_link__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___ToolContext___cc_libs = "compiling_base::ToolContext::cc_libs";
+val_t compiling_base___ToolContext___cc_libs(val_t p0);
+typedef val_t (*compiling_base___ToolContext___cc_libs_t)(val_t p0);
+static const char * const LOCATE_compiling_base___ToolContext___cc_libs__eq = "compiling_base::ToolContext::cc_libs=";
+void compiling_base___ToolContext___cc_libs__eq(val_t p0, val_t p1);
+typedef void (*compiling_base___ToolContext___cc_libs__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___ToolContext___cc_lib_paths = "compiling_base::ToolContext::cc_lib_paths";
+val_t compiling_base___ToolContext___cc_lib_paths(val_t p0);
+typedef val_t (*compiling_base___ToolContext___cc_lib_paths_t)(val_t p0);
+static const char * const LOCATE_compiling_base___ToolContext___cc_lib_paths__eq = "compiling_base::ToolContext::cc_lib_paths=";
+void compiling_base___ToolContext___cc_lib_paths__eq(val_t p0, val_t p1);
+typedef void (*compiling_base___ToolContext___cc_lib_paths__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___ToolContext___cc_include_paths = "compiling_base::ToolContext::cc_include_paths";
+val_t compiling_base___ToolContext___cc_include_paths(val_t p0);
+typedef val_t (*compiling_base___ToolContext___cc_include_paths_t)(val_t p0);
+static const char * const LOCATE_compiling_base___ToolContext___cc_include_paths__eq = "compiling_base::ToolContext::cc_include_paths=";
+void compiling_base___ToolContext___cc_include_paths__eq(val_t p0, val_t p1);
+typedef void (*compiling_base___ToolContext___cc_include_paths__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___ToolContext___ext_prefix = "compiling_base::ToolContext::ext_prefix";
 val_t compiling_base___ToolContext___ext_prefix(val_t p0);
 typedef val_t (*compiling_base___ToolContext___ext_prefix_t)(val_t p0);
-#define LOCATE_compiling_base___ToolContext___ext_prefix__eq "compiling_base::ToolContext::ext_prefix="
+static const char * const LOCATE_compiling_base___ToolContext___ext_prefix__eq = "compiling_base::ToolContext::ext_prefix=";
 void compiling_base___ToolContext___ext_prefix__eq(val_t p0, val_t p1);
 typedef void (*compiling_base___ToolContext___ext_prefix__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___CompilerVisitor___to_s "compiling_base::CompilerVisitor::(string::Object::to_s)"
-val_t compiling_base___CompilerVisitor___to_s(val_t p0);
-typedef val_t (*compiling_base___CompilerVisitor___to_s_t)(val_t p0);
-#define LOCATE_compiling_base___CompilerVisitor___add_decl "compiling_base::CompilerVisitor::add_decl"
+val_t NEW_ToolContext_mmloader___ToolContext___init();
+static const char * const LOCATE_compiling_base___CProgram___init = "compiling_base::CProgram::init";
+void compiling_base___CProgram___init(val_t p0, val_t p1, int* init_table);
+typedef void (*compiling_base___CProgram___init_t)(val_t p0, val_t p1, int* init_table);
+val_t NEW_CProgram_compiling_base___CProgram___init(val_t p0);
+static const char * const LOCATE_compiling_base___CProgram___program = "compiling_base::CProgram::program";
+val_t compiling_base___CProgram___program(val_t p0);
+typedef val_t (*compiling_base___CProgram___program_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CProgram___files = "compiling_base::CProgram::files";
+val_t compiling_base___CProgram___files(val_t p0);
+typedef val_t (*compiling_base___CProgram___files_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CProgram___include_dirs = "compiling_base::CProgram::include_dirs";
+val_t compiling_base___CProgram___include_dirs(val_t p0);
+typedef val_t (*compiling_base___CProgram___include_dirs_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CProgram___build_file = "compiling_base::CProgram::build_file";
+val_t compiling_base___CProgram___build_file(val_t p0);
+typedef val_t (*compiling_base___CProgram___build_file_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CProgram___compdir = "compiling_base::CProgram::compdir";
+val_t compiling_base___CProgram___compdir(val_t p0);
+typedef val_t (*compiling_base___CProgram___compdir_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CProgram___module_header_name = "compiling_base::CProgram::module_header_name";
+val_t compiling_base___CProgram___module_header_name(val_t p0, val_t p1);
+typedef val_t (*compiling_base___CProgram___module_header_name_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___CProgram___get_file_ending = "compiling_base::CProgram::get_file_ending";
+val_t compiling_base___CProgram___get_file_ending(val_t p0);
+typedef val_t (*compiling_base___CProgram___get_file_ending_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CProgram___generate_build_file = "compiling_base::CProgram::generate_build_file";
+void compiling_base___CProgram___generate_build_file(val_t p0);
+typedef void (*compiling_base___CProgram___generate_build_file_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CProgram___run_c_compiler = "compiling_base::CProgram::run_c_compiler";
+void compiling_base___CProgram___run_c_compiler(val_t p0);
+typedef void (*compiling_base___CProgram___run_c_compiler_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CompilerVisitor___add_decl = "compiling_base::CompilerVisitor::add_decl";
 void compiling_base___CompilerVisitor___add_decl(val_t p0, val_t p1);
 typedef void (*compiling_base___CompilerVisitor___add_decl_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___CompilerVisitor___add_instr "compiling_base::CompilerVisitor::add_instr"
+static const char * const LOCATE_compiling_base___CompilerVisitor___add_instr = "compiling_base::CompilerVisitor::add_instr";
 void compiling_base___CompilerVisitor___add_instr(val_t p0, val_t p1);
 typedef void (*compiling_base___CompilerVisitor___add_instr_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___CompilerVisitor___add_line_to "compiling_base::CompilerVisitor::add_line_to"
+static const char * const LOCATE_compiling_base___CompilerVisitor___add_indent = "compiling_base::CompilerVisitor::add_indent";
+void compiling_base___CompilerVisitor___add_indent(val_t p0, val_t p1);
+typedef void (*compiling_base___CompilerVisitor___add_indent_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___CompilerVisitor___add_line_to = "compiling_base::CompilerVisitor::add_line_to";
 void compiling_base___CompilerVisitor___add_line_to(val_t p0, val_t p1, val_t p2);
 typedef void (*compiling_base___CompilerVisitor___add_line_to_t)(val_t p0, val_t p1, val_t p2);
-#define LOCATE_compiling_base___CompilerVisitor___add_assignment "compiling_base::CompilerVisitor::add_assignment"
+static const char * const LOCATE_compiling_base___CompilerVisitor___add_assignment = "compiling_base::CompilerVisitor::add_assignment";
 void compiling_base___CompilerVisitor___add_assignment(val_t p0, val_t p1, val_t p2);
 typedef void (*compiling_base___CompilerVisitor___add_assignment_t)(val_t p0, val_t p1, val_t p2);
-#define LOCATE_compiling_base___CompilerVisitor___out_contexts "compiling_base::CompilerVisitor::out_contexts"
-val_t compiling_base___CompilerVisitor___out_contexts(val_t p0);
-typedef val_t (*compiling_base___CompilerVisitor___out_contexts_t)(val_t p0);
-#define LOCATE_compiling_base___CompilerVisitor___out_contexts__eq "compiling_base::CompilerVisitor::out_contexts="
-void compiling_base___CompilerVisitor___out_contexts__eq(val_t p0, val_t p1);
-typedef void (*compiling_base___CompilerVisitor___out_contexts__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___CompilerVisitor___new_number "compiling_base::CompilerVisitor::new_number"
+static const char * const LOCATE_compiling_base___CompilerVisitor___new_number = "compiling_base::CompilerVisitor::new_number";
 val_t compiling_base___CompilerVisitor___new_number(val_t p0);
 typedef val_t (*compiling_base___CompilerVisitor___new_number_t)(val_t p0);
-#define LOCATE_compiling_base___CompilerVisitor___indent "compiling_base::CompilerVisitor::indent"
+static const char * const LOCATE_compiling_base___CompilerVisitor___indent = "compiling_base::CompilerVisitor::indent";
 void compiling_base___CompilerVisitor___indent(val_t p0);
 typedef void (*compiling_base___CompilerVisitor___indent_t)(val_t p0);
-#define LOCATE_compiling_base___CompilerVisitor___unindent "compiling_base::CompilerVisitor::unindent"
+static const char * const LOCATE_compiling_base___CompilerVisitor___unindent = "compiling_base::CompilerVisitor::unindent";
 void compiling_base___CompilerVisitor___unindent(val_t p0);
 typedef void (*compiling_base___CompilerVisitor___unindent_t)(val_t p0);
-#define LOCATE_compiling_base___CompilerVisitor___module "compiling_base::CompilerVisitor::module"
-val_t compiling_base___CompilerVisitor___module(val_t p0);
-typedef val_t (*compiling_base___CompilerVisitor___module_t)(val_t p0);
-#define LOCATE_compiling_base___CompilerVisitor___ctx "compiling_base::CompilerVisitor::ctx"
-val_t compiling_base___CompilerVisitor___ctx(val_t p0);
-typedef val_t (*compiling_base___CompilerVisitor___ctx_t)(val_t p0);
-#define LOCATE_compiling_base___CompilerVisitor___ctx__eq "compiling_base::CompilerVisitor::ctx="
-void compiling_base___CompilerVisitor___ctx__eq(val_t p0, val_t p1);
-typedef void (*compiling_base___CompilerVisitor___ctx__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___CompilerVisitor___indent_level "compiling_base::CompilerVisitor::indent_level"
+static const char * const LOCATE_compiling_base___CompilerVisitor___mmmodule = "compiling_base::CompilerVisitor::mmmodule";
+val_t compiling_base___CompilerVisitor___mmmodule(val_t p0);
+typedef val_t (*compiling_base___CompilerVisitor___mmmodule_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CompilerVisitor___header_writer = "compiling_base::CompilerVisitor::header_writer";
+val_t compiling_base___CompilerVisitor___header_writer(val_t p0);
+typedef val_t (*compiling_base___CompilerVisitor___header_writer_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CompilerVisitor___header_writer__eq = "compiling_base::CompilerVisitor::header_writer=";
+void compiling_base___CompilerVisitor___header_writer__eq(val_t p0, val_t p1);
+typedef void (*compiling_base___CompilerVisitor___header_writer__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___CompilerVisitor___writer = "compiling_base::CompilerVisitor::writer";
+val_t compiling_base___CompilerVisitor___writer(val_t p0);
+typedef val_t (*compiling_base___CompilerVisitor___writer_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CompilerVisitor___writer__eq = "compiling_base::CompilerVisitor::writer=";
+void compiling_base___CompilerVisitor___writer__eq(val_t p0, val_t p1);
+typedef void (*compiling_base___CompilerVisitor___writer__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___CompilerVisitor___decl_writer = "compiling_base::CompilerVisitor::decl_writer";
+val_t compiling_base___CompilerVisitor___decl_writer(val_t p0);
+typedef val_t (*compiling_base___CompilerVisitor___decl_writer_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CompilerVisitor___decl_writer__eq = "compiling_base::CompilerVisitor::decl_writer=";
+void compiling_base___CompilerVisitor___decl_writer__eq(val_t p0, val_t p1);
+typedef void (*compiling_base___CompilerVisitor___decl_writer__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___CompilerVisitor___top_writer = "compiling_base::CompilerVisitor::top_writer";
+val_t compiling_base___CompilerVisitor___top_writer(val_t p0);
+typedef val_t (*compiling_base___CompilerVisitor___top_writer_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CompilerVisitor___top_writer__eq = "compiling_base::CompilerVisitor::top_writer=";
+void compiling_base___CompilerVisitor___top_writer__eq(val_t p0, val_t p1);
+typedef void (*compiling_base___CompilerVisitor___top_writer__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___CompilerVisitor___top_decl_writer = "compiling_base::CompilerVisitor::top_decl_writer";
+val_t compiling_base___CompilerVisitor___top_decl_writer(val_t p0);
+typedef val_t (*compiling_base___CompilerVisitor___top_decl_writer_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CompilerVisitor___top_decl_writer__eq = "compiling_base::CompilerVisitor::top_decl_writer=";
+void compiling_base___CompilerVisitor___top_decl_writer__eq(val_t p0, val_t p1);
+typedef void (*compiling_base___CompilerVisitor___top_decl_writer__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_compiling_base___CompilerVisitor___indent_level = "compiling_base::CompilerVisitor::indent_level";
 val_t compiling_base___CompilerVisitor___indent_level(val_t p0);
 typedef val_t (*compiling_base___CompilerVisitor___indent_level_t)(val_t p0);
-#define LOCATE_compiling_base___CompilerVisitor___indent_level__eq "compiling_base::CompilerVisitor::indent_level="
+static const char * const LOCATE_compiling_base___CompilerVisitor___indent_level__eq = "compiling_base::CompilerVisitor::indent_level=";
 void compiling_base___CompilerVisitor___indent_level__eq(val_t p0, val_t p1);
 typedef void (*compiling_base___CompilerVisitor___indent_level__eq_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___CompilerVisitor___tc "compiling_base::CompilerVisitor::tc"
-val_t compiling_base___CompilerVisitor___tc(val_t p0);
-typedef val_t (*compiling_base___CompilerVisitor___tc_t)(val_t p0);
-#define LOCATE_compiling_base___CompilerVisitor___init "compiling_base::CompilerVisitor::init"
+static const char * const LOCATE_compiling_base___CompilerVisitor___program = "compiling_base::CompilerVisitor::program";
+val_t compiling_base___CompilerVisitor___program(val_t p0);
+typedef val_t (*compiling_base___CompilerVisitor___program_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CompilerVisitor___cprogram = "compiling_base::CompilerVisitor::cprogram";
+val_t compiling_base___CompilerVisitor___cprogram(val_t p0);
+typedef val_t (*compiling_base___CompilerVisitor___cprogram_t)(val_t p0);
+static const char * const LOCATE_compiling_base___CompilerVisitor___init = "compiling_base::CompilerVisitor::init";
 void compiling_base___CompilerVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table);
 typedef void (*compiling_base___CompilerVisitor___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_CompilerVisitor_compiling_base___CompilerVisitor___init(val_t p0, val_t p1);
-#define LOCATE_compiling_base___CContext___decls "compiling_base::CContext::decls"
-val_t compiling_base___CContext___decls(val_t p0);
-typedef val_t (*compiling_base___CContext___decls_t)(val_t p0);
-#define LOCATE_compiling_base___CContext___instrs "compiling_base::CContext::instrs"
-val_t compiling_base___CContext___instrs(val_t p0);
-typedef val_t (*compiling_base___CContext___instrs_t)(val_t p0);
-#define LOCATE_compiling_base___CContext___append "compiling_base::CContext::append"
-void compiling_base___CContext___append(val_t p0, val_t p1);
-typedef void (*compiling_base___CContext___append_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___CContext___merge "compiling_base::CContext::merge"
-void compiling_base___CContext___merge(val_t p0, val_t p1);
-typedef void (*compiling_base___CContext___merge_t)(val_t p0, val_t p1);
-#define LOCATE_compiling_base___CContext___init "compiling_base::CContext::init"
-void compiling_base___CContext___init(val_t p0, int* init_table);
-typedef void (*compiling_base___CContext___init_t)(val_t p0, int* init_table);
-val_t NEW_CContext_compiling_base___CContext___init();
-val_t NEW_MMGlobalProperty_abstractmetamodel___MMGlobalProperty___init(val_t p0);
-#define LOCATE_compiling_base___MMGlobalProperty___meth_call "compiling_base::MMGlobalProperty::meth_call"
+static const char * const LOCATE_compiling_base___MMGlobalProperty___meth_call = "compiling_base::MMGlobalProperty::meth_call";
 val_t compiling_base___MMGlobalProperty___meth_call(val_t p0);
 typedef val_t (*compiling_base___MMGlobalProperty___meth_call_t)(val_t p0);
-#define LOCATE_compiling_base___MMGlobalProperty___attr_access "compiling_base::MMGlobalProperty::attr_access"
+static const char * const LOCATE_compiling_base___MMGlobalProperty___attr_access = "compiling_base::MMGlobalProperty::attr_access";
 val_t compiling_base___MMGlobalProperty___attr_access(val_t p0);
 typedef val_t (*compiling_base___MMGlobalProperty___attr_access_t)(val_t p0);
-val_t NEW_MMGlobalClass_abstractmetamodel___MMGlobalClass___init(val_t p0);
-#define LOCATE_compiling_base___MMGlobalClass___id_id "compiling_base::MMGlobalClass::id_id"
+val_t NEW_MMGlobalProperty_abstractmetamodel___MMGlobalProperty___init(val_t p0);
+static const char * const LOCATE_compiling_base___MMGlobalClass___id_id = "compiling_base::MMGlobalClass::id_id";
 val_t compiling_base___MMGlobalClass___id_id(val_t p0);
 typedef val_t (*compiling_base___MMGlobalClass___id_id_t)(val_t p0);
-#define LOCATE_compiling_base___MMGlobalClass___color_id "compiling_base::MMGlobalClass::color_id"
+static const char * const LOCATE_compiling_base___MMGlobalClass___color_id = "compiling_base::MMGlobalClass::color_id";
 val_t compiling_base___MMGlobalClass___color_id(val_t p0);
 typedef val_t (*compiling_base___MMGlobalClass___color_id_t)(val_t p0);
-#define LOCATE_compiling_base___MMGlobalClass___init_table_pos_id "compiling_base::MMGlobalClass::init_table_pos_id"
+static const char * const LOCATE_compiling_base___MMGlobalClass___init_table_pos_id = "compiling_base::MMGlobalClass::init_table_pos_id";
 val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t p0);
 typedef val_t (*compiling_base___MMGlobalClass___init_table_pos_id_t)(val_t p0);
-val_t NEW_MMLocalProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
-#define LOCATE_compiling_base___MMLocalProperty___cname "compiling_base::MMLocalProperty::cname"
+val_t NEW_MMGlobalClass_abstractmetamodel___MMGlobalClass___init(val_t p0);
+static const char * const LOCATE_compiling_base___MMLocalProperty___cname = "compiling_base::MMLocalProperty::cname";
 val_t compiling_base___MMLocalProperty___cname(val_t p0);
 typedef val_t (*compiling_base___MMLocalProperty___cname_t)(val_t p0);
-#define LOCATE_compiling_base___MMLocalProperty___super_meth_call "compiling_base::MMLocalProperty::super_meth_call"
+static const char * const LOCATE_compiling_base___MMLocalProperty___super_meth_call = "compiling_base::MMLocalProperty::super_meth_call";
 val_t compiling_base___MMLocalProperty___super_meth_call(val_t p0);
 typedef val_t (*compiling_base___MMLocalProperty___super_meth_call_t)(val_t p0);
+val_t NEW_MMLocalProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
 #endif