/
AbsynToSCode.c
5248 lines (5248 loc) · 191 KB
/
AbsynToSCode.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#ifdef OMC_BASE_FILE
#define OMC_FILE OMC_BASE_FILE
#else
#define OMC_FILE "/home/mahge/dev/OpenModelica/OMCompiler/Compiler/boot/build/tmp/AbsynToSCode.c"
#endif
#include "omc_simulation_settings.h"
#include "AbsynToSCode.h"
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT0,1,5) {&ErrorTypes_MessageType_TRANSLATION__desc,}};
#define _OMC_LIT0 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT0)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1,1,6) {&ErrorTypes_Severity_NOTIFICATION__desc,}};
#define _OMC_LIT1 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1)
#define _OMC_LIT2_data "Tuple complex type specifiers need to have more than one type name: %s."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2,71,_OMC_LIT2_data);
#define _OMC_LIT2 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT2}};
#define _OMC_LIT3 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT4,5,3) {&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(276)),_OMC_LIT0,_OMC_LIT1,_OMC_LIT3}};
#define _OMC_LIT4 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT4)
#define _OMC_LIT5_data "Non-tuple complex type specifiers need to have exactly one type name: %s."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT5,73,_OMC_LIT5_data);
#define _OMC_LIT5 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT5)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT6,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT5}};
#define _OMC_LIT6 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT6)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT7,5,3) {&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(275)),_OMC_LIT0,_OMC_LIT1,_OMC_LIT6}};
#define _OMC_LIT7 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT7)
#define _OMC_LIT8_data "list"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT8,4,_OMC_LIT8_data);
#define _OMC_LIT8 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT8)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT9,2,4) {&Absyn_Path_IDENT__desc,_OMC_LIT8}};
#define _OMC_LIT9 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT9)
#define _OMC_LIT10_data "List"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT10,4,_OMC_LIT10_data);
#define _OMC_LIT10 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT10)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT11,2,4) {&Absyn_Path_IDENT__desc,_OMC_LIT10}};
#define _OMC_LIT11 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT11)
#define _OMC_LIT12_data "array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT12,5,_OMC_LIT12_data);
#define _OMC_LIT12 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT12)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT13,2,4) {&Absyn_Path_IDENT__desc,_OMC_LIT12}};
#define _OMC_LIT13 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT13)
#define _OMC_LIT14_data "Array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT14,5,_OMC_LIT14_data);
#define _OMC_LIT14 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT14)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT15,2,4) {&Absyn_Path_IDENT__desc,_OMC_LIT14}};
#define _OMC_LIT15 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT15)
#define _OMC_LIT16_data "polymorphic"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT16,11,_OMC_LIT16_data);
#define _OMC_LIT16 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT16)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT17,2,4) {&Absyn_Path_IDENT__desc,_OMC_LIT16}};
#define _OMC_LIT17 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT17)
#define _OMC_LIT18_data "Option"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT18,6,_OMC_LIT18_data);
#define _OMC_LIT18 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT18)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT19,2,4) {&Absyn_Path_IDENT__desc,_OMC_LIT18}};
#define _OMC_LIT19 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT19)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT20,2,1) {_OMC_LIT19,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT20 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT20)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT21,2,1) {_OMC_LIT17,_OMC_LIT20}};
#define _OMC_LIT21 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT21)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT22,2,1) {_OMC_LIT15,_OMC_LIT21}};
#define _OMC_LIT22 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT22)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT23,2,1) {_OMC_LIT13,_OMC_LIT22}};
#define _OMC_LIT23 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT23)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT24,2,1) {_OMC_LIT11,_OMC_LIT23}};
#define _OMC_LIT24 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT24)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT25,2,1) {_OMC_LIT9,_OMC_LIT24}};
#define _OMC_LIT25 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT25)
#define _OMC_LIT26_data "tuple"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT26,5,_OMC_LIT26_data);
#define _OMC_LIT26 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT26)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT27,1,3) {&SCode_Each_EACH__desc,}};
#define _OMC_LIT27 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT27)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT28,1,4) {&SCode_Each_NOT__EACH__desc,}};
#define _OMC_LIT28 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT28)
#define _OMC_LIT29_data "Any"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT29,3,_OMC_LIT29_data);
#define _OMC_LIT29 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT29)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT30,2,4) {&Absyn_Path_IDENT__desc,_OMC_LIT29}};
#define _OMC_LIT30 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT30)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT31,3,3) {&Absyn_TypeSpec_TPATH__desc,_OMC_LIT30,MMC_REFSTRUCTLIT(mmc_none)}};
#define _OMC_LIT31 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT31)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT32,2,1) {_OMC_LIT31,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT32 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT32)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT33,4,4) {&Absyn_TypeSpec_TCOMPLEX__desc,_OMC_LIT17,_OMC_LIT32,MMC_REFSTRUCTLIT(mmc_none)}};
#define _OMC_LIT33 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT33)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT34,1,5) {&SCode_Mod_NOMOD__desc,}};
#define _OMC_LIT34 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT34)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT35,1,3) {&SCode_ConnectorType_POTENTIAL__desc,}};
#define _OMC_LIT35 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT35)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT36,1,5) {&SCode_Parallelism_NON__PARALLEL__desc,}};
#define _OMC_LIT36 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT36)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT37,1,3) {&SCode_Variability_VAR__desc,}};
#define _OMC_LIT37 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT37)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT38,1,5) {&Absyn_Direction_BIDIR__desc,}};
#define _OMC_LIT38 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT38)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT39,1,3) {&Absyn_IsField_NONFIELD__desc,}};
#define _OMC_LIT39 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT39)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT40,7,3) {&SCode_Attributes_ATTR__desc,MMC_REFSTRUCTLIT(mmc_nil),_OMC_LIT35,_OMC_LIT36,_OMC_LIT37,_OMC_LIT38,_OMC_LIT39}};
#define _OMC_LIT40 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT40)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT41,1,3) {&SCode_Visibility_PUBLIC__desc,}};
#define _OMC_LIT41 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT41)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT42,1,4) {&SCode_Redeclare_NOT__REDECLARE__desc,}};
#define _OMC_LIT42 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT42)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT43,1,3) {&SCode_Final_FINAL__desc,}};
#define _OMC_LIT43 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT43)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT44,1,6) {&Absyn_InnerOuter_NOT__INNER__OUTER__desc,}};
#define _OMC_LIT44 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT44)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT45,1,4) {&SCode_Replaceable_NOT__REPLACEABLE__desc,}};
#define _OMC_LIT45 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT45)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT46,6,3) {&SCode_Prefixes_PREFIXES__desc,_OMC_LIT41,_OMC_LIT42,_OMC_LIT43,_OMC_LIT44,_OMC_LIT45}};
#define _OMC_LIT46 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT46)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT47,1,4) {&SCode_Encapsulated_NOT__ENCAPSULATED__desc,}};
#define _OMC_LIT47 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT47)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT48,1,4) {&SCode_Partial_NOT__PARTIAL__desc,}};
#define _OMC_LIT48 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT48)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT49,1,10) {&SCode_Restriction_R__TYPE__desc,}};
#define _OMC_LIT49 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT49)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT50,3,3) {&SCode_Comment_COMMENT__desc,MMC_REFSTRUCTLIT(mmc_none),MMC_REFSTRUCTLIT(mmc_none)}};
#define _OMC_LIT50 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT50)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT51,1,4) {&SCode_Final_NOT__FINAL__desc,}};
#define _OMC_LIT51 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT51)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT52,1,3) {&Absyn_EqMod_NOMOD__desc,}};
#define _OMC_LIT52 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT52)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT53,1,4) {&ErrorTypes_Severity_ERROR__desc,}};
#define _OMC_LIT53 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT53)
#define _OMC_LIT54_data "Internal error %s"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT54,17,_OMC_LIT54_data);
#define _OMC_LIT54 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT54)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT55,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT54}};
#define _OMC_LIT55 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT55)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT56,5,3) {&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(63)),_OMC_LIT0,_OMC_LIT53,_OMC_LIT55}};
#define _OMC_LIT56 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT56)
#define _OMC_LIT57_data "For loops with guards not yet implemented"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT57,41,_OMC_LIT57_data);
#define _OMC_LIT57 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT57)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT58,2,1) {_OMC_LIT57,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT58 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT58)
#define _OMC_LIT59_data "Connect equations are not allowed in initial equation sections."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT59,63,_OMC_LIT59_data);
#define _OMC_LIT59 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT59)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT60,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT59}};
#define _OMC_LIT60 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT60)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT61,5,3) {&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(221)),_OMC_LIT0,_OMC_LIT53,_OMC_LIT60}};
#define _OMC_LIT61 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT61)
#define _OMC_LIT62_data "AssertionLevel"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT62,14,_OMC_LIT62_data);
#define _OMC_LIT62 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT62)
#define _OMC_LIT63_data "error"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT63,5,_OMC_LIT63_data);
#define _OMC_LIT63 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT63)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT64,3,5) {&Absyn_ComponentRef_CREF__IDENT__desc,_OMC_LIT63,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT64 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT64)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT65,4,4) {&Absyn_ComponentRef_CREF__QUAL__desc,_OMC_LIT62,MMC_REFSTRUCTLIT(mmc_nil),_OMC_LIT64}};
#define _OMC_LIT65 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT65)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT66,2,3) {&Absyn_ComponentRef_CREF__FULLYQUALIFIED__desc,_OMC_LIT65}};
#define _OMC_LIT66 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT66)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT67,2,5) {&Absyn_Exp_CREF__desc,_OMC_LIT66}};
#define _OMC_LIT67 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT67)
#define _OMC_LIT68_data "assert"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT68,6,_OMC_LIT68_data);
#define _OMC_LIT68 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT68)
#define _OMC_LIT69_data "level"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT69,5,_OMC_LIT69_data);
#define _OMC_LIT69 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT69)
#define _OMC_LIT70_data "terminate"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT70,9,_OMC_LIT70_data);
#define _OMC_LIT70 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT70)
#define _OMC_LIT71_data "reinit"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT71,6,_OMC_LIT71_data);
#define _OMC_LIT71 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT71)
static const MMC_DEFREALLIT(_OMC_LIT_STRUCT72,0.0);
#define _OMC_LIT72 MMC_REFREALLIT(_OMC_LIT_STRUCT72)
#define _OMC_LIT73_data "__OpenModelica_FileInfo"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT73,23,_OMC_LIT73_data);
#define _OMC_LIT73 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT73)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT74,1,4) {&SCode_Variability_DISCRETE__desc,}};
#define _OMC_LIT74 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT74)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT75,1,5) {&SCode_Variability_PARAM__desc,}};
#define _OMC_LIT75 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT75)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT76,1,6) {&SCode_Variability_CONST__desc,}};
#define _OMC_LIT76 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT76)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT77,1,3) {&SCode_Parallelism_PARGLOBAL__desc,}};
#define _OMC_LIT77 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT77)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT78,1,4) {&SCode_Parallelism_PARLOCAL__desc,}};
#define _OMC_LIT78 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT78)
#define _OMC_LIT79_data ""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT79,0,_OMC_LIT79_data);
#define _OMC_LIT79 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT79)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT80,8,3) {&SourceInfo_SOURCEINFO__desc,_OMC_LIT79,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT72}};
#define _OMC_LIT80 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT80)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT81,1,9) {&SCode_Restriction_R__OPERATOR__desc,}};
#define _OMC_LIT81 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT81)
#define _OMC_LIT82_data "$in_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT82,4,_OMC_LIT82_data);
#define _OMC_LIT82 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT82)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT83,1,3) {&Absyn_Direction_INPUT__desc,}};
#define _OMC_LIT83 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT83)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT84,1,4) {&Absyn_Direction_OUTPUT__desc,}};
#define _OMC_LIT84 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT84)
#define _OMC_LIT85_data "skipInputOutputSyntacticSugar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT85,29,_OMC_LIT85_data);
#define _OMC_LIT85 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT85)
#define _OMC_LIT86_data "Used when bootstrapping to preserve the input output parsing of the code output by the list command."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT86,100,_OMC_LIT86_data);
#define _OMC_LIT86 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT86)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT87,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT86}};
#define _OMC_LIT87 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT87)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT88,5,3) {&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(154)),_OMC_LIT85,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT87}};
#define _OMC_LIT88 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT88)
#define _OMC_LIT89_data "AbsynToSCode.translateElementspec failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT89,40,_OMC_LIT89_data);
#define _OMC_LIT89 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT89)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT90,2,1) {_OMC_LIT89,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT90 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT90)
#define _OMC_LIT91_data "exp"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT91,3,_OMC_LIT91_data);
#define _OMC_LIT91 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT91)
#define _OMC_LIT92_data "weight"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT92,6,_OMC_LIT92_data);
#define _OMC_LIT92 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT92)
#define _OMC_LIT93_data "failtrace"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT93,9,_OMC_LIT93_data);
#define _OMC_LIT93 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT93)
#define _OMC_LIT94_data "Sets whether to print a failtrace or not."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT94,41,_OMC_LIT94_data);
#define _OMC_LIT94 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT94)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT95,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT94}};
#define _OMC_LIT95 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT95)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT96,5,3) {&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),_OMC_LIT93,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT95}};
#define _OMC_LIT96 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT96)
#define _OMC_LIT97_data "- AbsynToSCode.translateClassdefConstraints failed\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT97,51,_OMC_LIT97_data);
#define _OMC_LIT97 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT97)
#define _OMC_LIT98_data "- AbsynToSCode.translateClassdefAlgorithms failed\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT98,50,_OMC_LIT98_data);
#define _OMC_LIT98 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT98)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT99,1,4) {&SCode_Visibility_PROTECTED__desc,}};
#define _OMC_LIT99 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT99)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT100,2,6) {&SCode_ClassDef_ENUMERATION__desc,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT100 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT100)
#define _OMC_LIT101_data "AbsynToSCode.translateClassdef failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT101,37,_OMC_LIT101_data);
#define _OMC_LIT101 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT101)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT102,2,1) {_OMC_LIT101,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT102 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT102)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT103,1,4) {&SCode_ConnectorType_FLOW__desc,}};
#define _OMC_LIT103 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT103)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT104,1,5) {&SCode_ConnectorType_STREAM__desc,}};
#define _OMC_LIT104 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT104)
#define _OMC_LIT105_data "AbsynToSCode.translateConnectorType got both flow and stream prefix."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT105,68,_OMC_LIT105_data);
#define _OMC_LIT105 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT105)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT106,2,1) {_OMC_LIT105,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT106 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT106)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT107,1,5) {&SCode_FunctionRestriction_FR__OPERATOR__FUNCTION__desc,}};
#define _OMC_LIT107 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT107)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT108,2,12) {&SCode_Restriction_R__FUNCTION__desc,_OMC_LIT107}};
#define _OMC_LIT108 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT108)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT109,1,7) {&SCode_FunctionRestriction_FR__PARALLEL__FUNCTION__desc,}};
#define _OMC_LIT109 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT109)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT110,2,12) {&SCode_Restriction_R__FUNCTION__desc,_OMC_LIT109}};
#define _OMC_LIT110 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT110)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT111,1,8) {&SCode_FunctionRestriction_FR__KERNEL__FUNCTION__desc,}};
#define _OMC_LIT111 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT111)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT112,2,12) {&SCode_Restriction_R__FUNCTION__desc,_OMC_LIT111}};
#define _OMC_LIT112 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT112)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT113,1,3) {&SCode_Restriction_R__CLASS__desc,}};
#define _OMC_LIT113 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT113)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT114,1,4) {&SCode_Restriction_R__OPTIMIZATION__desc,}};
#define _OMC_LIT114 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT114)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT115,1,5) {&SCode_Restriction_R__MODEL__desc,}};
#define _OMC_LIT115 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT115)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT116,2,6) {&SCode_Restriction_R__RECORD__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT116 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT116)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT117,2,6) {&SCode_Restriction_R__RECORD__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT117 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT117)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT118,1,7) {&SCode_Restriction_R__BLOCK__desc,}};
#define _OMC_LIT118 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT118)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT119,2,8) {&SCode_Restriction_R__CONNECTOR__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT119 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT119)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT120,2,8) {&SCode_Restriction_R__CONNECTOR__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT120 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT120)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT121,1,11) {&SCode_Restriction_R__PACKAGE__desc,}};
#define _OMC_LIT121 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT121)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT122,1,13) {&SCode_Restriction_R__ENUMERATION__desc,}};
#define _OMC_LIT122 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT122)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT123,1,14) {&SCode_Restriction_R__PREDEFINED__INTEGER__desc,}};
#define _OMC_LIT123 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT123)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT124,1,15) {&SCode_Restriction_R__PREDEFINED__REAL__desc,}};
#define _OMC_LIT124 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT124)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT125,1,16) {&SCode_Restriction_R__PREDEFINED__STRING__desc,}};
#define _OMC_LIT125 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT125)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT126,1,17) {&SCode_Restriction_R__PREDEFINED__BOOLEAN__desc,}};
#define _OMC_LIT126 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT126)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT127,1,19) {&SCode_Restriction_R__PREDEFINED__CLOCK__desc,}};
#define _OMC_LIT127 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT127)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT128,1,18) {&SCode_Restriction_R__PREDEFINED__ENUMERATION__desc,}};
#define _OMC_LIT128 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT128)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT129,2,21) {&SCode_Restriction_R__UNIONTYPE__desc,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT129 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT129)
#define _OMC_LIT130_data "Could not translate operator to SCode because it is not using class parts."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT130,74,_OMC_LIT130_data);
#define _OMC_LIT130 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT130)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT131,2,1) {_OMC_LIT130,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT131 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT131)
#define _OMC_LIT132_data "AbsynToSCode.translateClass2 failed: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT132,37,_OMC_LIT132_data);
#define _OMC_LIT132 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT132)
#include "util/modelica.h"
#include "AbsynToSCode_includes.h"
#if !defined(PROTECTED_FUNCTION_STATIC)
#define PROTECTED_FUNCTION_STATIC
#endif
PROTECTED_FUNCTION_STATIC void omc_AbsynToSCode_checkTypeSpec(threadData_t *threadData, modelica_metatype _ts, modelica_metatype _info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_checkTypeSpec,2,0) {(void*) boxptr_AbsynToSCode_checkTypeSpec,0}};
#define boxvar_AbsynToSCode_checkTypeSpec MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_checkTypeSpec)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateEach(threadData_t *threadData, modelica_metatype _inAEach);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEach,2,0) {(void*) boxptr_AbsynToSCode_translateEach,0}};
#define boxvar_AbsynToSCode_translateEach MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEach)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_makeTypeVarElement(threadData_t *threadData, modelica_string _str, modelica_metatype _info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_makeTypeVarElement,2,0) {(void*) boxptr_AbsynToSCode_makeTypeVarElement,0}};
#define boxvar_AbsynToSCode_makeTypeVarElement MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_makeTypeVarElement)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateSub(threadData_t *threadData, modelica_metatype _inPath, modelica_metatype _inMod, modelica_metatype _info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateSub,2,0) {(void*) boxptr_AbsynToSCode_translateSub,0}};
#define boxvar_AbsynToSCode_translateSub MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateSub)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateArgs(threadData_t *threadData, modelica_metatype _args);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateArgs,2,0) {(void*) boxptr_AbsynToSCode_translateArgs,0}};
#define boxvar_AbsynToSCode_translateArgs MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateArgs)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateElementAddinfo(threadData_t *threadData, modelica_metatype _elem, modelica_metatype _nfo);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateElementAddinfo,2,0) {(void*) boxptr_AbsynToSCode_translateElementAddinfo,0}};
#define boxvar_AbsynToSCode_translateElementAddinfo MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateElementAddinfo)
PROTECTED_FUNCTION_STATIC modelica_string omc_AbsynToSCode_translateIterator(threadData_t *threadData, modelica_metatype _inIterator, modelica_metatype _inInfo, modelica_metatype *out_outRange);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateIterator,2,0) {(void*) boxptr_AbsynToSCode_translateIterator,0}};
#define boxvar_AbsynToSCode_translateIterator MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateIterator)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateEqBranch(threadData_t *threadData, modelica_metatype _inBranch, modelica_boolean _inIsInitial, modelica_metatype *out_outBody);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToSCode_translateEqBranch(threadData_t *threadData, modelica_metatype _inBranch, modelica_metatype _inIsInitial, modelica_metatype *out_outBody);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEqBranch,2,0) {(void*) boxptr_AbsynToSCode_translateEqBranch,0}};
#define boxvar_AbsynToSCode_translateEqBranch MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEqBranch)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateEquation(threadData_t *threadData, modelica_metatype _inEquation, modelica_metatype _inComment, modelica_metatype _inInfo, modelica_boolean _inIsInitial);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToSCode_translateEquation(threadData_t *threadData, modelica_metatype _inEquation, modelica_metatype _inComment, modelica_metatype _inInfo, modelica_metatype _inIsInitial);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEquation,2,0) {(void*) boxptr_AbsynToSCode_translateEquation,0}};
#define boxvar_AbsynToSCode_translateEquation MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEquation)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateCommentSeparate(threadData_t *threadData, modelica_metatype _inComment, modelica_metatype *out_outStr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateCommentSeparate,2,0) {(void*) boxptr_AbsynToSCode_translateCommentSeparate,0}};
#define boxvar_AbsynToSCode_translateCommentSeparate MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateCommentSeparate)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateCommentList(threadData_t *threadData, modelica_metatype _inAnns, modelica_metatype _inString);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateCommentList,2,0) {(void*) boxptr_AbsynToSCode_translateCommentList,0}};
#define boxvar_AbsynToSCode_translateCommentList MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateCommentList)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateComment(threadData_t *threadData, modelica_metatype _inComment);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateComment,2,0) {(void*) boxptr_AbsynToSCode_translateComment,0}};
#define boxvar_AbsynToSCode_translateComment MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateComment)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_getInfoAnnotationOrDefault2(threadData_t *threadData, modelica_metatype _lst, modelica_metatype _default);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_getInfoAnnotationOrDefault2,2,0) {(void*) boxptr_AbsynToSCode_getInfoAnnotationOrDefault2,0}};
#define boxvar_AbsynToSCode_getInfoAnnotationOrDefault2 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_getInfoAnnotationOrDefault2)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_getInfoAnnotationOrDefault(threadData_t *threadData, modelica_metatype _comment, modelica_metatype _default);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_getInfoAnnotationOrDefault,2,0) {(void*) boxptr_AbsynToSCode_getInfoAnnotationOrDefault,0}};
#define boxvar_AbsynToSCode_getInfoAnnotationOrDefault MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_getInfoAnnotationOrDefault)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateCommentWithLineInfoChanges(threadData_t *threadData, modelica_metatype _inComment, modelica_metatype _inInfo, modelica_metatype *out_outInfo);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateCommentWithLineInfoChanges,2,0) {(void*) boxptr_AbsynToSCode_translateCommentWithLineInfoChanges,0}};
#define boxvar_AbsynToSCode_translateCommentWithLineInfoChanges MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateCommentWithLineInfoChanges)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateEEquations(threadData_t *threadData, modelica_metatype _inAbsynEquationItemLst, modelica_boolean _inIsInitial);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToSCode_translateEEquations(threadData_t *threadData, modelica_metatype _inAbsynEquationItemLst, modelica_metatype _inIsInitial);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEEquations,2,0) {(void*) boxptr_AbsynToSCode_translateEEquations,0}};
#define boxvar_AbsynToSCode_translateEEquations MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEEquations)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateEquations(threadData_t *threadData, modelica_metatype _inAbsynEquationItemLst, modelica_boolean _inIsInitial);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToSCode_translateEquations(threadData_t *threadData, modelica_metatype _inAbsynEquationItemLst, modelica_metatype _inIsInitial);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEquations,2,0) {(void*) boxptr_AbsynToSCode_translateEquations,0}};
#define boxvar_AbsynToSCode_translateEquations MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEquations)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateVariability(threadData_t *threadData, modelica_metatype _inVariability);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateVariability,2,0) {(void*) boxptr_AbsynToSCode_translateVariability,0}};
#define boxvar_AbsynToSCode_translateVariability MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateVariability)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateParallelism(threadData_t *threadData, modelica_metatype _inParallelism);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateParallelism,2,0) {(void*) boxptr_AbsynToSCode_translateParallelism,0}};
#define boxvar_AbsynToSCode_translateParallelism MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateParallelism)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateConstrainClass(threadData_t *threadData, modelica_metatype _inConstrainClass);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateConstrainClass,2,0) {(void*) boxptr_AbsynToSCode_translateConstrainClass,0}};
#define boxvar_AbsynToSCode_translateConstrainClass MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateConstrainClass)
PROTECTED_FUNCTION_STATIC modelica_boolean omc_AbsynToSCode_translateRedeclarekeywords(threadData_t *threadData, modelica_metatype _inRedeclKeywords, modelica_boolean *out_outIsRedeclared);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToSCode_translateRedeclarekeywords(threadData_t *threadData, modelica_metatype _inRedeclKeywords, modelica_metatype *out_outIsRedeclared);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateRedeclarekeywords,2,0) {(void*) boxptr_AbsynToSCode_translateRedeclarekeywords,0}};
#define boxvar_AbsynToSCode_translateRedeclarekeywords MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateRedeclarekeywords)
PROTECTED_FUNCTION_STATIC void omc_AbsynToSCode_setHasStreamConnectorsHandler(threadData_t *threadData, modelica_boolean _streamPrefix);
PROTECTED_FUNCTION_STATIC void boxptr_AbsynToSCode_setHasStreamConnectorsHandler(threadData_t *threadData, modelica_metatype _streamPrefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_setHasStreamConnectorsHandler,2,0) {(void*) boxptr_AbsynToSCode_setHasStreamConnectorsHandler,0}};
#define boxvar_AbsynToSCode_setHasStreamConnectorsHandler MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_setHasStreamConnectorsHandler)
PROTECTED_FUNCTION_STATIC void omc_AbsynToSCode_setHasInnerOuterDefinitionsHandler(threadData_t *threadData, modelica_metatype _io);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_setHasInnerOuterDefinitionsHandler,2,0) {(void*) boxptr_AbsynToSCode_setHasInnerOuterDefinitionsHandler,0}};
#define boxvar_AbsynToSCode_setHasInnerOuterDefinitionsHandler MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_setHasInnerOuterDefinitionsHandler)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateGroupImport(threadData_t *threadData, modelica_metatype _gimp, modelica_metatype _prefix, modelica_metatype _visibility, modelica_metatype _info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateGroupImport,2,0) {(void*) boxptr_AbsynToSCode_translateGroupImport,0}};
#define boxvar_AbsynToSCode_translateGroupImport MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateGroupImport)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateImports(threadData_t *threadData, modelica_metatype _imp, modelica_metatype _visibility, modelica_metatype _info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateImports,2,0) {(void*) boxptr_AbsynToSCode_translateImports,0}};
#define boxvar_AbsynToSCode_translateImports MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateImports)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateElementspec(threadData_t *threadData, modelica_metatype _cc, modelica_boolean _finalPrefix, modelica_metatype _io, modelica_metatype _inRedeclareKeywords, modelica_metatype _inVisibility, modelica_metatype _inElementSpec4, modelica_metatype _inInfo);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToSCode_translateElementspec(threadData_t *threadData, modelica_metatype _cc, modelica_metatype _finalPrefix, modelica_metatype _io, modelica_metatype _inRedeclareKeywords, modelica_metatype _inVisibility, modelica_metatype _inElementSpec4, modelica_metatype _inInfo);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateElementspec,2,0) {(void*) boxptr_AbsynToSCode_translateElementspec,0}};
#define boxvar_AbsynToSCode_translateElementspec MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateElementspec)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateDefineunitParam2(threadData_t *threadData, modelica_metatype _inArgs, modelica_string _inArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateDefineunitParam2,2,0) {(void*) boxptr_AbsynToSCode_translateDefineunitParam2,0}};
#define boxvar_AbsynToSCode_translateDefineunitParam2 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateDefineunitParam2)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateDefineunitParam(threadData_t *threadData, modelica_metatype _inArgs, modelica_string _inArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateDefineunitParam,2,0) {(void*) boxptr_AbsynToSCode_translateDefineunitParam,0}};
#define boxvar_AbsynToSCode_translateDefineunitParam MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateDefineunitParam)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateClassdefExternaldecls(threadData_t *threadData, modelica_metatype _inAbsynClassPartLst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefExternaldecls,2,0) {(void*) boxptr_AbsynToSCode_translateClassdefExternaldecls,0}};
#define boxvar_AbsynToSCode_translateClassdefExternaldecls MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefExternaldecls)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateAlgBranches(threadData_t *threadData, modelica_metatype _inBranches);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateAlgBranches,2,0) {(void*) boxptr_AbsynToSCode_translateAlgBranches,0}};
#define boxvar_AbsynToSCode_translateAlgBranches MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateAlgBranches)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateClassdefAlgorithmItem(threadData_t *threadData, modelica_metatype _inAlgorithm);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefAlgorithmItem,2,0) {(void*) boxptr_AbsynToSCode_translateClassdefAlgorithmItem,0}};
#define boxvar_AbsynToSCode_translateClassdefAlgorithmItem MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefAlgorithmItem)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateClassdefInitialalgorithms(threadData_t *threadData, modelica_metatype _inAbsynClassPartLst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefInitialalgorithms,2,0) {(void*) boxptr_AbsynToSCode_translateClassdefInitialalgorithms,0}};
#define boxvar_AbsynToSCode_translateClassdefInitialalgorithms MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefInitialalgorithms)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateClassdefConstraints(threadData_t *threadData, modelica_metatype _inAbsynClassPartLst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefConstraints,2,0) {(void*) boxptr_AbsynToSCode_translateClassdefConstraints,0}};
#define boxvar_AbsynToSCode_translateClassdefConstraints MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefConstraints)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateClassdefAlgorithms(threadData_t *threadData, modelica_metatype _inAbsynClassPartLst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefAlgorithms,2,0) {(void*) boxptr_AbsynToSCode_translateClassdefAlgorithms,0}};
#define boxvar_AbsynToSCode_translateClassdefAlgorithms MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefAlgorithms)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateClassdefInitialequations(threadData_t *threadData, modelica_metatype _inAbsynClassPartLst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefInitialequations,2,0) {(void*) boxptr_AbsynToSCode_translateClassdefInitialequations,0}};
#define boxvar_AbsynToSCode_translateClassdefInitialequations MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefInitialequations)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateClassdefEquations(threadData_t *threadData, modelica_metatype _inAbsynClassPartLst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefEquations,2,0) {(void*) boxptr_AbsynToSCode_translateClassdefEquations,0}};
#define boxvar_AbsynToSCode_translateClassdefEquations MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdefEquations)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateEnumlist(threadData_t *threadData, modelica_metatype _inAbsynEnumLiteralLst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEnumlist,2,0) {(void*) boxptr_AbsynToSCode_translateEnumlist,0}};
#define boxvar_AbsynToSCode_translateEnumlist MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateEnumlist)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_mergeSCodeAnnotationsFromParts(threadData_t *threadData, modelica_metatype _part, modelica_metatype _inMod);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_mergeSCodeAnnotationsFromParts,2,0) {(void*) boxptr_AbsynToSCode_mergeSCodeAnnotationsFromParts,0}};
#define boxvar_AbsynToSCode_mergeSCodeAnnotationsFromParts MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_mergeSCodeAnnotationsFromParts)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateAlternativeExternalAnnotation(threadData_t *threadData, modelica_metatype _decl, modelica_metatype _comment);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateAlternativeExternalAnnotation,2,0) {(void*) boxptr_AbsynToSCode_translateAlternativeExternalAnnotation,0}};
#define boxvar_AbsynToSCode_translateAlternativeExternalAnnotation MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateAlternativeExternalAnnotation)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateClassdef(threadData_t *threadData, modelica_metatype _inClassDef, modelica_metatype _info, modelica_metatype _re, modelica_metatype *out_outComment);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdef,2,0) {(void*) boxptr_AbsynToSCode_translateClassdef,0}};
#define boxvar_AbsynToSCode_translateClassdef MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClassdef)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateConnectorType(threadData_t *threadData, modelica_boolean _inFlow, modelica_boolean _inStream);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToSCode_translateConnectorType(threadData_t *threadData, modelica_metatype _inFlow, modelica_metatype _inStream);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateConnectorType,2,0) {(void*) boxptr_AbsynToSCode_translateConnectorType,0}};
#define boxvar_AbsynToSCode_translateConnectorType MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateConnectorType)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateAttributes(threadData_t *threadData, modelica_metatype _inEA, modelica_metatype _extraArrayDim);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateAttributes,2,0) {(void*) boxptr_AbsynToSCode_translateAttributes,0}};
#define boxvar_AbsynToSCode_translateAttributes MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateAttributes)
PROTECTED_FUNCTION_STATIC modelica_boolean omc_AbsynToSCode_containsExternalFuncDecl(threadData_t *threadData, modelica_metatype _inClass);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToSCode_containsExternalFuncDecl(threadData_t *threadData, modelica_metatype _inClass);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_containsExternalFuncDecl,2,0) {(void*) boxptr_AbsynToSCode_containsExternalFuncDecl,0}};
#define boxvar_AbsynToSCode_containsExternalFuncDecl MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_containsExternalFuncDecl)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateClass2(threadData_t *threadData, modelica_metatype _inClass, modelica_integer _inNumMessages);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToSCode_translateClass2(threadData_t *threadData, modelica_metatype _inClass, modelica_metatype _inNumMessages);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClass2,2,0) {(void*) boxptr_AbsynToSCode_translateClass2,0}};
#define boxvar_AbsynToSCode_translateClass2 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToSCode_translateClass2)
PROTECTED_FUNCTION_STATIC void omc_AbsynToSCode_checkTypeSpec(threadData_t *threadData, modelica_metatype _ts, modelica_metatype _info)
{
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;
tmp3_1 = _ts;
{
modelica_metatype _tss = NULL;
modelica_metatype _ts2 = NULL;
modelica_string _str = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 5; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,2) == 0) goto tmp2_end;
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
if (5 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT26), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
if (listEmpty(tmpMeta[2])) goto tmp2_end;
tmpMeta[3] = MMC_CAR(tmpMeta[2]);
tmpMeta[4] = MMC_CDR(tmpMeta[2]);
if (!listEmpty(tmpMeta[4])) goto tmp2_end;
_ts2 = tmpMeta[3];
_str = omc_AbsynUtil_typeSpecString(threadData, _ts);
tmpMeta[0] = mmc_mk_cons(_str, MMC_REFSTRUCTLIT(mmc_nil));
omc_Error_addSourceMessage(threadData, _OMC_LIT4, tmpMeta[0], _info);
_ts = _ts2;
goto _tailrecursive;
;
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
if (5 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT26), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
if (listEmpty(tmpMeta[2])) goto tmp2_end;
tmpMeta[3] = MMC_CAR(tmpMeta[2]);
tmpMeta[4] = MMC_CDR(tmpMeta[2]);
if (listEmpty(tmpMeta[4])) goto tmp2_end;
tmpMeta[5] = MMC_CAR(tmpMeta[4]);
tmpMeta[6] = MMC_CDR(tmpMeta[4]);
_tss = tmpMeta[2];
omc_List_map1__0(threadData, _tss, boxvar_AbsynToSCode_checkTypeSpec, _info);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
if (listEmpty(tmpMeta[0])) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmpMeta[0]);
tmpMeta[2] = MMC_CDR(tmpMeta[0]);
if (!listEmpty(tmpMeta[2])) goto tmp2_end;
_ts2 = tmpMeta[1];
_ts = _ts2;
goto _tailrecursive;
;
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
_tss = tmpMeta[0];
if(listMember((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ts), 2))), _OMC_LIT25))
{
_str = omc_AbsynUtil_typeSpecString(threadData, _ts);
tmpMeta[0] = mmc_mk_cons(_str, MMC_REFSTRUCTLIT(mmc_nil));
omc_Error_addSourceMessage(threadData, _OMC_LIT7, tmpMeta[0], _info);
omc_List_map1__0(threadData, _tss, boxvar_AbsynToSCode_checkTypeSpec, _info);
}
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
;
_return: OMC_LABEL_UNUSED
return;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateEach(threadData_t *threadData, modelica_metatype _inAEach)
{
modelica_metatype _outSEach = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;
tmp3_1 = _inAEach;
{
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,0) == 0) goto tmp2_end;
tmpMeta[0] = _OMC_LIT27;
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,0) == 0) goto tmp2_end;
tmpMeta[0] = _OMC_LIT28;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_outSEach = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _outSEach;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_makeTypeVarElement(threadData_t *threadData, modelica_string _str, modelica_metatype _info)
{
modelica_metatype _elt = NULL;
modelica_metatype _cd = NULL;
modelica_metatype _ts = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ts = _OMC_LIT33;
tmpMeta[0] = mmc_mk_box4(5, &SCode_ClassDef_DERIVED__desc, _ts, _OMC_LIT34, _OMC_LIT40);
_cd = tmpMeta[0];
tmpMeta[0] = mmc_mk_box9(5, &SCode_Element_CLASS__desc, _str, _OMC_LIT46, _OMC_LIT47, _OMC_LIT48, _OMC_LIT49, _cd, _OMC_LIT50, _info);
_elt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _elt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateSub(threadData_t *threadData, modelica_metatype _inPath, modelica_metatype _inMod, modelica_metatype _info)
{
modelica_metatype _outSubMod = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _inPath;
tmp3_2 = _inMod;
{
modelica_string _i = NULL;
modelica_metatype _path = NULL;
modelica_metatype _mod = NULL;
modelica_metatype _sub = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
_i = tmpMeta[1];
_mod = tmp3_2;
tmpMeta[1] = mmc_mk_box3(3, &SCode_SubMod_NAMEMOD__desc, _i, _mod);
tmpMeta[0] = tmpMeta[1];
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
_i = tmpMeta[1];
_path = tmpMeta[2];
_mod = tmp3_2;
_sub = omc_AbsynToSCode_translateSub(threadData, _path, _mod, _info);
tmpMeta[1] = mmc_mk_cons(_sub, MMC_REFSTRUCTLIT(mmc_nil));
tmpMeta[2] = mmc_mk_box6(3, &SCode_Mod_MOD__desc, _OMC_LIT51, _OMC_LIT28, tmpMeta[1], mmc_mk_none(), _info);
_mod = tmpMeta[2];
tmpMeta[1] = mmc_mk_box3(3, &SCode_SubMod_NAMEMOD__desc, _i, _mod);
tmpMeta[0] = tmpMeta[1];
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_outSubMod = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _outSubMod;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateArgs(threadData_t *threadData, modelica_metatype _args)
{
modelica_metatype _subMods = NULL;
modelica_metatype _smod = NULL;
modelica_metatype _elem = NULL;
modelica_metatype _sub = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
_subMods = tmpMeta[0];
{
modelica_metatype _arg;
for (tmpMeta[1] = _args; !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
{
_arg = MMC_CAR(tmpMeta[1]);
{
modelica_metatype tmp3_1;
tmp3_1 = _arg;
{
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,6) == 0) goto tmp2_end;
_smod = omc_AbsynToSCode_translateMod(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 5))), omc_SCodeUtil_boolFinal(threadData, mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 2))))), omc_AbsynToSCode_translateEach(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 3)))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 7))));
if((!omc_SCodeUtil_isEmptyMod(threadData, _smod)))
{
_sub = omc_AbsynToSCode_translateSub(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 4))), _smod, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 7))));
tmpMeta[3] = mmc_mk_cons(_sub, _subMods);
_subMods = tmpMeta[3];
}
tmpMeta[2] = _subMods;
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,6) == 0) goto tmp2_end;
tmpMeta[3] = omc_AbsynToSCode_translateElementspec(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 6))), mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 2)))), _OMC_LIT44, mmc_mk_some((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 3)))), _OMC_LIT41, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 5))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 7))));
if (listEmpty(tmpMeta[3])) goto goto_1;
tmpMeta[4] = MMC_CAR(tmpMeta[3]);
tmpMeta[5] = MMC_CDR(tmpMeta[3]);
if (!listEmpty(tmpMeta[5])) goto goto_1;
_elem = tmpMeta[4];
tmpMeta[3] = mmc_mk_box4(4, &SCode_Mod_REDECL__desc, omc_SCodeUtil_boolFinal(threadData, mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 2))))), omc_AbsynToSCode_translateEach(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 4)))), _elem);
tmpMeta[4] = mmc_mk_box3(3, &SCode_SubMod_NAMEMOD__desc, omc_AbsynUtil_elementSpecName(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arg), 5)))), tmpMeta[3]);
_sub = tmpMeta[4];
tmpMeta[3] = mmc_mk_cons(_sub, _subMods);
tmpMeta[2] = tmpMeta[3];
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_subMods = tmpMeta[2];
}
}
_subMods = listReverse(_subMods);
_return: OMC_LABEL_UNUSED
return _subMods;
}
DLLExport
modelica_metatype omc_AbsynToSCode_translateMod(threadData_t *threadData, modelica_metatype _inMod, modelica_metatype _finalPrefix, modelica_metatype _eachPrefix, modelica_metatype _info)
{
modelica_metatype _outMod = NULL;
modelica_metatype _args = NULL;
modelica_metatype _eqmod = NULL;
modelica_metatype _subs = NULL;
modelica_metatype _binding = NULL;
modelica_boolean tmp6;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;
tmp4_1 = _inMod;
{
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_1)) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
_args = tmpMeta[3];
_eqmod = tmpMeta[4];
tmpMeta[0+0] = _args;
tmpMeta[0+1] = _eqmod;
goto tmp3_done;
}
case 1: {
tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
tmpMeta[0+0] = tmpMeta[2];
tmpMeta[0+1] = _OMC_LIT52;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_args = tmpMeta[0+0];
_eqmod = tmpMeta[0+1];
tmp6 = (modelica_boolean)listEmpty(_args);
if(tmp6)
{
tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
tmpMeta[1] = tmpMeta[0];
}
else
{
tmpMeta[1] = omc_AbsynToSCode_translateArgs(threadData, _args);
}
_subs = tmpMeta[1];
{
modelica_metatype tmp9_1;
tmp9_1 = _eqmod;
{
volatile mmc_switch_type tmp9;
int tmp10;
tmp9 = 0;
for (; tmp9 < 2; tmp9++) {
switch (MMC_SWITCH_CAST(tmp9)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp9_1,1,2) == 0) goto tmp8_end;
tmpMeta[0] = mmc_mk_some((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_eqmod), 2))));
goto tmp8_done;
}
case 1: {
tmpMeta[0] = mmc_mk_none();
goto tmp8_done;
}
}
goto tmp8_end;
tmp8_end: ;
}
goto goto_7;
goto_7:;
MMC_THROW_INTERNAL();
goto tmp8_done;
tmp8_done:;
}
}
_binding = tmpMeta[0];
{
modelica_metatype tmp13_1;modelica_metatype tmp13_2;modelica_metatype tmp13_3;modelica_metatype tmp13_4;
tmp13_1 = _subs;
tmp13_2 = _binding;
tmp13_3 = _finalPrefix;
tmp13_4 = _eachPrefix;
{
volatile mmc_switch_type tmp13;
int tmp14;
tmp13 = 0;
for (; tmp13 < 2; tmp13++) {
switch (MMC_SWITCH_CAST(tmp13)) {
case 0: {
if (!listEmpty(tmp13_1)) goto tmp12_end;
if (!optionNone(tmp13_2)) goto tmp12_end;
if (mmc__uniontype__metarecord__typedef__equal(tmp13_3,1,0) == 0) goto tmp12_end;
if (mmc__uniontype__metarecord__typedef__equal(tmp13_4,1,0) == 0) goto tmp12_end;
tmpMeta[0] = _OMC_LIT34;
goto tmp12_done;
}
case 1: {
tmpMeta[1] = mmc_mk_box6(3, &SCode_Mod_MOD__desc, _finalPrefix, _eachPrefix, _subs, _binding, _info);
tmpMeta[0] = tmpMeta[1];
goto tmp12_done;
}
}
goto tmp12_end;
tmp12_end: ;
}
goto goto_11;
goto_11:;
MMC_THROW_INTERNAL();
goto tmp12_done;
tmp12_done:;
}
}
_outMod = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _outMod;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateElementAddinfo(threadData_t *threadData, modelica_metatype _elem, modelica_metatype _nfo)
{
modelica_metatype _oelem = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;
tmp3_1 = _elem;
{
modelica_string _a1 = NULL;
modelica_metatype _a6 = NULL;
modelica_metatype _a7 = NULL;
modelica_metatype _a8 = NULL;
modelica_metatype _a10 = NULL;
modelica_metatype _a11 = NULL;
modelica_metatype _p = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,8) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 7));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 8));
_a1 = tmpMeta[1];
_p = tmpMeta[2];
_a6 = tmpMeta[3];
_a7 = tmpMeta[4];
_a8 = tmpMeta[5];
_a10 = tmpMeta[6];
_a11 = tmpMeta[7];
tmpMeta[1] = mmc_mk_box9(6, &SCode_Element_COMPONENT__desc, _a1, _p, _a6, _a7, _a8, _a10, _a11, _nfo);
tmpMeta[0] = tmpMeta[1];
goto tmp2_done;
}
case 1: {
tmpMeta[0] = _elem;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_oelem = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _oelem;
}
PROTECTED_FUNCTION_STATIC modelica_string omc_AbsynToSCode_translateIterator(threadData_t *threadData, modelica_metatype _inIterator, modelica_metatype _inInfo, modelica_metatype *out_outRange)
{
modelica_string _outName = NULL;
modelica_metatype _outRange = NULL;
modelica_metatype _guard_exp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
tmpMeta[0] = _inIterator;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
_outName = tmpMeta[1];
_guard_exp = tmpMeta[2];
_outRange = tmpMeta[3];
if(isSome(_guard_exp))
{
omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT56, _OMC_LIT58, _inInfo);
}
_return: OMC_LABEL_UNUSED
if (out_outRange) { *out_outRange = _outRange; }
return _outName;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateEqBranch(threadData_t *threadData, modelica_metatype _inBranch, modelica_boolean _inIsInitial, modelica_metatype *out_outBody)
{
modelica_metatype _outCondition = NULL;
modelica_metatype _outBody = NULL;
modelica_metatype _body = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
tmpMeta[0] = _inBranch;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
_outCondition = tmpMeta[1];
_body = tmpMeta[2];
_outBody = omc_AbsynToSCode_translateEEquations(threadData, _body, _inIsInitial);
_return: OMC_LABEL_UNUSED
if (out_outBody) { *out_outBody = _outBody; }
return _outCondition;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToSCode_translateEqBranch(threadData_t *threadData, modelica_metatype _inBranch, modelica_metatype _inIsInitial, modelica_metatype *out_outBody)
{
modelica_integer tmp1;
modelica_metatype _outCondition = NULL;
tmp1 = mmc_unbox_integer(_inIsInitial);
_outCondition = omc_AbsynToSCode_translateEqBranch(threadData, _inBranch, tmp1, out_outBody);
return _outCondition;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToSCode_translateEquation(threadData_t *threadData, modelica_metatype _inEquation, modelica_metatype _inComment, modelica_metatype _inInfo, modelica_boolean _inIsInitial)
{
modelica_metatype _outEEquation = NULL;
modelica_metatype tmpMeta[14] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;
tmp3_1 = _inEquation;
{
modelica_metatype _e1 = NULL;
modelica_metatype _e2 = NULL;
modelica_metatype _e3 = NULL;
modelica_metatype _else_branch = NULL;
modelica_metatype _body = NULL;
modelica_metatype _branches = NULL;
modelica_string _iter_name = NULL;
modelica_metatype _iter_range = NULL;
modelica_metatype _conditions = NULL;