1 /* This C file is generated by NIT to compile module compiling. */
2 #include "compiling._sep.h"
3 void compiling___MMSrcModule___compile_prog_to_c(val_t self
, val_t param0
) {
4 struct trace_t trace
= {NULL
, NULL
, 26, LOCATE_compiling___MMSrcModule___compile_prog_to_c
};
6 void **closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_compiling
;
11 variable
[3] = variable
[0];
12 variable
[3] = CALL_abstractmetamodel___MMModule___mhe(variable
[3])(variable
[3]) /*MMModule::mhe*/;
13 variable
[3] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[3])(variable
[3]) /*PartialOrderElement::greaters_and_self*/;
14 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*Collection::iterator*/;
15 while (true) { /*for*/
16 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*Iterator::is_ok*/;
17 if (!UNTAG_Bool(variable
[4])) break; /*for*/
18 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*Iterator::item*/;
19 variable
[5] = variable
[4];
20 variable
[6] = TAG_Bool(( variable
[5] /*m*/==NIT_NULL
) || VAL_ISA( variable
[5] /*m*/, COLOR_MMSrcModule
, ID_MMSrcModule
)) /*cast MMSrcModule*/;
21 if (!UNTAG_Bool(variable
[6])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling___MMSrcModule___compile_prog_to_c
, LOCATE_compiling
, 32); nit_exit(1);}
22 CALL_compiling_global___MMSrcModule___local_analysis( variable
[5] /*m*/)( variable
[5] /*m*/, variable
[1] /*tc*/) /*MMSrcModule::local_analysis*/;
24 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*Iterator::next*/;
27 variable
[4] = variable
[0];
28 variable
[4] = CALL_compiling_global___MMSrcModule___global_analysis(variable
[4])(variable
[4], variable
[1] /*tc*/) /*MMSrcModule::global_analysis*/;
29 variable
[3] = variable
[4];
30 variable
[4] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
31 CALL_file___String___mkdir(variable
[4])(variable
[4]) /*String::mkdir*/;
32 variable
[5] = NEW_Array_array___Array___init(); /*new Array[String]*/
33 variable
[4] = variable
[5];
34 variable
[6] = NEW_ArraySet_array___ArraySet___init(); /*new ArraySet[String]*/
35 variable
[5] = variable
[6];
36 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("$CLIBDIR/nit_main.c"), TAG_Int(19)); /*new String*/
37 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*files*/)( variable
[4] /*files*/, variable
[6]) /*AbstractArray::add*/;
38 variable
[6] = variable
[0];
39 variable
[6] = CALL_abstractmetamodel___MMModule___mhe(variable
[6])(variable
[6]) /*MMModule::mhe*/;
40 variable
[6] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[6])(variable
[6]) /*PartialOrderElement::greaters_and_self*/;
41 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*Collection::iterator*/;
42 while (true) { /*for*/
43 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
44 if (!UNTAG_Bool(variable
[7])) break; /*for*/
45 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/;
46 variable
[8] = variable
[7];
47 variable
[9] = TAG_Bool(( variable
[8] /*m*/==NIT_NULL
) || VAL_ISA( variable
[8] /*m*/, COLOR_MMSrcModule
, ID_MMSrcModule
)) /*cast MMSrcModule*/;
48 if (!UNTAG_Bool(variable
[9])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling___MMSrcModule___compile_prog_to_c
, LOCATE_compiling
, 44); nit_exit(1);}
49 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
50 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
51 variable
[11] = variable
[10];
52 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
53 variable
[12] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
54 variable
[13] = variable
[12];
55 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
56 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
57 variable
[15] = variable
[14];
58 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
59 variable
[16] = CALL_abstractmetamodel___MMModule___name( variable
[8] /*m*/)( variable
[8] /*m*/) /*MMModule::name*/;
60 variable
[17] = variable
[16];
61 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
62 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[17]) /*AbstractArray::add*/;
63 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("._sep.c"), TAG_Int(7)); /*new String*/
64 variable
[19] = variable
[18];
65 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[19]) /*AbstractArray::add*/;
66 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
67 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*files*/)( variable
[4] /*files*/, variable
[9]) /*AbstractArray::add*/;
68 CALL_compiling___MMSrcModule___compile_separate_module( variable
[8] /*m*/)( variable
[8] /*m*/, variable
[1] /*tc*/, variable
[3] /*ga*/) /*MMSrcModule::compile_separate_module*/;
69 variable
[10] = CALL_mmloader___MMModule___filename( variable
[8] /*m*/)( variable
[8] /*m*/) /*MMModule::filename*/;
70 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(".nit"), TAG_Int(4)); /*new String*/
71 variable
[10] = CALL_file___String___strip_extension(variable
[10])(variable
[10], variable
[11]) /*String::strip_extension*/;
72 variable
[9] = variable
[10];
73 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("_nit.h"), TAG_Int(6)); /*new String*/
74 variable
[10] = CALL_string___String_____plus( variable
[9] /*native_name*/)( variable
[9] /*native_name*/, variable
[10]) /*String::+*/;
75 variable
[10] = CALL_file___String___file_exists(variable
[10])(variable
[10]) /*String::file_exists*/;
76 if (UNTAG_Bool(variable
[10])) { /*if*/
77 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
78 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("-I "), TAG_Int(3)); /*new String*/
79 variable
[12] = variable
[11];
80 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[12]) /*AbstractArray::add*/;
81 variable
[13] = CALL_file___String___dirname( variable
[9] /*native_name*/)( variable
[9] /*native_name*/) /*String::dirname*/;
82 variable
[14] = variable
[13];
83 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[14]) /*AbstractArray::add*/;
84 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
85 variable
[16] = variable
[15];
86 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[16]) /*AbstractArray::add*/;
87 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
88 CALL_abstract_collection___SimpleCollection___add( variable
[5] /*includes*/)( variable
[5] /*includes*/, variable
[10]) /*ArraySet::add*/;
90 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("_nit.c"), TAG_Int(6)); /*new String*/
91 CALL_abstract_collection___IndexedCollection___append( variable
[9] /*native_name*/)( variable
[9] /*native_name*/, variable
[10]) /*String::append*/;
92 variable
[10] = CALL_file___String___file_exists( variable
[9] /*native_name*/)( variable
[9] /*native_name*/) /*String::file_exists*/;
93 if (UNTAG_Bool(variable
[10])) { /*if*/
94 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*files*/)( variable
[4] /*files*/, variable
[9] /*native_name*/) /*AbstractArray::add*/;
97 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
100 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
101 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
102 variable
[8] = variable
[7];
103 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
104 variable
[9] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
105 variable
[10] = variable
[9];
106 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
107 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
108 variable
[12] = variable
[11];
109 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
110 variable
[13] = variable
[0];
111 variable
[13] = CALL_abstractmetamodel___MMModule___name(variable
[13])(variable
[13]) /*MMModule::name*/;
112 variable
[14] = variable
[13];
113 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
114 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[14]) /*AbstractArray::add*/;
115 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("._tables.c"), TAG_Int(10)); /*new String*/
116 variable
[16] = variable
[15];
117 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[16]) /*AbstractArray::add*/;
118 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
119 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*files*/)( variable
[4] /*files*/, variable
[6]) /*AbstractArray::add*/;
120 variable
[6] = variable
[0];
121 CALL_compiling___MMSrcModule___compile_main(variable
[6])(variable
[6], variable
[1] /*tc*/, variable
[3] /*ga*/) /*MMSrcModule::compile_main*/;
122 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
123 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
124 variable
[9] = variable
[8];
125 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
126 variable
[10] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
127 variable
[11] = variable
[10];
128 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[11]) /*AbstractArray::add*/;
129 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
130 variable
[13] = variable
[12];
131 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[13]) /*AbstractArray::add*/;
132 variable
[14] = variable
[0];
133 variable
[14] = CALL_abstractmetamodel___MMModule___name(variable
[14])(variable
[14]) /*MMModule::name*/;
134 variable
[15] = variable
[14];
135 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
136 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[15]) /*AbstractArray::add*/;
137 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("._build.sh"), TAG_Int(10)); /*new String*/
138 variable
[17] = variable
[16];
139 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[17]) /*AbstractArray::add*/;
140 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
141 variable
[6] = variable
[7];
142 variable
[8] = NEW_OFStream_file___OFStream___open( variable
[6] /*fn*/); /*new OFStream*/
143 variable
[7] = variable
[8];
144 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("#!/bin/sh\n"), TAG_Int(10)); /*new String*/
145 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
146 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
147 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("# This shell script is generated by NIT to compile the program "), TAG_Int(63)); /*new String*/
148 variable
[10] = variable
[9];
149 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
150 variable
[11] = variable
[0];
151 variable
[11] = CALL_abstractmetamodel___MMModule___name(variable
[11])(variable
[11]) /*MMModule::name*/;
152 variable
[12] = variable
[11];
153 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
154 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
155 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(".\n"), TAG_Int(2)); /*new String*/
156 variable
[14] = variable
[13];
157 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
158 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
159 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
160 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
161 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("CLIBDIR=\""), TAG_Int(9)); /*new String*/
162 variable
[10] = variable
[9];
163 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
164 variable
[11] = CALL_compiling_base___ToolContext___clibdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::clibdir*/;
165 variable
[12] = variable
[11];
166 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
167 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("\"\n"), TAG_Int(2)); /*new String*/
168 variable
[14] = variable
[13];
169 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
170 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
171 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
172 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
173 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
174 variable
[10] = variable
[9];
175 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
176 variable
[11] = CALL_compiling_base___ToolContext___bindir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::bindir*/;
177 variable
[12] = variable
[11];
178 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
179 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("/gccx -d "), TAG_Int(9)); /*new String*/
180 variable
[14] = variable
[13];
181 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
182 variable
[15] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
183 variable
[16] = variable
[15];
184 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[16]) /*AbstractArray::add*/;
185 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(" -I $CLIBDIR "), TAG_Int(13)); /*new String*/
186 variable
[18] = variable
[17];
187 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[18]) /*AbstractArray::add*/;
188 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
189 variable
[19] = CALL_string___Collection___join( variable
[5] /*includes*/)( variable
[5] /*includes*/, variable
[19]) /*Collection::join*/;
190 variable
[20] = variable
[19];
191 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[20]) /*AbstractArray::add*/;
192 variable
[21] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
193 variable
[22] = variable
[21];
194 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[22]) /*AbstractArray::add*/;
195 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
196 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
197 variable
[8] = CALL_compiling_base___ToolContext___output_file( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::output_file*/;
198 variable
[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[8] == NIT_NULL
/*null*/) || ((variable
[8] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[8])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[8], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[8])(variable
[8], NIT_NULL
/*null*/) /*Object::==*/)))))));
199 if (UNTAG_Bool(variable
[8])) { /*if*/
200 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
201 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)); /*new String*/
202 variable
[10] = variable
[9];
203 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
204 variable
[11] = CALL_compiling_base___ToolContext___output_file( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::output_file*/;
205 variable
[12] = variable
[11];
206 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
207 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
208 variable
[14] = variable
[13];
209 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
210 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
211 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
213 variable
[8] = CALL_compiling_base___ToolContext___ext_prefix( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::ext_prefix*/;
214 variable
[8] = CALL_abstract_collection___Collection___is_empty(variable
[8])(variable
[8]) /*AbstractArray::is_empty*/;
215 if (UNTAG_Bool(variable
[8])) { /*if*/
216 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
217 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)); /*new String*/
218 variable
[10] = variable
[9];
219 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
220 variable
[11] = variable
[0];
221 variable
[11] = CALL_abstractmetamodel___MMModule___name(variable
[11])(variable
[11]) /*MMModule::name*/;
222 variable
[12] = variable
[11];
223 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
224 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
225 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
226 variable
[14] = variable
[13];
227 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
228 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
229 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
231 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
232 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)); /*new String*/
233 variable
[10] = variable
[9];
234 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
235 variable
[11] = variable
[0];
236 variable
[11] = CALL_abstractmetamodel___MMModule___name(variable
[11])(variable
[11]) /*MMModule::name*/;
237 variable
[12] = variable
[11];
238 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
239 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
240 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
241 variable
[14] = variable
[13];
242 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
243 variable
[15] = CALL_compiling_base___ToolContext___ext_prefix( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::ext_prefix*/;
244 variable
[16] = variable
[15];
245 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[16]) /*AbstractArray::add*/;
246 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
247 variable
[18] = variable
[17];
248 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[18]) /*AbstractArray::add*/;
249 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
250 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
253 variable
[8] = CALL_compiling_base___ToolContext___boost( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::boost*/;
254 if (UNTAG_Bool(variable
[8])) { /*if*/
255 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" -O"), TAG_Int(3)); /*new String*/
256 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
258 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
259 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" \"$@\" \\\n "), TAG_Int(10)); /*new String*/
260 variable
[10] = variable
[9];
261 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
262 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("\\\n "), TAG_Int(4)); /*new String*/
263 variable
[11] = CALL_string___Collection___join( variable
[4] /*files*/)( variable
[4] /*files*/, variable
[11]) /*Collection::join*/;
264 variable
[12] = variable
[11];
265 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
266 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
267 variable
[14] = variable
[13];
268 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
269 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
270 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
271 CALL_stream___IOS___close( variable
[7] /*f*/)( variable
[7] /*f*/) /*OFStream::close*/;
272 variable
[8] = CALL_compiling_base___ToolContext___no_cc( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::no_cc*/;
273 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[8])))) { /*if*/
274 variable
[8] = variable
[0];
275 variable
[8] = (G_sys
);
276 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
277 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("sh "), TAG_Int(3)); /*new String*/
278 variable
[11] = variable
[10];
279 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
280 variable
[12] = variable
[6] /*fn*/;
281 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[12]) /*AbstractArray::add*/;
282 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
283 variable
[14] = variable
[13];
284 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[14]) /*AbstractArray::add*/;
285 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
286 CALL_exec___Sys___system(variable
[8])(variable
[8], variable
[9]) /*Sys::system*/;
288 return_label0
: while(false);
289 tracehead
= trace
.prev
;
292 void compiling___MMSrcModule___compile_main(val_t self
, val_t param0
, val_t param1
) {
293 struct trace_t trace
= {NULL
, NULL
, 80, LOCATE_compiling___MMSrcModule___compile_main
};
295 void **closurevariable
= NULL
;
296 trace
.prev
= tracehead
; tracehead
= &trace
;
297 trace
.file
= LOCATE_compiling
;
299 variable
[1] = param0
;
300 variable
[2] = param1
;
301 variable
[5] = variable
[0];
302 variable
[6] = NEW_CompilerVisitor_compiling_base___CompilerVisitor___init(variable
[5]); /*new CompilerVisitor*/
303 variable
[5] = variable
[6];
304 variable
[4] = variable
[5];
305 CALL_compiling_base___CompilerVisitor___tc__eq( variable
[4] /*v*/)( variable
[4] /*v*/, variable
[1] /*tc*/) /*CompilerVisitor::tc=*/;
306 CALL_compiling_global___CompilerVisitor___global_analysis__eq( variable
[4] /*v*/)( variable
[4] /*v*/, variable
[2] /*ga*/) /*CompilerVisitor::global_analysis=*/;
307 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("#include <nit_common.h>"), TAG_Int(23)); /*new String*/
308 CALL_compiling_base___CompilerVisitor___add_decl( variable
[4] /*v*/)( variable
[4] /*v*/, variable
[5]) /*CompilerVisitor::add_decl*/;
309 variable
[5] = variable
[0];
310 CALL_compiling_global___MMSrcModule___compile_tables_to_c(variable
[5])(variable
[5], variable
[4] /*v*/) /*MMSrcModule::compile_tables_to_c*/;
311 variable
[5] = variable
[0];
312 CALL_compiling_global___MMSrcModule___compile_main_part(variable
[5])(variable
[5], variable
[4] /*v*/) /*MMSrcModule::compile_main_part*/;
313 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
314 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
315 variable
[8] = variable
[7];
316 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
317 variable
[9] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
318 variable
[10] = variable
[9];
319 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
320 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
321 variable
[12] = variable
[11];
322 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
323 variable
[13] = variable
[0];
324 variable
[13] = CALL_abstractmetamodel___MMModule___name(variable
[13])(variable
[13]) /*MMModule::name*/;
325 variable
[14] = variable
[13];
326 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
327 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[14]) /*AbstractArray::add*/;
328 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("._tables.c"), TAG_Int(10)); /*new String*/
329 variable
[16] = variable
[15];
330 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[16]) /*AbstractArray::add*/;
331 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
332 variable
[7] = NEW_OFStream_file___OFStream___open(variable
[6]); /*new OFStream*/
333 variable
[6] = variable
[7];
334 variable
[5] = variable
[6];
335 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
336 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("/* This C file is generated by NIT to compile program "), TAG_Int(54)); /*new String*/
337 variable
[8] = variable
[7];
338 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
339 variable
[9] = variable
[0];
340 variable
[9] = CALL_abstractmetamodel___MMModule___name(variable
[9])(variable
[9]) /*MMModule::name*/;
341 variable
[10] = variable
[9];
342 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
343 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
344 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)); /*new String*/
345 variable
[12] = variable
[11];
346 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
347 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
348 CALL_stream___OStream___write( variable
[5] /*f*/)( variable
[5] /*f*/, variable
[6]) /*OFStream::write*/;
349 variable
[6] = variable
[0];
350 variable
[6] = CALL_abstractmetamodel___MMModule___mhe(variable
[6])(variable
[6]) /*MMModule::mhe*/;
351 variable
[6] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[6])(variable
[6]) /*PartialOrderElement::greaters_and_self*/;
352 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*Collection::iterator*/;
353 while (true) { /*for*/
354 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
355 if (!UNTAG_Bool(variable
[7])) break; /*for*/
356 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/;
357 variable
[8] = variable
[7];
358 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
359 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)); /*new String*/
360 variable
[11] = variable
[10];
361 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
362 variable
[12] = CALL_abstractmetamodel___MMModule___name( variable
[8] /*m*/)( variable
[8] /*m*/) /*MMModule::name*/;
363 variable
[13] = variable
[12];
364 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
365 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
366 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
367 variable
[15] = variable
[14];
368 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
369 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
370 CALL_stream___OStream___write( variable
[5] /*f*/)( variable
[5] /*f*/, variable
[9]) /*OFStream::write*/;
371 continue_4
: while(0);
372 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
375 variable
[6] = CALL_string___Object___to_s( variable
[4] /*v*/)( variable
[4] /*v*/) /*CompilerVisitor::to_s*/;
376 CALL_stream___OStream___write( variable
[5] /*f*/)( variable
[5] /*f*/, variable
[6]) /*OFStream::write*/;
377 CALL_stream___IOS___close( variable
[5] /*f*/)( variable
[5] /*f*/) /*OFStream::close*/;
378 return_label3
: while(false);
379 tracehead
= trace
.prev
;
382 void compiling___MMSrcModule___compile_separate_module(val_t self
, val_t param0
, val_t param1
) {
383 struct trace_t trace
= {NULL
, NULL
, 98, LOCATE_compiling___MMSrcModule___compile_separate_module
};
385 void **closurevariable
= NULL
;
386 trace
.prev
= tracehead
; tracehead
= &trace
;
387 trace
.file
= LOCATE_compiling
;
389 variable
[1] = param0
;
390 variable
[2] = param1
;
391 variable
[5] = variable
[0];
392 variable
[6] = NEW_CompilerVisitor_compiling_base___CompilerVisitor___init(variable
[5]); /*new CompilerVisitor*/
393 variable
[5] = variable
[6];
394 variable
[4] = variable
[5];
395 CALL_compiling_base___CompilerVisitor___tc__eq( variable
[4] /*v*/)( variable
[4] /*v*/, variable
[1] /*tc*/) /*CompilerVisitor::tc=*/;
396 CALL_compiling_global___CompilerVisitor___global_analysis__eq( variable
[4] /*v*/)( variable
[4] /*v*/, variable
[2] /*ga*/) /*CompilerVisitor::global_analysis=*/;
397 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("#include <nit_common.h>"), TAG_Int(23)); /*new String*/
398 CALL_compiling_base___CompilerVisitor___add_decl( variable
[4] /*v*/)( variable
[4] /*v*/, variable
[5]) /*CompilerVisitor::add_decl*/;
399 variable
[6] = variable
[0];
400 variable
[6] = CALL_mmloader___MMModule___filename(variable
[6])(variable
[6]) /*MMModule::filename*/;
401 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(".nit"), TAG_Int(4)); /*new String*/
402 variable
[6] = CALL_file___String___strip_extension(variable
[6])(variable
[6], variable
[7]) /*String::strip_extension*/;
403 variable
[5] = variable
[6];
404 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("_nit.h"), TAG_Int(6)); /*new String*/
405 CALL_abstract_collection___IndexedCollection___append( variable
[5] /*native_name*/)( variable
[5] /*native_name*/, variable
[6]) /*String::append*/;
406 variable
[6] = CALL_file___String___file_exists( variable
[5] /*native_name*/)( variable
[5] /*native_name*/) /*String::file_exists*/;
407 if (UNTAG_Bool(variable
[6])) { /*if*/
408 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
409 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("#include <"), TAG_Int(10)); /*new String*/
410 variable
[8] = variable
[7];
411 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
412 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
413 variable
[9] = CALL_file___String___basename( variable
[5] /*native_name*/)( variable
[5] /*native_name*/, variable
[9]) /*String::basename*/;
414 variable
[10] = variable
[9];
415 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
416 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
417 variable
[12] = variable
[11];
418 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
419 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
420 CALL_compiling_base___CompilerVisitor___add_decl( variable
[4] /*v*/)( variable
[4] /*v*/, variable
[6]) /*CompilerVisitor::add_decl*/;
422 variable
[6] = variable
[0];
423 CALL_compiling_global___MMSrcModule___declare_class_tables_to_c(variable
[6])(variable
[6], variable
[4] /*v*/) /*MMSrcModule::declare_class_tables_to_c*/;
424 variable
[6] = variable
[0];
425 CALL_compiling_global___MMSrcModule___compile_mod_to_c(variable
[6])(variable
[6], variable
[4] /*v*/) /*MMSrcModule::compile_mod_to_c*/;
426 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
427 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
428 variable
[9] = variable
[8];
429 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
430 variable
[10] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
431 variable
[11] = variable
[10];
432 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[11]) /*AbstractArray::add*/;
433 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
434 variable
[13] = variable
[12];
435 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[13]) /*AbstractArray::add*/;
436 variable
[14] = variable
[0];
437 variable
[14] = CALL_abstractmetamodel___MMModule___name(variable
[14])(variable
[14]) /*MMModule::name*/;
438 variable
[15] = variable
[14];
439 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
440 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[15]) /*AbstractArray::add*/;
441 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("._sep.h"), TAG_Int(7)); /*new String*/
442 variable
[17] = variable
[16];
443 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[17]) /*AbstractArray::add*/;
444 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
445 variable
[8] = NEW_OFStream_file___OFStream___open(variable
[7]); /*new OFStream*/
446 variable
[7] = variable
[8];
447 variable
[6] = variable
[7];
448 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
449 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("/* This C header file is generated by NIT to compile modules and programs that requires "), TAG_Int(88)); /*new String*/
450 variable
[9] = variable
[8];
451 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
452 variable
[10] = variable
[0];
453 variable
[10] = CALL_abstractmetamodel___MMModule___name(variable
[10])(variable
[10]) /*MMModule::name*/;
454 variable
[11] = variable
[10];
455 variable
[11] = CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/;
456 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[11]) /*AbstractArray::add*/;
457 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)); /*new String*/
458 variable
[13] = variable
[12];
459 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[13]) /*AbstractArray::add*/;
460 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
461 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[7]) /*OFStream::write*/;
462 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
463 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("#ifndef "), TAG_Int(8)); /*new String*/
464 variable
[9] = variable
[8];
465 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
466 variable
[10] = variable
[0];
467 variable
[10] = CALL_abstractmetamodel___MMModule___name(variable
[10])(variable
[10]) /*MMModule::name*/;
468 variable
[11] = variable
[10];
469 variable
[11] = CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/;
470 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[11]) /*AbstractArray::add*/;
471 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)); /*new String*/
472 variable
[13] = variable
[12];
473 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[13]) /*AbstractArray::add*/;
474 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
475 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[7]) /*OFStream::write*/;
476 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
477 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
478 variable
[9] = variable
[8];
479 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
480 variable
[10] = variable
[0];
481 variable
[10] = CALL_abstractmetamodel___MMModule___name(variable
[10])(variable
[10]) /*MMModule::name*/;
482 variable
[11] = variable
[10];
483 variable
[11] = CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/;
484 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[11]) /*AbstractArray::add*/;
485 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)); /*new String*/
486 variable
[13] = variable
[12];
487 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[13]) /*AbstractArray::add*/;
488 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
489 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[7]) /*OFStream::write*/;
490 variable
[7] = variable
[0];
491 variable
[7] = CALL_abstractmetamodel___MMModule___mhe(variable
[7])(variable
[7]) /*MMModule::mhe*/;
492 variable
[7] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[7])(variable
[7]) /*PartialOrderElement::direct_greaters*/;
493 variable
[7] = CALL_abstract_collection___Collection___iterator(variable
[7])(variable
[7]) /*AbstractArray::iterator*/;
494 while (true) { /*for*/
495 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*ArrayIterator::is_ok*/;
496 if (!UNTAG_Bool(variable
[8])) break; /*for*/
497 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*ArrayIterator::item*/;
498 variable
[9] = variable
[8];
499 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
500 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)); /*new String*/
501 variable
[12] = variable
[11];
502 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[12]) /*AbstractArray::add*/;
503 variable
[13] = CALL_abstractmetamodel___MMModule___name( variable
[9] /*m*/)( variable
[9] /*m*/) /*MMModule::name*/;
504 variable
[14] = variable
[13];
505 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
506 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[14]) /*AbstractArray::add*/;
507 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
508 variable
[16] = variable
[15];
509 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[16]) /*AbstractArray::add*/;
510 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
511 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[10]) /*OFStream::write*/;
512 continue_6
: while(0);
513 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*ArrayIterator::next*/;
516 variable
[7] = CALL_compiling_base___CompilerVisitor___ctx( variable
[4] /*v*/)( variable
[4] /*v*/) /*CompilerVisitor::ctx*/;
517 variable
[7] = CALL_compiling_base___CContext___decls(variable
[7])(variable
[7]) /*CContext::decls*/;
518 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
519 variable
[7] = CALL_string___Collection___join(variable
[7])(variable
[7], variable
[8]) /*Collection::join*/;
520 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[7]) /*OFStream::write*/;
521 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("\n#endif\n"), TAG_Int(8)); /*new String*/
522 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[7]) /*OFStream::write*/;
523 CALL_stream___IOS___close( variable
[6] /*f*/)( variable
[6] /*f*/) /*OFStream::close*/;
524 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
525 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
526 variable
[10] = variable
[9];
527 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
528 variable
[11] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
529 variable
[12] = variable
[11];
530 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
531 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
532 variable
[14] = variable
[13];
533 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
534 variable
[15] = variable
[0];
535 variable
[15] = CALL_abstractmetamodel___MMModule___name(variable
[15])(variable
[15]) /*MMModule::name*/;
536 variable
[16] = variable
[15];
537 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
538 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[16]) /*AbstractArray::add*/;
539 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString("._sep.c"), TAG_Int(7)); /*new String*/
540 variable
[18] = variable
[17];
541 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[18]) /*AbstractArray::add*/;
542 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
543 variable
[9] = NEW_OFStream_file___OFStream___open(variable
[8]); /*new OFStream*/
544 variable
[8] = variable
[9];
545 variable
[7] = variable
[8];
546 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
547 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("/* This C file is generated by NIT to compile module "), TAG_Int(53)); /*new String*/
548 variable
[10] = variable
[9];
549 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
550 variable
[11] = variable
[0];
551 variable
[11] = CALL_abstractmetamodel___MMModule___name(variable
[11])(variable
[11]) /*MMModule::name*/;
552 variable
[12] = variable
[11];
553 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
554 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
555 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)); /*new String*/
556 variable
[14] = variable
[13];
557 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
558 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
559 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
560 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
561 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)); /*new String*/
562 variable
[10] = variable
[9];
563 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
564 variable
[11] = variable
[0];
565 variable
[11] = CALL_abstractmetamodel___MMModule___name(variable
[11])(variable
[11]) /*MMModule::name*/;
566 variable
[12] = variable
[11];
567 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
568 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
569 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)); /*new String*/
570 variable
[14] = variable
[13];
571 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
572 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
573 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
574 variable
[8] = CALL_compiling_base___CompilerVisitor___ctx( variable
[4] /*v*/)( variable
[4] /*v*/) /*CompilerVisitor::ctx*/;
575 variable
[8] = CALL_compiling_base___CContext___instrs(variable
[8])(variable
[8]) /*CContext::instrs*/;
576 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
577 variable
[8] = CALL_string___Collection___join(variable
[8])(variable
[8], variable
[9]) /*Collection::join*/;
578 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
579 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
580 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
581 CALL_stream___IOS___close( variable
[7] /*f*/)( variable
[7] /*f*/) /*OFStream::close*/;
582 return_label5
: while(false);
583 tracehead
= trace
.prev
;