1 /* C file produced by GAC */
2 #include "compiled.h"
3 #define FILE_CRC "-101028112"
4
5 /* global variables used in handlers */
6 static GVar G_Print;
7 static Obj GF_Print;
8 static GVar G_CALL__WITH__CATCH;
9 static Obj GF_CALL__WITH__CATCH;
10 static GVar G_runtest;
11 static GVar G_IsAssociative;
12 static Obj GC_IsAssociative;
13 static GVar G_BreakOnError;
14 static GVar G_Center;
15 static Obj GC_Center;
16
17 /* record names used in handlers */
18
19 /* information for the functions */
20 static Obj NameFunc[9];
21 static Obj FileName;
22
23 /* handler for function 3 */
HdlrFunc3(Obj self)24 static Obj HdlrFunc3 (
25 Obj self )
26 {
27 Obj t_1 = 0;
28 Obj t_2 = 0;
29 Bag oldFrame;
30
31 /* allocate new stack frame */
32 SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
33
34 /* return false and 1; */
35 t_2 = False;
36 if ( t_2 == False ) {
37 t_1 = t_2;
38 }
39 else if ( t_2 == True ) {
40 CHECK_BOOL( INTOBJ_INT(1) );
41 t_1 = INTOBJ_INT(1);
42 }
43 else if (IS_FILTER( t_2 ) ) {
44 t_1 = NewAndFilter( t_2, INTOBJ_INT(1) );
45 }
46 else {
47 RequireArgumentEx(0, t_2, "<expr>",
48 "must be 'true' or 'false' or a filter" );
49 }
50 SWITCH_TO_OLD_FRAME(oldFrame);
51 return t_1;
52
53 /* return; */
54 SWITCH_TO_OLD_FRAME(oldFrame);
55 return 0;
56 }
57
58 /* handler for function 4 */
HdlrFunc4(Obj self)59 static Obj HdlrFunc4 (
60 Obj self )
61 {
62 Obj t_1 = 0;
63 Obj t_2 = 0;
64 Obj t_3 = 0;
65 Bag oldFrame;
66
67 /* allocate new stack frame */
68 SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
69
70 /* return true or 1; */
71 t_3 = True;
72 t_2 = (Obj)(UInt)(t_3 != False);
73 t_1 = (t_2 ? True : False);
74 if ( t_1 == False ) {
75 CHECK_BOOL( INTOBJ_INT(1) );
76 t_3 = (Obj)(UInt)(INTOBJ_INT(1) != False);
77 t_1 = (t_3 ? True : False);
78 }
79 SWITCH_TO_OLD_FRAME(oldFrame);
80 return t_1;
81
82 /* return; */
83 SWITCH_TO_OLD_FRAME(oldFrame);
84 return 0;
85 }
86
87 /* handler for function 5 */
HdlrFunc5(Obj self)88 static Obj HdlrFunc5 (
89 Obj self )
90 {
91 Obj t_1 = 0;
92 Obj t_2 = 0;
93 Obj t_3 = 0;
94 Obj t_4 = 0;
95 Bag oldFrame;
96
97 /* allocate new stack frame */
98 SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
99
100 /* return Center and IsAssociative; */
101 t_2 = GC_Center;
102 CHECK_BOUND( t_2, "Center" );
103 if ( t_2 == False ) {
104 t_1 = t_2;
105 }
106 else if ( t_2 == True ) {
107 t_3 = GC_IsAssociative;
108 CHECK_BOUND( t_3, "IsAssociative" );
109 CHECK_BOOL( t_3 );
110 t_1 = t_3;
111 }
112 else if (IS_FILTER( t_2 ) ) {
113 t_4 = GC_IsAssociative;
114 CHECK_BOUND( t_4, "IsAssociative" );
115 t_1 = NewAndFilter( t_2, t_4 );
116 }
117 else {
118 RequireArgumentEx(0, t_2, "<expr>",
119 "must be 'true' or 'false' or a filter" );
120 }
121 SWITCH_TO_OLD_FRAME(oldFrame);
122 return t_1;
123
124 /* return; */
125 SWITCH_TO_OLD_FRAME(oldFrame);
126 return 0;
127 }
128
129 /* handler for function 6 */
HdlrFunc6(Obj self)130 static Obj HdlrFunc6 (
131 Obj self )
132 {
133 Obj t_1 = 0;
134 Obj t_2 = 0;
135 Obj t_3 = 0;
136 Obj t_4 = 0;
137 Bag oldFrame;
138
139 /* allocate new stack frame */
140 SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
141
142 /* return IsAssociative and Center; */
143 t_2 = GC_IsAssociative;
144 CHECK_BOUND( t_2, "IsAssociative" );
145 if ( t_2 == False ) {
146 t_1 = t_2;
147 }
148 else if ( t_2 == True ) {
149 t_3 = GC_Center;
150 CHECK_BOUND( t_3, "Center" );
151 CHECK_BOOL( t_3 );
152 t_1 = t_3;
153 }
154 else if (IS_FILTER( t_2 ) ) {
155 t_4 = GC_Center;
156 CHECK_BOUND( t_4, "Center" );
157 t_1 = NewAndFilter( t_2, t_4 );
158 }
159 else {
160 RequireArgumentEx(0, t_2, "<expr>",
161 "must be 'true' or 'false' or a filter" );
162 }
163 SWITCH_TO_OLD_FRAME(oldFrame);
164 return t_1;
165
166 /* return; */
167 SWITCH_TO_OLD_FRAME(oldFrame);
168 return 0;
169 }
170
171 /* handler for function 7 */
HdlrFunc7(Obj self)172 static Obj HdlrFunc7 (
173 Obj self )
174 {
175 Obj t_1 = 0;
176 Obj t_2 = 0;
177 Obj t_3 = 0;
178 Bag oldFrame;
179
180 /* allocate new stack frame */
181 SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
182
183 /* return 1 and false; */
184 if ( INTOBJ_INT(1) == False ) {
185 t_1 = INTOBJ_INT(1);
186 }
187 else if ( INTOBJ_INT(1) == True ) {
188 t_2 = False;
189 t_1 = t_2;
190 }
191 else if (IS_FILTER( INTOBJ_INT(1) ) ) {
192 t_3 = False;
193 t_1 = NewAndFilter( INTOBJ_INT(1), t_3 );
194 }
195 else {
196 RequireArgumentEx(0, INTOBJ_INT(1), "<expr>",
197 "must be 'true' or 'false' or a filter" );
198 }
199 SWITCH_TO_OLD_FRAME(oldFrame);
200 return t_1;
201
202 /* return; */
203 SWITCH_TO_OLD_FRAME(oldFrame);
204 return 0;
205 }
206
207 /* handler for function 8 */
HdlrFunc8(Obj self)208 static Obj HdlrFunc8 (
209 Obj self )
210 {
211 Obj t_1 = 0;
212 Obj t_2 = 0;
213 Obj t_3 = 0;
214 Obj t_4 = 0;
215 Bag oldFrame;
216
217 /* allocate new stack frame */
218 SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
219
220 /* return 1 or true; */
221 CHECK_BOOL( INTOBJ_INT(1) );
222 t_2 = (Obj)(UInt)(INTOBJ_INT(1) != False);
223 t_1 = (t_2 ? True : False);
224 if ( t_1 == False ) {
225 t_4 = True;
226 t_3 = (Obj)(UInt)(t_4 != False);
227 t_1 = (t_3 ? True : False);
228 }
229 SWITCH_TO_OLD_FRAME(oldFrame);
230 return t_1;
231
232 /* return; */
233 SWITCH_TO_OLD_FRAME(oldFrame);
234 return 0;
235 }
236
237 /* handler for function 2 */
HdlrFunc2(Obj self)238 static Obj HdlrFunc2 (
239 Obj self )
240 {
241 Obj t_1 = 0;
242 Obj t_2 = 0;
243 Obj t_3 = 0;
244 Obj t_4 = 0;
245 Obj t_5 = 0;
246 Bag oldFrame;
247
248 /* allocate new stack frame */
249 SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
250
251 /* Print( false and 1, "\n" ); */
252 t_1 = GF_Print;
253 t_3 = False;
254 if ( t_3 == False ) {
255 t_2 = t_3;
256 }
257 else if ( t_3 == True ) {
258 CHECK_BOOL( INTOBJ_INT(1) );
259 t_2 = INTOBJ_INT(1);
260 }
261 else if (IS_FILTER( t_3 ) ) {
262 t_2 = NewAndFilter( t_3, INTOBJ_INT(1) );
263 }
264 else {
265 RequireArgumentEx(0, t_3, "<expr>",
266 "must be 'true' or 'false' or a filter" );
267 }
268 t_3 = MakeString( "\n" );
269 if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
270 CALL_2ARGS( t_1, t_2, t_3 );
271 }
272 else {
273 DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
274 }
275
276 /* Print( true or 1, "\n" ); */
277 t_1 = GF_Print;
278 t_4 = True;
279 t_3 = (Obj)(UInt)(t_4 != False);
280 t_2 = (t_3 ? True : False);
281 if ( t_2 == False ) {
282 CHECK_BOOL( INTOBJ_INT(1) );
283 t_4 = (Obj)(UInt)(INTOBJ_INT(1) != False);
284 t_2 = (t_4 ? True : False);
285 }
286 t_3 = MakeString( "\n" );
287 if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
288 CALL_2ARGS( t_1, t_2, t_3 );
289 }
290 else {
291 DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
292 }
293
294 /* Print( function ( )
295 return false and 1;
296 end( ), "\n" ); */
297 t_1 = GF_Print;
298 t_3 = NewFunction( NameFunc[3], 0, 0, HdlrFunc3 );
299 SET_ENVI_FUNC( t_3, STATE(CurrLVars) );
300 t_4 = NewFunctionBody();
301 SET_STARTLINE_BODY(t_4, 5);
302 SET_ENDLINE_BODY(t_4, 5);
303 SET_FILENAME_BODY(t_4, FileName);
304 SET_BODY_FUNC(t_3, t_4);
305 if ( TNUM_OBJ( t_3 ) == T_FUNCTION ) {
306 t_2 = CALL_0ARGS( t_3 );
307 }
308 else {
309 t_2 = DoOperation2Args( CallFuncListOper, t_3, NewPlistFromArgs( ) );
310 }
311 CHECK_FUNC_RESULT( t_2 );
312 t_3 = MakeString( "\n" );
313 if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
314 CALL_2ARGS( t_1, t_2, t_3 );
315 }
316 else {
317 DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
318 }
319
320 /* Print( function ( )
321 return true or 1;
322 end( ), "\n" ); */
323 t_1 = GF_Print;
324 t_3 = NewFunction( NameFunc[4], 0, 0, HdlrFunc4 );
325 SET_ENVI_FUNC( t_3, STATE(CurrLVars) );
326 t_4 = NewFunctionBody();
327 SET_STARTLINE_BODY(t_4, 6);
328 SET_ENDLINE_BODY(t_4, 6);
329 SET_FILENAME_BODY(t_4, FileName);
330 SET_BODY_FUNC(t_3, t_4);
331 if ( TNUM_OBJ( t_3 ) == T_FUNCTION ) {
332 t_2 = CALL_0ARGS( t_3 );
333 }
334 else {
335 t_2 = DoOperation2Args( CallFuncListOper, t_3, NewPlistFromArgs( ) );
336 }
337 CHECK_FUNC_RESULT( t_2 );
338 t_3 = MakeString( "\n" );
339 if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
340 CALL_2ARGS( t_1, t_2, t_3 );
341 }
342 else {
343 DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
344 }
345
346 /* Print( IsAssociative and IsAssociative, "\n" ); */
347 t_1 = GF_Print;
348 t_3 = GC_IsAssociative;
349 CHECK_BOUND( t_3, "IsAssociative" );
350 if ( t_3 == False ) {
351 t_2 = t_3;
352 }
353 else if ( t_3 == True ) {
354 t_4 = GC_IsAssociative;
355 CHECK_BOUND( t_4, "IsAssociative" );
356 CHECK_BOOL( t_4 );
357 t_2 = t_4;
358 }
359 else if (IS_FILTER( t_3 ) ) {
360 t_5 = GC_IsAssociative;
361 CHECK_BOUND( t_5, "IsAssociative" );
362 t_2 = NewAndFilter( t_3, t_5 );
363 }
364 else {
365 RequireArgumentEx(0, t_3, "<expr>",
366 "must be 'true' or 'false' or a filter" );
367 }
368 t_3 = MakeString( "\n" );
369 if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
370 CALL_2ARGS( t_1, t_2, t_3 );
371 }
372 else {
373 DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
374 }
375
376 /* BreakOnError := false; */
377 t_1 = False;
378 AssGVar( G_BreakOnError, t_1 );
379
380 /* CALL_WITH_CATCH( function ( )
381 return Center and IsAssociative;
382 end, [ ] ); */
383 t_1 = GF_CALL__WITH__CATCH;
384 t_2 = NewFunction( NameFunc[5], 0, 0, HdlrFunc5 );
385 SET_ENVI_FUNC( t_2, STATE(CurrLVars) );
386 t_3 = NewFunctionBody();
387 SET_STARTLINE_BODY(t_3, 13);
388 SET_ENDLINE_BODY(t_3, 13);
389 SET_FILENAME_BODY(t_3, FileName);
390 SET_BODY_FUNC(t_2, t_3);
391 t_3 = NEW_PLIST( T_PLIST, 0 );
392 SET_LEN_PLIST( t_3, 0 );
393 if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
394 CALL_2ARGS( t_1, t_2, t_3 );
395 }
396 else {
397 DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
398 }
399
400 /* CALL_WITH_CATCH( function ( )
401 return IsAssociative and Center;
402 end, [ ] ); */
403 t_1 = GF_CALL__WITH__CATCH;
404 t_2 = NewFunction( NameFunc[6], 0, 0, HdlrFunc6 );
405 SET_ENVI_FUNC( t_2, STATE(CurrLVars) );
406 t_3 = NewFunctionBody();
407 SET_STARTLINE_BODY(t_3, 16);
408 SET_ENDLINE_BODY(t_3, 16);
409 SET_FILENAME_BODY(t_3, FileName);
410 SET_BODY_FUNC(t_2, t_3);
411 t_3 = NEW_PLIST( T_PLIST, 0 );
412 SET_LEN_PLIST( t_3, 0 );
413 if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
414 CALL_2ARGS( t_1, t_2, t_3 );
415 }
416 else {
417 DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
418 }
419
420 /* CALL_WITH_CATCH( function ( )
421 return 1 and false;
422 end, [ ] ); */
423 t_1 = GF_CALL__WITH__CATCH;
424 t_2 = NewFunction( NameFunc[7], 0, 0, HdlrFunc7 );
425 SET_ENVI_FUNC( t_2, STATE(CurrLVars) );
426 t_3 = NewFunctionBody();
427 SET_STARTLINE_BODY(t_3, 18);
428 SET_ENDLINE_BODY(t_3, 18);
429 SET_FILENAME_BODY(t_3, FileName);
430 SET_BODY_FUNC(t_2, t_3);
431 t_3 = NEW_PLIST( T_PLIST, 0 );
432 SET_LEN_PLIST( t_3, 0 );
433 if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
434 CALL_2ARGS( t_1, t_2, t_3 );
435 }
436 else {
437 DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
438 }
439
440 /* CALL_WITH_CATCH( function ( )
441 return 1 or true;
442 end, [ ] ); */
443 t_1 = GF_CALL__WITH__CATCH;
444 t_2 = NewFunction( NameFunc[8], 0, 0, HdlrFunc8 );
445 SET_ENVI_FUNC( t_2, STATE(CurrLVars) );
446 t_3 = NewFunctionBody();
447 SET_STARTLINE_BODY(t_3, 19);
448 SET_ENDLINE_BODY(t_3, 19);
449 SET_FILENAME_BODY(t_3, FileName);
450 SET_BODY_FUNC(t_2, t_3);
451 t_3 = NEW_PLIST( T_PLIST, 0 );
452 SET_LEN_PLIST( t_3, 0 );
453 if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
454 CALL_2ARGS( t_1, t_2, t_3 );
455 }
456 else {
457 DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
458 }
459
460 /* return; */
461 SWITCH_TO_OLD_FRAME(oldFrame);
462 return 0;
463
464 /* return; */
465 SWITCH_TO_OLD_FRAME(oldFrame);
466 return 0;
467 }
468
469 /* handler for function 1 */
HdlrFunc1(Obj self)470 static Obj HdlrFunc1 (
471 Obj self )
472 {
473 Obj t_1 = 0;
474 Obj t_2 = 0;
475 Bag oldFrame;
476
477 /* allocate new stack frame */
478 SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
479
480 /* runtest := function ( )
481 Print( false and 1, "\n" );
482 Print( true or 1, "\n" );
483 Print( function ( )
484 return false and 1;
485 end( ), "\n" );
486 Print( function ( )
487 return true or 1;
488 end( ), "\n" );
489 Print( IsAssociative and IsAssociative, "\n" );
490 BreakOnError := false;
491 CALL_WITH_CATCH( function ( )
492 return Center and IsAssociative;
493 end, [ ] );
494 CALL_WITH_CATCH( function ( )
495 return IsAssociative and Center;
496 end, [ ] );
497 CALL_WITH_CATCH( function ( )
498 return 1 and false;
499 end, [ ] );
500 CALL_WITH_CATCH( function ( )
501 return 1 or true;
502 end, [ ] );
503 return;
504 end; */
505 t_1 = NewFunction( NameFunc[2], 0, 0, HdlrFunc2 );
506 SET_ENVI_FUNC( t_1, STATE(CurrLVars) );
507 t_2 = NewFunctionBody();
508 SET_STARTLINE_BODY(t_2, 1);
509 SET_ENDLINE_BODY(t_2, 21);
510 SET_FILENAME_BODY(t_2, FileName);
511 SET_BODY_FUNC(t_1, t_2);
512 AssGVar( G_runtest, t_1 );
513
514 /* return; */
515 SWITCH_TO_OLD_FRAME(oldFrame);
516 return 0;
517
518 /* return; */
519 SWITCH_TO_OLD_FRAME(oldFrame);
520 return 0;
521 }
522
523 /* 'PostRestore' restore gvars, rnams, functions */
PostRestore(StructInitInfo * module)524 static Int PostRestore ( StructInitInfo * module )
525 {
526
527 /* global variables used in handlers */
528 G_Print = GVarName( "Print" );
529 G_CALL__WITH__CATCH = GVarName( "CALL_WITH_CATCH" );
530 G_runtest = GVarName( "runtest" );
531 G_IsAssociative = GVarName( "IsAssociative" );
532 G_BreakOnError = GVarName( "BreakOnError" );
533 G_Center = GVarName( "Center" );
534
535 /* record names used in handlers */
536
537 /* information for the functions */
538 NameFunc[1] = 0;
539 NameFunc[2] = 0;
540 NameFunc[3] = 0;
541 NameFunc[4] = 0;
542 NameFunc[5] = 0;
543 NameFunc[6] = 0;
544 NameFunc[7] = 0;
545 NameFunc[8] = 0;
546
547 /* return success */
548 return 0;
549
550 }
551
552
553 /* 'InitKernel' sets up data structures, fopies, copies, handlers */
InitKernel(StructInitInfo * module)554 static Int InitKernel ( StructInitInfo * module )
555 {
556
557 /* global variables used in handlers */
558 InitFopyGVar( "Print", &GF_Print );
559 InitFopyGVar( "CALL_WITH_CATCH", &GF_CALL__WITH__CATCH );
560 InitCopyGVar( "IsAssociative", &GC_IsAssociative );
561 InitCopyGVar( "Center", &GC_Center );
562
563 /* information for the functions */
564 InitGlobalBag( &FileName, "and_filter.g:FileName("FILE_CRC")" );
565 InitHandlerFunc( HdlrFunc1, "and_filter.g:HdlrFunc1("FILE_CRC")" );
566 InitGlobalBag( &(NameFunc[1]), "and_filter.g:NameFunc[1]("FILE_CRC")" );
567 InitHandlerFunc( HdlrFunc2, "and_filter.g:HdlrFunc2("FILE_CRC")" );
568 InitGlobalBag( &(NameFunc[2]), "and_filter.g:NameFunc[2]("FILE_CRC")" );
569 InitHandlerFunc( HdlrFunc3, "and_filter.g:HdlrFunc3("FILE_CRC")" );
570 InitGlobalBag( &(NameFunc[3]), "and_filter.g:NameFunc[3]("FILE_CRC")" );
571 InitHandlerFunc( HdlrFunc4, "and_filter.g:HdlrFunc4("FILE_CRC")" );
572 InitGlobalBag( &(NameFunc[4]), "and_filter.g:NameFunc[4]("FILE_CRC")" );
573 InitHandlerFunc( HdlrFunc5, "and_filter.g:HdlrFunc5("FILE_CRC")" );
574 InitGlobalBag( &(NameFunc[5]), "and_filter.g:NameFunc[5]("FILE_CRC")" );
575 InitHandlerFunc( HdlrFunc6, "and_filter.g:HdlrFunc6("FILE_CRC")" );
576 InitGlobalBag( &(NameFunc[6]), "and_filter.g:NameFunc[6]("FILE_CRC")" );
577 InitHandlerFunc( HdlrFunc7, "and_filter.g:HdlrFunc7("FILE_CRC")" );
578 InitGlobalBag( &(NameFunc[7]), "and_filter.g:NameFunc[7]("FILE_CRC")" );
579 InitHandlerFunc( HdlrFunc8, "and_filter.g:HdlrFunc8("FILE_CRC")" );
580 InitGlobalBag( &(NameFunc[8]), "and_filter.g:NameFunc[8]("FILE_CRC")" );
581
582 /* return success */
583 return 0;
584
585 }
586
587 /* 'InitLibrary' sets up gvars, rnams, functions */
InitLibrary(StructInitInfo * module)588 static Int InitLibrary ( StructInitInfo * module )
589 {
590 Obj func1;
591 Obj body1;
592
593 /* Complete Copy/Fopy registration */
594 UpdateCopyFopyInfo();
595 FileName = MakeImmString( "and_filter.g" );
596 PostRestore(module);
597
598 /* create all the functions defined in this module */
599 func1 = NewFunction(NameFunc[1],0,0,HdlrFunc1);
600 SET_ENVI_FUNC( func1, STATE(CurrLVars) );
601 body1 = NewFunctionBody();
602 SET_BODY_FUNC( func1, body1 );
603 CHANGED_BAG( func1 );
604 CALL_0ARGS( func1 );
605
606 /* return success */
607 return 0;
608
609 }
610
611 /* <name> returns the description of this module */
612 static StructInitInfo module = {
613 .type = MODULE_DYNAMIC,
614 .name = "and_filter.g",
615 .crc = -101028112,
616 .initKernel = InitKernel,
617 .initLibrary = InitLibrary,
618 .postRestore = PostRestore,
619 };
620
Init__Dynamic(void)621 StructInitInfo * Init__Dynamic ( void )
622 {
623 return &module;
624 }
625
626 /* compiled code ends here */
627