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
};
5 static val_t once_value_2
= NIT_NULL
; /* Once value for string variable[6]*/
6 static val_t once_value_4
= NIT_NULL
; /* Once value for string variable[10]*/
7 static val_t once_value_5
= NIT_NULL
; /* Once value for string variable[10]*/
8 static val_t once_value_6
= NIT_NULL
; /* Once value for string variable[10]*/
9 static val_t once_value_7
= NIT_NULL
; /* Once value for string variable[11]*/
10 static val_t once_value_8
= NIT_NULL
; /* Once value for string variable[10]*/
11 static val_t once_value_9
= NIT_NULL
; /* Once value for string variable[11]*/
12 static val_t once_value_10
= NIT_NULL
; /* Once value for string variable[11]*/
13 static val_t once_value_11
= NIT_NULL
; /* Once value for string variable[10]*/
14 static val_t once_value_12
= NIT_NULL
; /* Once value for string variable[7]*/
15 static val_t once_value_13
= NIT_NULL
; /* Once value for string variable[7]*/
16 static val_t once_value_14
= NIT_NULL
; /* Once value for string variable[7]*/
17 static val_t once_value_15
= NIT_NULL
; /* Once value for string variable[8]*/
18 static val_t once_value_16
= NIT_NULL
; /* Once value for string variable[8]*/
19 static val_t once_value_17
= NIT_NULL
; /* Once value for string variable[8]*/
20 static val_t once_value_18
= NIT_NULL
; /* Once value for string variable[8]*/
21 static val_t once_value_19
= NIT_NULL
; /* Once value for string variable[9]*/
22 static val_t once_value_20
= NIT_NULL
; /* Once value for string variable[9]*/
23 static val_t once_value_21
= NIT_NULL
; /* Once value for string variable[9]*/
24 static val_t once_value_22
= NIT_NULL
; /* Once value for string variable[9]*/
25 static val_t once_value_23
= NIT_NULL
; /* Once value for string variable[9]*/
26 static val_t once_value_24
= NIT_NULL
; /* Once value for string variable[9]*/
27 static val_t once_value_25
= NIT_NULL
; /* Once value for string variable[9]*/
28 static val_t once_value_26
= NIT_NULL
; /* Once value for string variable[9]*/
29 static val_t once_value_27
= NIT_NULL
; /* Once value for string variable[9]*/
30 static val_t once_value_28
= NIT_NULL
; /* Once value for string variable[9]*/
31 static val_t once_value_29
= NIT_NULL
; /* Once value for string variable[9]*/
32 static val_t once_value_30
= NIT_NULL
; /* Once value for string variable[9]*/
33 static val_t once_value_31
= NIT_NULL
; /* Once value for string variable[9]*/
34 static val_t once_value_32
= NIT_NULL
; /* Once value for string variable[9]*/
35 static val_t once_value_33
= NIT_NULL
; /* Once value for string variable[9]*/
36 static val_t once_value_34
= NIT_NULL
; /* Once value for string variable[9]*/
37 static val_t once_value_35
= NIT_NULL
; /* Once value for string variable[8]*/
38 static val_t once_value_36
= NIT_NULL
; /* Once value for string variable[9]*/
39 static val_t once_value_37
= NIT_NULL
; /* Once value for string variable[9]*/
40 static val_t once_value_38
= NIT_NULL
; /* Once value for string variable[9]*/
41 static val_t once_value_39
= NIT_NULL
; /* Once value for string variable[10]*/
42 static val_t once_value_40
= NIT_NULL
; /* Once value for string variable[10]*/
44 struct WBT_
**closurevariable
= NULL
;
45 trace
.prev
= tracehead
; tracehead
= &trace
;
46 trace
.file
= LOCATE_compiling
;
47 /* Register variable[0]: Local variable */
49 /* Register variable[1]: Local variable */
51 /* Register variable[2]: Method return value and escape marker */
52 /* Register variable[3]: Result */
53 variable
[3] = CALL_abstractmetamodel___MMModule___mhe(variable
[0])(variable
[0]) /*MMModule::mhe*/;
54 /* Register variable[3]: Result */
55 variable
[3] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[3])(variable
[3]) /*PartialOrderElement::greaters_and_self*/;
56 /* Register variable[3]: For iterator */
57 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*Collection::iterator*/;
58 while (true) { /*for*/
59 /* Register variable[4]: For 'is_ok' result */
60 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*Iterator::is_ok*/;
61 if (!UNTAG_Bool(variable
[4])) break; /*for*/
62 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*Iterator::item*/ /* Ensure var: For item*/;
63 /* Register variable[5]: Local variable */
64 variable
[5] = variable
[4];
65 /* Register variable[6]: Result */
66 variable
[6] = TAG_Bool(( variable
[5] /*m*/==NIT_NULL
) || VAL_ISA( variable
[5] /*m*/, COLOR_MMSrcModule
, ID_MMSrcModule
)) /*cast MMSrcModule*/;
67 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);}
68 CALL_compiling_global___MMSrcModule___local_analysis( variable
[5] /*m*/)( variable
[5] /*m*/, variable
[1] /*tc*/) /*MMSrcModule::local_analysis*/;
70 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*Iterator::next*/;
73 /* Register variable[3]: Local variable */
74 /* Register variable[4]: Result */
75 variable
[4] = CALL_compiling_global___MMSrcModule___global_analysis(variable
[0])(variable
[0], variable
[1] /*tc*/) /*MMSrcModule::global_analysis*/;
76 variable
[3] = variable
[4];
77 /* Register variable[4]: Result */
78 variable
[4] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
79 CALL_file___String___mkdir(variable
[4])(variable
[4]) /*String::mkdir*/;
80 /* Register variable[4]: Local variable */
81 /* Register variable[5]: Result */
82 variable
[5] = NEW_Array_array___Array___init() /*new Array[String]*/;
83 variable
[4] = variable
[5];
84 /* Register variable[5]: Local variable */
85 /* Register variable[6]: Result */
86 variable
[6] = NEW_ArraySet_array___ArraySet___init() /*new ArraySet[String]*/;
87 variable
[5] = variable
[6];
88 /* Register variable[6]: Once String constant */
89 if (once_value_2
!= NIT_NULL
) variable
[6] = once_value_2
;
91 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("$CLIBDIR/nit_main.c"), TAG_Int(19)) /*new String*/;
92 once_value_2
= variable
[6];
94 /* Register variable[6]: Result */
95 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*files*/)( variable
[4] /*files*/, variable
[6]) /*AbstractArray::add*/;
96 /* Register variable[6]: Result */
97 variable
[6] = CALL_abstractmetamodel___MMModule___mhe(variable
[0])(variable
[0]) /*MMModule::mhe*/;
98 /* Register variable[6]: Result */
99 variable
[6] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[6])(variable
[6]) /*PartialOrderElement::greaters_and_self*/;
100 /* Register variable[6]: For iterator */
101 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*Collection::iterator*/;
102 while (true) { /*for*/
103 /* Register variable[7]: For 'is_ok' result */
104 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
105 if (!UNTAG_Bool(variable
[7])) break; /*for*/
106 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/ /* Ensure var: For item*/;
107 /* Register variable[8]: Local variable */
108 variable
[8] = variable
[7];
109 /* Register variable[9]: Result */
110 variable
[9] = TAG_Bool(( variable
[8] /*m*/==NIT_NULL
) || VAL_ISA( variable
[8] /*m*/, COLOR_MMSrcModule
, ID_MMSrcModule
)) /*cast MMSrcModule*/;
111 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);}
112 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
113 /* Register variable[10]: Once String constant */
114 if (once_value_4
!= NIT_NULL
) variable
[10] = once_value_4
;
116 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
117 once_value_4
= variable
[10];
119 /* Register variable[10]: Result */
120 /* Ensure var variable[10]: super-string element*/
121 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
122 /* Register variable[10]: Result */
123 variable
[10] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
124 /* Ensure var variable[10]: super-string element*/
125 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
126 /* Register variable[10]: Once String constant */
127 if (once_value_5
!= NIT_NULL
) variable
[10] = once_value_5
;
129 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
130 once_value_5
= variable
[10];
132 /* Register variable[10]: Result */
133 /* Ensure var variable[10]: super-string element*/
134 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
135 /* Register variable[10]: Result */
136 variable
[10] = CALL_abstractmetamodel___MMModule___name( variable
[8] /*m*/)( variable
[8] /*m*/) /*MMModule::name*/;
137 /* Ensure var variable[10]: super-string element*/
138 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/) /*AbstractArray::add*/;
139 /* Register variable[10]: Once String constant */
140 if (once_value_6
!= NIT_NULL
) variable
[10] = once_value_6
;
142 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("._sep.c"), TAG_Int(7)) /*new String*/;
143 once_value_6
= variable
[10];
145 /* Register variable[10]: Result */
146 /* Ensure var variable[10]: super-string element*/
147 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
148 /* Register variable[9]: Result */
149 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
150 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*files*/)( variable
[4] /*files*/, variable
[9]) /*AbstractArray::add*/;
151 CALL_compiling___MMSrcModule___compile_separate_module( variable
[8] /*m*/)( variable
[8] /*m*/, variable
[1] /*tc*/, variable
[3] /*ga*/) /*MMSrcModule::compile_separate_module*/;
152 /* Register variable[9]: Local variable */
153 /* Register variable[10]: Result */
154 variable
[10] = CALL_abstractmetamodel___MMModule___filename( variable
[8] /*m*/)( variable
[8] /*m*/) /*MMModule::filename*/;
155 /* Register variable[11]: Once String constant */
156 if (once_value_7
!= NIT_NULL
) variable
[11] = once_value_7
;
158 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(".nit"), TAG_Int(4)) /*new String*/;
159 once_value_7
= variable
[11];
161 /* Register variable[11]: Result */
162 /* Register variable[10]: Result */
163 variable
[10] = CALL_file___String___strip_extension(variable
[10])(variable
[10], variable
[11]) /*String::strip_extension*/;
164 variable
[9] = variable
[10];
165 /* Register variable[10]: Once String constant */
166 if (once_value_8
!= NIT_NULL
) variable
[10] = once_value_8
;
168 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("_nit.h"), TAG_Int(6)) /*new String*/;
169 once_value_8
= variable
[10];
171 /* Register variable[10]: Result */
172 /* Register variable[10]: Result */
173 variable
[10] = CALL_string___String_____plus( variable
[9] /*native_name*/)( variable
[9] /*native_name*/, variable
[10]) /*String::+*/;
174 /* Register variable[10]: Result */
175 variable
[10] = CALL_file___String___file_exists(variable
[10])(variable
[10]) /*String::file_exists*/;
176 if (UNTAG_Bool(variable
[10])) { /*if*/
177 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
178 /* Register variable[11]: Once String constant */
179 if (once_value_9
!= NIT_NULL
) variable
[11] = once_value_9
;
181 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("-I "), TAG_Int(3)) /*new String*/;
182 once_value_9
= variable
[11];
184 /* Register variable[11]: Result */
185 /* Ensure var variable[11]: super-string element*/
186 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
187 /* Register variable[11]: Result */
188 variable
[11] = CALL_file___String___dirname( variable
[9] /*native_name*/)( variable
[9] /*native_name*/) /*String::dirname*/;
189 /* Ensure var variable[11]: super-string element*/
190 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
191 /* Register variable[11]: Once String constant */
192 if (once_value_10
!= NIT_NULL
) variable
[11] = once_value_10
;
194 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
195 once_value_10
= variable
[11];
197 /* Register variable[11]: Result */
198 /* Ensure var variable[11]: super-string element*/
199 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
200 /* Register variable[10]: Result */
201 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
202 CALL_abstract_collection___SimpleCollection___add( variable
[5] /*includes*/)( variable
[5] /*includes*/, variable
[10]) /*ArraySet::add*/;
204 /* Register variable[10]: Once String constant */
205 if (once_value_11
!= NIT_NULL
) variable
[10] = once_value_11
;
207 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("_nit.c"), TAG_Int(6)) /*new String*/;
208 once_value_11
= variable
[10];
210 /* Register variable[10]: Result */
211 variable
[9] = CALL_string___String_____plus(variable
[9])(variable
[9], variable
[10]) /*String::+*/ /*native_name*/;
212 /* Register variable[10]: Result */
213 variable
[10] = CALL_file___String___file_exists( variable
[9] /*native_name*/)( variable
[9] /*native_name*/) /*String::file_exists*/;
214 if (UNTAG_Bool(variable
[10])) { /*if*/
215 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*files*/)( variable
[4] /*files*/, variable
[9] /*native_name*/) /*AbstractArray::add*/;
217 continue_3
: while(0);
218 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
221 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
222 /* Register variable[7]: Once String constant */
223 if (once_value_12
!= NIT_NULL
) variable
[7] = once_value_12
;
225 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
226 once_value_12
= variable
[7];
228 /* Register variable[7]: Result */
229 /* Ensure var variable[7]: super-string element*/
230 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
231 /* Register variable[7]: Result */
232 variable
[7] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
233 /* Ensure var variable[7]: super-string element*/
234 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
235 /* Register variable[7]: Once String constant */
236 if (once_value_13
!= NIT_NULL
) variable
[7] = once_value_13
;
238 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
239 once_value_13
= variable
[7];
241 /* Register variable[7]: Result */
242 /* Ensure var variable[7]: super-string element*/
243 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
244 /* Register variable[7]: Result */
245 variable
[7] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
246 /* Ensure var variable[7]: super-string element*/
247 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
248 /* Register variable[7]: Once String constant */
249 if (once_value_14
!= NIT_NULL
) variable
[7] = once_value_14
;
251 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("._tables.c"), TAG_Int(10)) /*new String*/;
252 once_value_14
= variable
[7];
254 /* Register variable[7]: Result */
255 /* Ensure var variable[7]: super-string element*/
256 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
257 /* Register variable[6]: Result */
258 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
259 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*files*/)( variable
[4] /*files*/, variable
[6]) /*AbstractArray::add*/;
260 CALL_compiling___MMSrcModule___compile_main(variable
[0])(variable
[0], variable
[1] /*tc*/, variable
[3] /*ga*/) /*MMSrcModule::compile_main*/;
261 /* Register variable[6]: Local variable */
262 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
263 /* Register variable[8]: Once String constant */
264 if (once_value_15
!= NIT_NULL
) variable
[8] = once_value_15
;
266 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
267 once_value_15
= variable
[8];
269 /* Register variable[8]: Result */
270 /* Ensure var variable[8]: super-string element*/
271 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
272 /* Register variable[8]: Result */
273 variable
[8] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
274 /* Ensure var variable[8]: super-string element*/
275 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
276 /* Register variable[8]: Once String constant */
277 if (once_value_16
!= NIT_NULL
) variable
[8] = once_value_16
;
279 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
280 once_value_16
= variable
[8];
282 /* Register variable[8]: Result */
283 /* Ensure var variable[8]: super-string element*/
284 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
285 /* Register variable[8]: Result */
286 variable
[8] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
287 /* Ensure var variable[8]: super-string element*/
288 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
289 /* Register variable[8]: Once String constant */
290 if (once_value_17
!= NIT_NULL
) variable
[8] = once_value_17
;
292 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("._build.sh"), TAG_Int(10)) /*new String*/;
293 once_value_17
= variable
[8];
295 /* Register variable[8]: Result */
296 /* Ensure var variable[8]: super-string element*/
297 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
298 /* Register variable[7]: Result */
299 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
300 variable
[6] = variable
[7];
301 /* Register variable[7]: Local variable */
302 /* Register variable[8]: Result */
303 variable
[8] = NEW_OFStream_file___OFStream___open( variable
[6] /*fn*/) /*new OFStream*/;
304 variable
[7] = variable
[8];
305 /* Register variable[8]: Once String constant */
306 if (once_value_18
!= NIT_NULL
) variable
[8] = once_value_18
;
308 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("#!/bin/sh\n"), TAG_Int(10)) /*new String*/;
309 once_value_18
= variable
[8];
311 /* Register variable[8]: Result */
312 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
313 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
314 /* Register variable[9]: Once String constant */
315 if (once_value_19
!= NIT_NULL
) variable
[9] = once_value_19
;
317 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*/;
318 once_value_19
= variable
[9];
320 /* Register variable[9]: Result */
321 /* Ensure var variable[9]: super-string element*/
322 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
323 /* Register variable[9]: Result */
324 variable
[9] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
325 /* Ensure var variable[9]: super-string element*/
326 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
327 /* Register variable[9]: Once String constant */
328 if (once_value_20
!= NIT_NULL
) variable
[9] = once_value_20
;
330 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(".\n"), TAG_Int(2)) /*new String*/;
331 once_value_20
= variable
[9];
333 /* Register variable[9]: Result */
334 /* Ensure var variable[9]: super-string element*/
335 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
336 /* Register variable[8]: Result */
337 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
338 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
339 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
340 /* Register variable[9]: Once String constant */
341 if (once_value_21
!= NIT_NULL
) variable
[9] = once_value_21
;
343 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("CLIBDIR=\""), TAG_Int(9)) /*new String*/;
344 once_value_21
= variable
[9];
346 /* Register variable[9]: Result */
347 /* Ensure var variable[9]: super-string element*/
348 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
349 /* Register variable[9]: Result */
350 variable
[9] = CALL_compiling_base___ToolContext___clibdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::clibdir*/;
351 /* Ensure var variable[9]: super-string element*/
352 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
353 /* Register variable[9]: Once String constant */
354 if (once_value_22
!= NIT_NULL
) variable
[9] = once_value_22
;
356 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("\"\n"), TAG_Int(2)) /*new String*/;
357 once_value_22
= variable
[9];
359 /* Register variable[9]: Result */
360 /* Ensure var variable[9]: super-string element*/
361 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
362 /* Register variable[8]: Result */
363 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
364 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
365 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
366 /* Register variable[9]: Once String constant */
367 if (once_value_23
!= NIT_NULL
) variable
[9] = once_value_23
;
369 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
370 once_value_23
= variable
[9];
372 /* Register variable[9]: Result */
373 /* Ensure var variable[9]: super-string element*/
374 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
375 /* Register variable[9]: Result */
376 variable
[9] = CALL_compiling_base___ToolContext___bindir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::bindir*/;
377 /* Ensure var variable[9]: super-string element*/
378 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
379 /* Register variable[9]: Once String constant */
380 if (once_value_24
!= NIT_NULL
) variable
[9] = once_value_24
;
382 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("/gccx -d "), TAG_Int(9)) /*new String*/;
383 once_value_24
= variable
[9];
385 /* Register variable[9]: Result */
386 /* Ensure var variable[9]: super-string element*/
387 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
388 /* Register variable[9]: Result */
389 variable
[9] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
390 /* Ensure var variable[9]: super-string element*/
391 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
392 /* Register variable[9]: Once String constant */
393 if (once_value_25
!= NIT_NULL
) variable
[9] = once_value_25
;
395 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" -I $CLIBDIR "), TAG_Int(13)) /*new String*/;
396 once_value_25
= variable
[9];
398 /* Register variable[9]: Result */
399 /* Ensure var variable[9]: super-string element*/
400 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
401 /* Register variable[9]: Once String constant */
402 if (once_value_26
!= NIT_NULL
) variable
[9] = once_value_26
;
404 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)) /*new String*/;
405 once_value_26
= variable
[9];
407 /* Register variable[9]: Result */
408 /* Register variable[9]: Result */
409 variable
[9] = CALL_string___Collection___join( variable
[5] /*includes*/)( variable
[5] /*includes*/, variable
[9]) /*Collection::join*/;
410 /* Ensure var variable[9]: super-string element*/
411 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
412 /* Register variable[9]: Once String constant */
413 if (once_value_27
!= NIT_NULL
) variable
[9] = once_value_27
;
415 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
416 once_value_27
= variable
[9];
418 /* Register variable[9]: Result */
419 /* Ensure var variable[9]: super-string element*/
420 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
421 /* Register variable[8]: Result */
422 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
423 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
424 /* Register variable[8]: Result */
425 variable
[8] = CALL_compiling_base___ToolContext___output_file( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::output_file*/;
426 /* Register variable[8]: Result */
427 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::==*/)))))));
428 if (UNTAG_Bool(variable
[8])) { /*if*/
429 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
430 /* Register variable[9]: Once String constant */
431 if (once_value_28
!= NIT_NULL
) variable
[9] = once_value_28
;
433 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)) /*new String*/;
434 once_value_28
= variable
[9];
436 /* Register variable[9]: Result */
437 /* Ensure var variable[9]: super-string element*/
438 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
439 /* Register variable[9]: Result */
440 variable
[9] = CALL_compiling_base___ToolContext___output_file( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::output_file*/;
441 /* Ensure var variable[9]: super-string element*/
442 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
443 /* Register variable[9]: Once String constant */
444 if (once_value_29
!= NIT_NULL
) variable
[9] = once_value_29
;
446 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
447 once_value_29
= variable
[9];
449 /* Register variable[9]: Result */
450 /* Ensure var variable[9]: super-string element*/
451 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
452 /* Register variable[8]: Result */
453 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
454 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
456 /* Register variable[8]: Result */
457 variable
[8] = CALL_compiling_base___ToolContext___ext_prefix( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::ext_prefix*/;
458 /* Register variable[8]: Result */
459 variable
[8] = CALL_abstract_collection___Collection___is_empty(variable
[8])(variable
[8]) /*AbstractArrayRead::is_empty*/;
460 if (UNTAG_Bool(variable
[8])) { /*if*/
461 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
462 /* Register variable[9]: Once String constant */
463 if (once_value_30
!= NIT_NULL
) variable
[9] = once_value_30
;
465 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)) /*new String*/;
466 once_value_30
= variable
[9];
468 /* Register variable[9]: Result */
469 /* Ensure var variable[9]: super-string element*/
470 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
471 /* Register variable[9]: Result */
472 variable
[9] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
473 /* Ensure var variable[9]: super-string element*/
474 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
475 /* Register variable[9]: Once String constant */
476 if (once_value_31
!= NIT_NULL
) variable
[9] = once_value_31
;
478 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
479 once_value_31
= variable
[9];
481 /* Register variable[9]: Result */
482 /* Ensure var variable[9]: super-string element*/
483 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
484 /* Register variable[8]: Result */
485 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
486 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
488 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
489 /* Register variable[9]: Once String constant */
490 if (once_value_32
!= NIT_NULL
) variable
[9] = once_value_32
;
492 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" -o "), TAG_Int(4)) /*new String*/;
493 once_value_32
= variable
[9];
495 /* Register variable[9]: Result */
496 /* Ensure var variable[9]: super-string element*/
497 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
498 /* Register variable[9]: Result */
499 variable
[9] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
500 /* Ensure var variable[9]: super-string element*/
501 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
502 /* Register variable[9]: Once String constant */
503 if (once_value_33
!= NIT_NULL
) variable
[9] = once_value_33
;
505 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
506 once_value_33
= variable
[9];
508 /* Register variable[9]: Result */
509 /* Ensure var variable[9]: super-string element*/
510 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
511 /* Register variable[9]: Result */
512 variable
[9] = CALL_compiling_base___ToolContext___ext_prefix( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::ext_prefix*/;
513 /* Ensure var variable[9]: super-string element*/
514 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
515 /* Register variable[9]: Once String constant */
516 if (once_value_34
!= NIT_NULL
) variable
[9] = once_value_34
;
518 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
519 once_value_34
= variable
[9];
521 /* Register variable[9]: Result */
522 /* Ensure var variable[9]: super-string element*/
523 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
524 /* Register variable[8]: Result */
525 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
526 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
529 /* Register variable[8]: Result */
530 variable
[8] = CALL_compiling_base___ToolContext___boost( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::boost*/;
531 if (UNTAG_Bool(variable
[8])) { /*if*/
532 /* Register variable[8]: Once String constant */
533 if (once_value_35
!= NIT_NULL
) variable
[8] = once_value_35
;
535 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" -O"), TAG_Int(3)) /*new String*/;
536 once_value_35
= variable
[8];
538 /* Register variable[8]: Result */
539 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
541 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
542 /* Register variable[9]: Once String constant */
543 if (once_value_36
!= NIT_NULL
) variable
[9] = once_value_36
;
545 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" \"$@\" \\\n "), TAG_Int(10)) /*new String*/;
546 once_value_36
= variable
[9];
548 /* Register variable[9]: Result */
549 /* Ensure var variable[9]: super-string element*/
550 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
551 /* Register variable[9]: Once String constant */
552 if (once_value_37
!= NIT_NULL
) variable
[9] = once_value_37
;
554 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("\\\n "), TAG_Int(4)) /*new String*/;
555 once_value_37
= variable
[9];
557 /* Register variable[9]: Result */
558 /* Register variable[9]: Result */
559 variable
[9] = CALL_string___Collection___join( variable
[4] /*files*/)( variable
[4] /*files*/, variable
[9]) /*Collection::join*/;
560 /* Ensure var variable[9]: super-string element*/
561 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
562 /* Register variable[9]: Once String constant */
563 if (once_value_38
!= NIT_NULL
) variable
[9] = once_value_38
;
565 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)) /*new String*/;
566 once_value_38
= variable
[9];
568 /* Register variable[9]: Result */
569 /* Ensure var variable[9]: super-string element*/
570 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
571 /* Register variable[8]: Result */
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 CALL_stream___IOS___close( variable
[7] /*f*/)( variable
[7] /*f*/) /*OFStream::close*/;
575 /* Register variable[8]: Result */
576 variable
[8] = CALL_compiling_base___ToolContext___no_cc( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::no_cc*/;
577 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[8])))) { /*if*/
578 /* Register variable[8]: Result */
579 variable
[8] = (G_sys
);
580 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
581 /* Register variable[10]: Once String constant */
582 if (once_value_39
!= NIT_NULL
) variable
[10] = once_value_39
;
584 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("sh "), TAG_Int(3)) /*new String*/;
585 once_value_39
= variable
[10];
587 /* Register variable[10]: Result */
588 /* Ensure var variable[10]: super-string element*/
589 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
590 variable
[10] = variable
[6] /*fn*/ /* Ensure var: super-string element*/;
591 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
592 /* Register variable[10]: Once String constant */
593 if (once_value_40
!= NIT_NULL
) variable
[10] = once_value_40
;
595 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
596 once_value_40
= variable
[10];
598 /* Register variable[10]: Result */
599 /* Ensure var variable[10]: super-string element*/
600 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
601 /* Register variable[9]: Result */
602 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
603 CALL_exec___Sys___system(variable
[8])(variable
[8], variable
[9]) /*Sys::system*/;
605 return_label0
: while(false);
606 tracehead
= trace
.prev
;
609 void compiling___MMSrcModule___compile_main(val_t self
, val_t param0
, val_t param1
) {
610 struct trace_t trace
= {NULL
, NULL
, 80, LOCATE_compiling___MMSrcModule___compile_main
};
611 static val_t once_value_42
= NIT_NULL
; /* Once value for string variable[5]*/
612 static val_t once_value_43
= NIT_NULL
; /* Once value for string variable[7]*/
613 static val_t once_value_44
= NIT_NULL
; /* Once value for string variable[7]*/
614 static val_t once_value_45
= NIT_NULL
; /* Once value for string variable[7]*/
615 static val_t once_value_46
= NIT_NULL
; /* Once value for string variable[7]*/
616 static val_t once_value_47
= NIT_NULL
; /* Once value for string variable[7]*/
617 static val_t once_value_49
= NIT_NULL
; /* Once value for string variable[10]*/
618 static val_t once_value_50
= NIT_NULL
; /* Once value for string variable[10]*/
620 struct WBT_
**closurevariable
= NULL
;
621 trace
.prev
= tracehead
; tracehead
= &trace
;
622 trace
.file
= LOCATE_compiling
;
623 /* Register variable[0]: Local variable */
625 /* Register variable[1]: Local variable */
626 variable
[1] = param0
;
627 /* Register variable[2]: Local variable */
628 variable
[2] = param1
;
629 /* Register variable[3]: Method return value and escape marker */
630 /* Register variable[4]: Local variable */
631 /* Register variable[5]: Result */
632 variable
[5] = NEW_GlobalCompilerVisitor_compiling_global___GlobalCompilerVisitor___init(variable
[0], variable
[1] /*tc*/, variable
[2] /*ga*/) /*new GlobalCompilerVisitor*/;
633 variable
[4] = variable
[5];
634 /* Register variable[5]: Once String constant */
635 if (once_value_42
!= NIT_NULL
) variable
[5] = once_value_42
;
637 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("#include <nit_common.h>"), TAG_Int(23)) /*new String*/;
638 once_value_42
= variable
[5];
640 /* Register variable[5]: Result */
641 CALL_compiling_base___CompilerVisitor___add_decl( variable
[4] /*v*/)( variable
[4] /*v*/, variable
[5]) /*CompilerVisitor::add_decl*/;
642 CALL_compiling_global___MMSrcModule___compile_tables_to_c(variable
[0])(variable
[0], variable
[4] /*v*/) /*MMSrcModule::compile_tables_to_c*/;
643 CALL_compiling_global___MMSrcModule___compile_main_part(variable
[0])(variable
[0], variable
[4] /*v*/) /*MMSrcModule::compile_main_part*/;
644 /* Register variable[5]: Local variable */
645 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
646 /* Register variable[7]: Once String constant */
647 if (once_value_43
!= NIT_NULL
) variable
[7] = once_value_43
;
649 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
650 once_value_43
= variable
[7];
652 /* Register variable[7]: Result */
653 /* Ensure var variable[7]: super-string element*/
654 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
655 /* Register variable[7]: Result */
656 variable
[7] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
657 /* Ensure var variable[7]: super-string element*/
658 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
659 /* Register variable[7]: Once String constant */
660 if (once_value_44
!= NIT_NULL
) variable
[7] = once_value_44
;
662 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
663 once_value_44
= variable
[7];
665 /* Register variable[7]: Result */
666 /* Ensure var variable[7]: super-string element*/
667 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
668 /* Register variable[7]: Result */
669 variable
[7] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
670 /* Ensure var variable[7]: super-string element*/
671 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
672 /* Register variable[7]: Once String constant */
673 if (once_value_45
!= NIT_NULL
) variable
[7] = once_value_45
;
675 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("._tables.c"), TAG_Int(10)) /*new String*/;
676 once_value_45
= variable
[7];
678 /* Register variable[7]: Result */
679 /* Ensure var variable[7]: super-string element*/
680 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
681 /* Register variable[6]: Result */
682 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
683 /* Register variable[6]: Result */
684 variable
[6] = NEW_OFStream_file___OFStream___open(variable
[6]) /*new OFStream*/;
685 variable
[5] = variable
[6];
686 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
687 /* Register variable[7]: Once String constant */
688 if (once_value_46
!= NIT_NULL
) variable
[7] = once_value_46
;
690 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*/;
691 once_value_46
= variable
[7];
693 /* Register variable[7]: Result */
694 /* Ensure var variable[7]: super-string element*/
695 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
696 /* Register variable[7]: Result */
697 variable
[7] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
698 /* Ensure var variable[7]: super-string element*/
699 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
700 /* Register variable[7]: Once String constant */
701 if (once_value_47
!= NIT_NULL
) variable
[7] = once_value_47
;
703 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)) /*new String*/;
704 once_value_47
= variable
[7];
706 /* Register variable[7]: Result */
707 /* Ensure var variable[7]: super-string element*/
708 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
709 /* Register variable[6]: Result */
710 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
711 CALL_stream___OStream___write( variable
[5] /*f*/)( variable
[5] /*f*/, variable
[6]) /*OFStream::write*/;
712 /* Register variable[6]: Result */
713 variable
[6] = CALL_abstractmetamodel___MMModule___mhe(variable
[0])(variable
[0]) /*MMModule::mhe*/;
714 /* Register variable[6]: Result */
715 variable
[6] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[6])(variable
[6]) /*PartialOrderElement::greaters_and_self*/;
716 /* Register variable[6]: For iterator */
717 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*Collection::iterator*/;
718 while (true) { /*for*/
719 /* Register variable[7]: For 'is_ok' result */
720 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
721 if (!UNTAG_Bool(variable
[7])) break; /*for*/
722 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/ /* Ensure var: For item*/;
723 /* Register variable[8]: Local variable */
724 variable
[8] = variable
[7];
725 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
726 /* Register variable[10]: Once String constant */
727 if (once_value_49
!= NIT_NULL
) variable
[10] = once_value_49
;
729 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)) /*new String*/;
730 once_value_49
= variable
[10];
732 /* Register variable[10]: Result */
733 /* Ensure var variable[10]: super-string element*/
734 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
735 /* Register variable[10]: Result */
736 variable
[10] = CALL_abstractmetamodel___MMModule___name( variable
[8] /*m*/)( variable
[8] /*m*/) /*MMModule::name*/;
737 /* Ensure var variable[10]: super-string element*/
738 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/) /*AbstractArray::add*/;
739 /* Register variable[10]: Once String constant */
740 if (once_value_50
!= NIT_NULL
) variable
[10] = once_value_50
;
742 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)) /*new String*/;
743 once_value_50
= variable
[10];
745 /* Register variable[10]: Result */
746 /* Ensure var variable[10]: super-string element*/
747 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
748 /* Register variable[9]: Result */
749 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
750 CALL_stream___OStream___write( variable
[5] /*f*/)( variable
[5] /*f*/, variable
[9]) /*OFStream::write*/;
751 continue_48
: while(0);
752 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
755 /* Register variable[6]: Result */
756 variable
[6] = CALL_string___Object___to_s( variable
[4] /*v*/)( variable
[4] /*v*/) /*CompilerVisitor::to_s*/;
757 CALL_stream___OStream___write( variable
[5] /*f*/)( variable
[5] /*f*/, variable
[6]) /*OFStream::write*/;
758 CALL_stream___IOS___close( variable
[5] /*f*/)( variable
[5] /*f*/) /*OFStream::close*/;
759 return_label41
: while(false);
760 tracehead
= trace
.prev
;
763 void compiling___MMSrcModule___compile_separate_module(val_t self
, val_t param0
, val_t param1
) {
764 struct trace_t trace
= {NULL
, NULL
, 96, LOCATE_compiling___MMSrcModule___compile_separate_module
};
765 static val_t once_value_52
= NIT_NULL
; /* Once value for string variable[5]*/
766 static val_t once_value_53
= NIT_NULL
; /* Once value for string variable[7]*/
767 static val_t once_value_54
= NIT_NULL
; /* Once value for string variable[6]*/
768 static val_t once_value_55
= NIT_NULL
; /* Once value for string variable[7]*/
769 static val_t once_value_56
= NIT_NULL
; /* Once value for string variable[7]*/
770 static val_t once_value_57
= NIT_NULL
; /* Once value for string variable[7]*/
771 static val_t once_value_58
= NIT_NULL
; /* Once value for string variable[8]*/
772 static val_t once_value_59
= NIT_NULL
; /* Once value for string variable[8]*/
773 static val_t once_value_60
= NIT_NULL
; /* Once value for string variable[8]*/
774 static val_t once_value_61
= NIT_NULL
; /* Once value for string variable[8]*/
775 static val_t once_value_62
= NIT_NULL
; /* Once value for string variable[8]*/
776 static val_t once_value_63
= NIT_NULL
; /* Once value for string variable[8]*/
777 static val_t once_value_64
= NIT_NULL
; /* Once value for string variable[8]*/
778 static val_t once_value_65
= NIT_NULL
; /* Once value for string variable[8]*/
779 static val_t once_value_66
= NIT_NULL
; /* Once value for string variable[8]*/
780 static val_t once_value_68
= NIT_NULL
; /* Once value for string variable[11]*/
781 static val_t once_value_69
= NIT_NULL
; /* Once value for string variable[11]*/
782 static val_t once_value_70
= NIT_NULL
; /* Once value for string variable[8]*/
783 static val_t once_value_71
= NIT_NULL
; /* Once value for string variable[7]*/
784 static val_t once_value_72
= NIT_NULL
; /* Once value for string variable[9]*/
785 static val_t once_value_73
= NIT_NULL
; /* Once value for string variable[9]*/
786 static val_t once_value_74
= NIT_NULL
; /* Once value for string variable[9]*/
787 static val_t once_value_75
= NIT_NULL
; /* Once value for string variable[9]*/
788 static val_t once_value_76
= NIT_NULL
; /* Once value for string variable[9]*/
789 static val_t once_value_77
= NIT_NULL
; /* Once value for string variable[9]*/
790 static val_t once_value_78
= NIT_NULL
; /* Once value for string variable[9]*/
791 static val_t once_value_79
= NIT_NULL
; /* Once value for string variable[9]*/
792 static val_t once_value_80
= NIT_NULL
; /* Once value for string variable[8]*/
794 struct WBT_
**closurevariable
= NULL
;
795 trace
.prev
= tracehead
; tracehead
= &trace
;
796 trace
.file
= LOCATE_compiling
;
797 /* Register variable[0]: Local variable */
799 /* Register variable[1]: Local variable */
800 variable
[1] = param0
;
801 /* Register variable[2]: Local variable */
802 variable
[2] = param1
;
803 /* Register variable[3]: Method return value and escape marker */
804 /* Register variable[4]: Local variable */
805 /* Register variable[5]: Result */
806 variable
[5] = NEW_GlobalCompilerVisitor_compiling_global___GlobalCompilerVisitor___init(variable
[0], variable
[1] /*tc*/, variable
[2] /*ga*/) /*new GlobalCompilerVisitor*/;
807 variable
[4] = variable
[5];
808 /* Register variable[5]: Once String constant */
809 if (once_value_52
!= NIT_NULL
) variable
[5] = once_value_52
;
811 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("#include <nit_common.h>"), TAG_Int(23)) /*new String*/;
812 once_value_52
= variable
[5];
814 /* Register variable[5]: Result */
815 CALL_compiling_base___CompilerVisitor___add_decl( variable
[4] /*v*/)( variable
[4] /*v*/, variable
[5]) /*CompilerVisitor::add_decl*/;
816 /* Register variable[5]: Local variable */
817 /* Register variable[6]: Result */
818 variable
[6] = CALL_abstractmetamodel___MMModule___filename(variable
[0])(variable
[0]) /*MMModule::filename*/;
819 /* Register variable[7]: Once String constant */
820 if (once_value_53
!= NIT_NULL
) variable
[7] = once_value_53
;
822 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(".nit"), TAG_Int(4)) /*new String*/;
823 once_value_53
= variable
[7];
825 /* Register variable[7]: Result */
826 /* Register variable[6]: Result */
827 variable
[6] = CALL_file___String___strip_extension(variable
[6])(variable
[6], variable
[7]) /*String::strip_extension*/;
828 variable
[5] = variable
[6];
829 /* Register variable[6]: Once String constant */
830 if (once_value_54
!= NIT_NULL
) variable
[6] = once_value_54
;
832 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("_nit.h"), TAG_Int(6)) /*new String*/;
833 once_value_54
= variable
[6];
835 /* Register variable[6]: Result */
836 variable
[5] = CALL_string___String_____plus(variable
[5])(variable
[5], variable
[6]) /*String::+*/ /*native_name*/;
837 /* Register variable[6]: Result */
838 variable
[6] = CALL_file___String___file_exists( variable
[5] /*native_name*/)( variable
[5] /*native_name*/) /*String::file_exists*/;
839 if (UNTAG_Bool(variable
[6])) { /*if*/
840 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
841 /* Register variable[7]: Once String constant */
842 if (once_value_55
!= NIT_NULL
) variable
[7] = once_value_55
;
844 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("#include <"), TAG_Int(10)) /*new String*/;
845 once_value_55
= variable
[7];
847 /* Register variable[7]: Result */
848 /* Ensure var variable[7]: super-string element*/
849 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
850 /* Register variable[7]: Once String constant */
851 if (once_value_56
!= NIT_NULL
) variable
[7] = once_value_56
;
853 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
854 once_value_56
= variable
[7];
856 /* Register variable[7]: Result */
857 /* Register variable[7]: Result */
858 variable
[7] = CALL_file___String___basename( variable
[5] /*native_name*/)( variable
[5] /*native_name*/, variable
[7]) /*String::basename*/;
859 /* Ensure var variable[7]: super-string element*/
860 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
861 /* Register variable[7]: Once String constant */
862 if (once_value_57
!= NIT_NULL
) variable
[7] = once_value_57
;
864 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)) /*new String*/;
865 once_value_57
= variable
[7];
867 /* Register variable[7]: Result */
868 /* Ensure var variable[7]: super-string element*/
869 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
870 /* Register variable[6]: Result */
871 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
872 CALL_compiling_base___CompilerVisitor___add_decl( variable
[4] /*v*/)( variable
[4] /*v*/, variable
[6]) /*CompilerVisitor::add_decl*/;
874 CALL_compiling_global___MMSrcModule___declare_class_tables_to_c(variable
[0])(variable
[0], variable
[4] /*v*/) /*MMSrcModule::declare_class_tables_to_c*/;
875 CALL_compiling_global___MMSrcModule___compile_mod_to_c(variable
[0])(variable
[0], variable
[4] /*v*/) /*MMSrcModule::compile_mod_to_c*/;
876 /* Register variable[6]: Local variable */
877 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
878 /* Register variable[8]: Once String constant */
879 if (once_value_58
!= NIT_NULL
) variable
[8] = once_value_58
;
881 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
882 once_value_58
= variable
[8];
884 /* Register variable[8]: Result */
885 /* Ensure var variable[8]: super-string element*/
886 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
887 /* Register variable[8]: Result */
888 variable
[8] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
889 /* Ensure var variable[8]: super-string element*/
890 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
891 /* Register variable[8]: Once String constant */
892 if (once_value_59
!= NIT_NULL
) variable
[8] = once_value_59
;
894 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
895 once_value_59
= variable
[8];
897 /* Register variable[8]: Result */
898 /* Ensure var variable[8]: super-string element*/
899 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
900 /* Register variable[8]: Result */
901 variable
[8] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
902 /* Ensure var variable[8]: super-string element*/
903 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
904 /* Register variable[8]: Once String constant */
905 if (once_value_60
!= NIT_NULL
) variable
[8] = once_value_60
;
907 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("._sep.h"), TAG_Int(7)) /*new String*/;
908 once_value_60
= variable
[8];
910 /* Register variable[8]: Result */
911 /* Ensure var variable[8]: super-string element*/
912 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
913 /* Register variable[7]: Result */
914 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
915 /* Register variable[7]: Result */
916 variable
[7] = NEW_OFStream_file___OFStream___open(variable
[7]) /*new OFStream*/;
917 variable
[6] = variable
[7];
918 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
919 /* Register variable[8]: Once String constant */
920 if (once_value_61
!= NIT_NULL
) variable
[8] = once_value_61
;
922 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*/;
923 once_value_61
= variable
[8];
925 /* Register variable[8]: Result */
926 /* Ensure var variable[8]: super-string element*/
927 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
928 /* Register variable[8]: Result */
929 variable
[8] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
930 /* Ensure var variable[8]: super-string element*/
931 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
932 /* Register variable[8]: Once String constant */
933 if (once_value_62
!= NIT_NULL
) variable
[8] = once_value_62
;
935 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)) /*new String*/;
936 once_value_62
= variable
[8];
938 /* Register variable[8]: Result */
939 /* Ensure var variable[8]: super-string element*/
940 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
941 /* Register variable[7]: Result */
942 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
943 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[7]) /*OFStream::write*/;
944 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
945 /* Register variable[8]: Once String constant */
946 if (once_value_63
!= NIT_NULL
) variable
[8] = once_value_63
;
948 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("#ifndef "), TAG_Int(8)) /*new String*/;
949 once_value_63
= variable
[8];
951 /* Register variable[8]: Result */
952 /* Ensure var variable[8]: super-string element*/
953 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
954 /* Register variable[8]: Result */
955 variable
[8] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
956 /* Ensure var variable[8]: super-string element*/
957 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
958 /* Register variable[8]: Once String constant */
959 if (once_value_64
!= NIT_NULL
) variable
[8] = once_value_64
;
961 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)) /*new String*/;
962 once_value_64
= variable
[8];
964 /* Register variable[8]: Result */
965 /* Ensure var variable[8]: super-string element*/
966 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
967 /* Register variable[7]: Result */
968 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
969 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[7]) /*OFStream::write*/;
970 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
971 /* Register variable[8]: Once String constant */
972 if (once_value_65
!= NIT_NULL
) variable
[8] = once_value_65
;
974 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)) /*new String*/;
975 once_value_65
= variable
[8];
977 /* Register variable[8]: Result */
978 /* Ensure var variable[8]: super-string element*/
979 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
980 /* Register variable[8]: Result */
981 variable
[8] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
982 /* Ensure var variable[8]: super-string element*/
983 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
984 /* Register variable[8]: Once String constant */
985 if (once_value_66
!= NIT_NULL
) variable
[8] = once_value_66
;
987 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("_sep\n"), TAG_Int(5)) /*new String*/;
988 once_value_66
= variable
[8];
990 /* Register variable[8]: Result */
991 /* Ensure var variable[8]: super-string element*/
992 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
993 /* Register variable[7]: Result */
994 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
995 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[7]) /*OFStream::write*/;
996 /* Register variable[7]: Result */
997 variable
[7] = CALL_abstractmetamodel___MMModule___mhe(variable
[0])(variable
[0]) /*MMModule::mhe*/;
998 /* Register variable[7]: Result */
999 variable
[7] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[7])(variable
[7]) /*PartialOrderElement::direct_greaters*/;
1000 /* Register variable[7]: For iterator */
1001 variable
[7] = CALL_abstract_collection___Collection___iterator(variable
[7])(variable
[7]) /*AbstractArrayRead::iterator*/;
1002 while (true) { /*for*/
1003 /* Register variable[8]: For 'is_ok' result */
1004 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*ArrayIterator::is_ok*/;
1005 if (!UNTAG_Bool(variable
[8])) break; /*for*/
1006 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1007 /* Register variable[9]: Local variable */
1008 variable
[9] = variable
[8];
1009 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1010 /* Register variable[11]: Once String constant */
1011 if (once_value_68
!= NIT_NULL
) variable
[11] = once_value_68
;
1013 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)) /*new String*/;
1014 once_value_68
= variable
[11];
1016 /* Register variable[11]: Result */
1017 /* Ensure var variable[11]: super-string element*/
1018 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
1019 /* Register variable[11]: Result */
1020 variable
[11] = CALL_abstractmetamodel___MMModule___name( variable
[9] /*m*/)( variable
[9] /*m*/) /*MMModule::name*/;
1021 /* Ensure var variable[11]: super-string element*/
1022 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/) /*AbstractArray::add*/;
1023 /* Register variable[11]: Once String constant */
1024 if (once_value_69
!= NIT_NULL
) variable
[11] = once_value_69
;
1026 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)) /*new String*/;
1027 once_value_69
= variable
[11];
1029 /* Register variable[11]: Result */
1030 /* Ensure var variable[11]: super-string element*/
1031 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
1032 /* Register variable[10]: Result */
1033 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
1034 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[10]) /*OFStream::write*/;
1035 continue_67
: while(0);
1036 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*ArrayIterator::next*/;
1039 /* Register variable[7]: Result */
1040 variable
[7] = CALL_compiling_base___CompilerVisitor___ctx( variable
[4] /*v*/)( variable
[4] /*v*/) /*CompilerVisitor::ctx*/;
1041 /* Register variable[7]: Result */
1042 variable
[7] = CALL_compiling_base___CContext___decls(variable
[7])(variable
[7]) /*CContext::decls*/;
1043 /* Register variable[8]: Once String constant */
1044 if (once_value_70
!= NIT_NULL
) variable
[8] = once_value_70
;
1046 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)) /*new String*/;
1047 once_value_70
= variable
[8];
1049 /* Register variable[8]: Result */
1050 /* Register variable[7]: Result */
1051 variable
[7] = CALL_string___Collection___join(variable
[7])(variable
[7], variable
[8]) /*Collection::join*/;
1052 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[7]) /*OFStream::write*/;
1053 /* Register variable[7]: Once String constant */
1054 if (once_value_71
!= NIT_NULL
) variable
[7] = once_value_71
;
1056 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("\n#endif\n"), TAG_Int(8)) /*new String*/;
1057 once_value_71
= variable
[7];
1059 /* Register variable[7]: Result */
1060 CALL_stream___OStream___write( variable
[6] /*f*/)( variable
[6] /*f*/, variable
[7]) /*OFStream::write*/;
1061 CALL_stream___IOS___close( variable
[6] /*f*/)( variable
[6] /*f*/) /*OFStream::close*/;
1062 /* Register variable[7]: Local variable */
1063 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1064 /* Register variable[9]: Once String constant */
1065 if (once_value_72
!= NIT_NULL
) variable
[9] = once_value_72
;
1067 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1068 once_value_72
= variable
[9];
1070 /* Register variable[9]: Result */
1071 /* Ensure var variable[9]: super-string element*/
1072 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1073 /* Register variable[9]: Result */
1074 variable
[9] = CALL_compiling_base___ToolContext___compdir( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::compdir*/;
1075 /* Ensure var variable[9]: super-string element*/
1076 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1077 /* Register variable[9]: Once String constant */
1078 if (once_value_73
!= NIT_NULL
) variable
[9] = once_value_73
;
1080 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
1081 once_value_73
= variable
[9];
1083 /* Register variable[9]: Result */
1084 /* Ensure var variable[9]: super-string element*/
1085 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1086 /* Register variable[9]: Result */
1087 variable
[9] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
1088 /* Ensure var variable[9]: super-string element*/
1089 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
1090 /* Register variable[9]: Once String constant */
1091 if (once_value_74
!= NIT_NULL
) variable
[9] = once_value_74
;
1093 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("._sep.c"), TAG_Int(7)) /*new String*/;
1094 once_value_74
= variable
[9];
1096 /* Register variable[9]: Result */
1097 /* Ensure var variable[9]: super-string element*/
1098 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1099 /* Register variable[8]: Result */
1100 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
1101 /* Register variable[8]: Result */
1102 variable
[8] = NEW_OFStream_file___OFStream___open(variable
[8]) /*new OFStream*/;
1103 variable
[7] = variable
[8];
1104 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1105 /* Register variable[9]: Once String constant */
1106 if (once_value_75
!= NIT_NULL
) variable
[9] = once_value_75
;
1108 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*/;
1109 once_value_75
= variable
[9];
1111 /* Register variable[9]: Result */
1112 /* Ensure var variable[9]: super-string element*/
1113 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1114 /* Register variable[9]: Result */
1115 variable
[9] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
1116 /* Ensure var variable[9]: super-string element*/
1117 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
1118 /* Register variable[9]: Once String constant */
1119 if (once_value_76
!= NIT_NULL
) variable
[9] = once_value_76
;
1121 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(". */\n"), TAG_Int(5)) /*new String*/;
1122 once_value_76
= variable
[9];
1124 /* Register variable[9]: Result */
1125 /* Ensure var variable[9]: super-string element*/
1126 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1127 /* Register variable[8]: Result */
1128 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
1129 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
1130 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1131 /* Register variable[9]: Once String constant */
1132 if (once_value_77
!= NIT_NULL
) variable
[9] = once_value_77
;
1134 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("#include \""), TAG_Int(10)) /*new String*/;
1135 once_value_77
= variable
[9];
1137 /* Register variable[9]: Result */
1138 /* Ensure var variable[9]: super-string element*/
1139 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1140 /* Register variable[9]: Result */
1141 variable
[9] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
1142 /* Ensure var variable[9]: super-string element*/
1143 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
1144 /* Register variable[9]: Once String constant */
1145 if (once_value_78
!= NIT_NULL
) variable
[9] = once_value_78
;
1147 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("._sep.h\"\n"), TAG_Int(9)) /*new String*/;
1148 once_value_78
= variable
[9];
1150 /* Register variable[9]: Result */
1151 /* Ensure var variable[9]: super-string element*/
1152 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1153 /* Register variable[8]: Result */
1154 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
1155 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
1156 /* Register variable[8]: Result */
1157 variable
[8] = CALL_compiling_base___CompilerVisitor___ctx( variable
[4] /*v*/)( variable
[4] /*v*/) /*CompilerVisitor::ctx*/;
1158 /* Register variable[8]: Result */
1159 variable
[8] = CALL_compiling_base___CContext___instrs(variable
[8])(variable
[8]) /*CContext::instrs*/;
1160 /* Register variable[9]: Once String constant */
1161 if (once_value_79
!= NIT_NULL
) variable
[9] = once_value_79
;
1163 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)) /*new String*/;
1164 once_value_79
= variable
[9];
1166 /* Register variable[9]: Result */
1167 /* Register variable[8]: Result */
1168 variable
[8] = CALL_string___Collection___join(variable
[8])(variable
[8], variable
[9]) /*Collection::join*/;
1169 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
1170 /* Register variable[8]: Once String constant */
1171 if (once_value_80
!= NIT_NULL
) variable
[8] = once_value_80
;
1173 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)) /*new String*/;
1174 once_value_80
= variable
[8];
1176 /* Register variable[8]: Result */
1177 CALL_stream___OStream___write( variable
[7] /*f*/)( variable
[7] /*f*/, variable
[8]) /*OFStream::write*/;
1178 CALL_stream___IOS___close( variable
[7] /*f*/)( variable
[7] /*f*/) /*OFStream::close*/;
1179 return_label51
: while(false);
1180 tracehead
= trace
.prev
;