#include "omc_simulation_settings.h"
#include "AbsynToJulia.h"
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT0,3,3) {&Tpl_Text_MEM__TEXT__desc,MMC_REFSTRUCTLIT(mmc_nil),MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT0 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT0)
#define _OMC_LIT1_data ", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1,2,_OMC_LIT1_data);
#define _OMC_LIT1 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1}};
#define _OMC_LIT2 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3,1,1) {_OMC_LIT2}};
#define _OMC_LIT3 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT4,1,3) {&Tpl_StringToken_ST__NEW__LINE__desc,}};
#define _OMC_LIT4 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT4)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT5,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT3,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4}};
#define _OMC_LIT5 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT5)
#define _OMC_LIT6_data ""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT6,0,_OMC_LIT6_data);
#define _OMC_LIT6 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT6)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT7,2,3) {&MMToJuliaUtil_Context_FUNCTION__desc,_OMC_LIT6}};
#define _OMC_LIT7 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT7)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT8,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT8 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT8)
#define _OMC_LIT9_data "if "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT9,3,_OMC_LIT9_data);
#define _OMC_LIT9 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT9)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT10,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT9}};
#define _OMC_LIT10 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT10)
#define _OMC_LIT11_data "in "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT11,3,_OMC_LIT11_data);
#define _OMC_LIT11 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT11)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT12,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT11}};
#define _OMC_LIT12 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT12)
#define _OMC_LIT13_data " = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT13,3,_OMC_LIT13_data);
#define _OMC_LIT13 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT13)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT14,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT13}};
#define _OMC_LIT14 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT14)
#define _OMC_LIT15_data "@do_threaded_for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT15,17,_OMC_LIT15_data);
#define _OMC_LIT15 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT15)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT16,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT15}};
#define _OMC_LIT16 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT16)
#define _OMC_LIT17_data " ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT17,2,_OMC_LIT17_data);
#define _OMC_LIT17 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT17)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT18,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT17}};
#define _OMC_LIT18 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT18)
#define _OMC_LIT19_data ") ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT19,3,_OMC_LIT19_data);
#define _OMC_LIT19 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT19)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT20,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT19}};
#define _OMC_LIT20 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT20)
#define _OMC_LIT21_data ")"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT21,1,_OMC_LIT21_data);
#define _OMC_LIT21 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT21)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT22,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT21}};
#define _OMC_LIT22 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT22)
#define _OMC_LIT23_data " for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT23,5,_OMC_LIT23_data);
#define _OMC_LIT23 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT23)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT24,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT23}};
#define _OMC_LIT24 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT24)
#define _OMC_LIT25_data "."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT25,1,_OMC_LIT25_data);
#define _OMC_LIT25 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT25)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT26,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT25}};
#define _OMC_LIT26 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT26)
#define _OMC_LIT27_data "__"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT27,2,_OMC_LIT27_data);
#define _OMC_LIT27 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT27)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT28,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT27}};
#define _OMC_LIT28 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT28)
#define _OMC_LIT29_data "_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT29,1,_OMC_LIT29_data);
#define _OMC_LIT29 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT29)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT30,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT29}};
#define _OMC_LIT30 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT30)
#define _OMC_LIT31_data "ListUtil"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT31,8,_OMC_LIT31_data);
#define _OMC_LIT31 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT31)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT32,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT31}};
#define _OMC_LIT32 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT32)
#define _OMC_LIT33_data "ArrayUtil"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT33,9,_OMC_LIT33_data);
#define _OMC_LIT33 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT33)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT34,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT33}};
#define _OMC_LIT34 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT34)
#define _OMC_LIT35_data "List"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT35,4,_OMC_LIT35_data);
#define _OMC_LIT35 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT35)
#define _OMC_LIT36_data "Array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT36,5,_OMC_LIT36_data);
#define _OMC_LIT36 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT36)
#define _OMC_LIT37_data "&&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT37,2,_OMC_LIT37_data);
#define _OMC_LIT37 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT37)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT38,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT37}};
#define _OMC_LIT38 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT38)
#define _OMC_LIT39_data "||"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT39,2,_OMC_LIT39_data);
#define _OMC_LIT39 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT39)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT40,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT39}};
#define _OMC_LIT40 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT40)
#define _OMC_LIT41_data "!"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT41,1,_OMC_LIT41_data);
#define _OMC_LIT41 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT41)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT42,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT41}};
#define _OMC_LIT42 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT42)
#define _OMC_LIT43_data "!="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT43,2,_OMC_LIT43_data);
#define _OMC_LIT43 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT43)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT44,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT43}};
#define _OMC_LIT44 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT44)
#define _OMC_LIT45_data "_ "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT45,2,_OMC_LIT45_data);
#define _OMC_LIT45 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT45)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT46,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT45}};
#define _OMC_LIT46 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT46)
#define _OMC_LIT47_data " => begin\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT47,10,_OMC_LIT47_data);
#define _OMC_LIT47 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT47)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT48,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT47}};
#define _OMC_LIT48 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT48)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT49,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(4))}};
#define _OMC_LIT49 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT49)
#define _OMC_LIT50_data "end"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT50,3,_OMC_LIT50_data);
#define _OMC_LIT50 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT50)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT51,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT50}};
#define _OMC_LIT51 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT51)
#define _OMC_LIT52_data " "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT52,1,_OMC_LIT52_data);
#define _OMC_LIT52 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT52)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT53,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT52}};
#define _OMC_LIT53 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT53)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT54,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2))}};
#define _OMC_LIT54 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT54)
#define _OMC_LIT55_data "where ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT55,7,_OMC_LIT55_data);
#define _OMC_LIT55 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT55)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT56,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT55}};
#define _OMC_LIT56 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT56)
#define _OMC_LIT57_data ") "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT57,2,_OMC_LIT57_data);
#define _OMC_LIT57 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT57)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT58,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT57}};
#define _OMC_LIT58 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT58)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT59,1,1) {_OMC_LIT4}};
#define _OMC_LIT59 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT59)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT60,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT59,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4}};
#define _OMC_LIT60 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT60)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT61,2,3) {&Dump_DumpOptions_DUMPOPTIONS__desc,_OMC_LIT6}};
#define _OMC_LIT61 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT61)
#define _OMC_LIT62_data "@match"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT62,6,_OMC_LIT62_data);
#define _OMC_LIT62 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT62)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT63,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT62}};
#define _OMC_LIT63 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT63)
#define _OMC_LIT64_data "@matchcontinue"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT64,14,_OMC_LIT64_data);
#define _OMC_LIT64 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT64)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT65,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT64}};
#define _OMC_LIT65 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT65)
#define _OMC_LIT66_data "\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT66,1,_OMC_LIT66_data);
#define _OMC_LIT66 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT66)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT67,2,1) {_OMC_LIT66,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT67 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT67)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT68,2,1) {_OMC_LIT66,_OMC_LIT67}};
#define _OMC_LIT68 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT68)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT69,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT68,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT69 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT69)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT70,1,1) {_OMC_LIT69}};
#define _OMC_LIT70 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT70)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT71,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT70,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4}};
#define _OMC_LIT71 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT71)
#define _OMC_LIT72_data "begin\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT72,6,_OMC_LIT72_data);
#define _OMC_LIT72 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT72)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT73,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT72}};
#define _OMC_LIT73 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT73)
#define _OMC_LIT74_data " begin\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT74,7,_OMC_LIT74_data);
#define _OMC_LIT74 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT74)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT75,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT74}};
#define _OMC_LIT75 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT75)
#define _OMC_LIT76_data "end\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT76,4,_OMC_LIT76_data);
#define _OMC_LIT76 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT76)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT77,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT76}};
#define _OMC_LIT77 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT77)
#define _OMC_LIT78_data "AbsynToJulia.dumpCodeNode: C_CONSTRAINTSECTION not supported"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT78,60,_OMC_LIT78_data);
#define _OMC_LIT78 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT78)
#define _OMC_LIT79_data "AbsynToJulia.dumpCodeNode: C_ALGORITHMSECTION not supported"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT79,59,_OMC_LIT79_data);
#define _OMC_LIT79 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT79)
#define _OMC_LIT80_data "elseif ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT80,8,_OMC_LIT80_data);
#define _OMC_LIT80 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT80)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT81,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT80}};
#define _OMC_LIT81 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT81)
#define _OMC_LIT82_data ")\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT82,2,_OMC_LIT82_data);
#define _OMC_LIT82 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT82)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT83,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT82}};
#define _OMC_LIT83 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT83)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT84,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(6))}};
#define _OMC_LIT84 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT84)
#define _OMC_LIT85_data "else\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT85,5,_OMC_LIT85_data);
#define _OMC_LIT85 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT85)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT86,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT85}};
#define _OMC_LIT86 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT86)
#define _OMC_LIT87_data "("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT87,1,_OMC_LIT87_data);
#define _OMC_LIT87 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT87)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT88,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT87}};
#define _OMC_LIT88 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT88)
#define _OMC_LIT89_data "<%argName%>"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT89,11,_OMC_LIT89_data);
#define _OMC_LIT89 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT89)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT90,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT89}};
#define _OMC_LIT90 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT90)
#define _OMC_LIT91_data "ERROR FOR_ITER_FARG in pattern"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT91,30,_OMC_LIT91_data);
#define _OMC_LIT91 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT91)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT92,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT91}};
#define _OMC_LIT92 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT92)
#define _OMC_LIT93_data " <| "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT93,4,_OMC_LIT93_data);
#define _OMC_LIT93 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT93)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT94,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT93}};
#define _OMC_LIT94 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT94)
#define _OMC_LIT95_data "\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT95,1,_OMC_LIT95_data);
#define _OMC_LIT95 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT95)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT96,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT95}};
#define _OMC_LIT96 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT96)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT97,2,5) {&Tpl_BlockType_BT__ABS__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT97 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT97)
#define _OMC_LIT98_data "\\$"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT98,2,_OMC_LIT98_data);
#define _OMC_LIT98 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT98)
#define _OMC_LIT99_data " nil()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT99,6,_OMC_LIT99_data);
#define _OMC_LIT99 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT99)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT100,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT99}};
#define _OMC_LIT100 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT100)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT101,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT6}};
#define _OMC_LIT101 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT101)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT102,1,1) {_OMC_LIT101}};
#define _OMC_LIT102 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT102)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT103,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT102,_OMC_LIT3,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4}};
#define _OMC_LIT103 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT103)
#define _OMC_LIT104_data " && "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT104,4,_OMC_LIT104_data);
#define _OMC_LIT104 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT104)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT105,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT104}};
#define _OMC_LIT105 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT105)
#define _OMC_LIT106_data "#= AbsynDumpTpl.dumpPattern: UNHANDLED Abyn.Exp  =#"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT106,51,_OMC_LIT106_data);
#define _OMC_LIT106 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT106)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT107,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT106}};
#define _OMC_LIT107 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT107)
#define _OMC_LIT108_data "list"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT108,4,_OMC_LIT108_data);
#define _OMC_LIT108 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT108)
#define _OMC_LIT109_data "$array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT109,6,_OMC_LIT109_data);
#define _OMC_LIT109 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT109)
#define _OMC_LIT110_data "(__)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT110,4,_OMC_LIT110_data);
#define _OMC_LIT110 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT110)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT111,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT110}};
#define _OMC_LIT111 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT111)
#define _OMC_LIT112_data "()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT112,2,_OMC_LIT112_data);
#define _OMC_LIT112 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT112)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT113,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT112}};
#define _OMC_LIT113 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT113)
#define _OMC_LIT114_data "NONE"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT114,4,_OMC_LIT114_data);
#define _OMC_LIT114 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT114)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT115,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT114}};
#define _OMC_LIT115 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT115)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT116,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT35}};
#define _OMC_LIT116 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT116)
#define _OMC_LIT117_data "{"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT117,1,_OMC_LIT117_data);
#define _OMC_LIT117 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT117)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT118,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT117}};
#define _OMC_LIT118 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT118)
#define _OMC_LIT119_data "}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT119,1,_OMC_LIT119_data);
#define _OMC_LIT119 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT119)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT120,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT119}};
#define _OMC_LIT120 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT120)
#define _OMC_LIT121_data ") -> "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT121,5,_OMC_LIT121_data);
#define _OMC_LIT121 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT121)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT122,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT121}};
#define _OMC_LIT122 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT122)
#define _OMC_LIT123_data "; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT123,2,_OMC_LIT123_data);
#define _OMC_LIT123 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT123)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT124,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT123}};
#define _OMC_LIT124 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT124)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT125,1,1) {_OMC_LIT124}};
#define _OMC_LIT125 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT125)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT126,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT125,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4}};
#define _OMC_LIT126 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT126)
#define _OMC_LIT127_data "["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT127,1,_OMC_LIT127_data);
#define _OMC_LIT127 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT127)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT128,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT127}};
#define _OMC_LIT128 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT128)
#define _OMC_LIT129_data "]"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT129,1,_OMC_LIT129_data);
#define _OMC_LIT129 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT129)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT130,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT129}};
#define _OMC_LIT130 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT130)
#define _OMC_LIT131_data ":"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT131,1,_OMC_LIT131_data);
#define _OMC_LIT131 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT131)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT132,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT131}};
#define _OMC_LIT132 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT132)
#define _OMC_LIT133_data "$Code("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT133,6,_OMC_LIT133_data);
#define _OMC_LIT133 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT133)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT134,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT133}};
#define _OMC_LIT134 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT134)
#define _OMC_LIT135_data "(@match "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT135,8,_OMC_LIT135_data);
#define _OMC_LIT135 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT135)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT136,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT135}};
#define _OMC_LIT136 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT136)
#define _OMC_LIT137_data "_cons("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT137,6,_OMC_LIT137_data);
#define _OMC_LIT137 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT137)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT138,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT137}};
#define _OMC_LIT138 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT138)
#define _OMC_LIT139_data "list("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT139,5,_OMC_LIT139_data);
#define _OMC_LIT139 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT139)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT140,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT139}};
#define _OMC_LIT140 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT140)
#define _OMC_LIT141_data "/* AbsynDumpTpl.dumpExp: UNHANDLED Abyn.Exp */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT141,46,_OMC_LIT141_data);
#define _OMC_LIT141 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT141)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT142,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT141}};
#define _OMC_LIT142 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT142)
#define _OMC_LIT143_data "nil"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT143,3,_OMC_LIT143_data);
#define _OMC_LIT143 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT143)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT144,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT143}};
#define _OMC_LIT144 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT144)
#define _OMC_LIT145_data "Array{"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT145,6,_OMC_LIT145_data);
#define _OMC_LIT145 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT145)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT146,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT145}};
#define _OMC_LIT146 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT146)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT147,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT36}};
#define _OMC_LIT147 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT147)
#define _OMC_LIT148_data "{<:"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT148,3,_OMC_LIT148_data);
#define _OMC_LIT148 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT148)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT149,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT148}};
#define _OMC_LIT149 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT149)
#define _OMC_LIT150_data "package"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT150,7,_OMC_LIT150_data);
#define _OMC_LIT150 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT150)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT151,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT150}};
#define _OMC_LIT151 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT151)
#define _OMC_LIT152_data "iofunc"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT152,6,_OMC_LIT152_data);
#define _OMC_LIT152 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT152)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT153,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT152}};
#define _OMC_LIT153 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT153)
#define _OMC_LIT154_data "modelicaOutput"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT154,14,_OMC_LIT154_data);
#define _OMC_LIT154 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT154)
#define _OMC_LIT155_data "m"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT155,1,_OMC_LIT155_data);
#define _OMC_LIT155 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT155)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT156,1,1) {_OMC_LIT155}};
#define _OMC_LIT156 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT156)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT157,1,4) {&Flags_FlagVisibility_EXTERNAL__desc,}};
#define _OMC_LIT157 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT157)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT158,2,4) {&Flags_FlagData_BOOL__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */))}};
#define _OMC_LIT158 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT158)
#define _OMC_LIT159_data "Enables valid modelica output for flat modelica."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT159,48,_OMC_LIT159_data);
#define _OMC_LIT159 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT159)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT160,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT159}};
#define _OMC_LIT160 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT160)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT161,8,3) {&Flags_ConfigFlag_CONFIG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(21)),_OMC_LIT154,_OMC_LIT156,_OMC_LIT157,_OMC_LIT158,MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT160}};
#define _OMC_LIT161 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT161)
#define _OMC_LIT162_data "AbsynToJulia.dumpPathJL: Unknown path."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT162,38,_OMC_LIT162_data);
#define _OMC_LIT162 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT162)
#define _OMC_LIT163_data "Float"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT163,5,_OMC_LIT163_data);
#define _OMC_LIT163 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT163)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT164,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT163}};
#define _OMC_LIT164 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT164)
#define _OMC_LIT165_data "Integer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT165,7,_OMC_LIT165_data);
#define _OMC_LIT165 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT165)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT166,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT165}};
#define _OMC_LIT166 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT166)
#define _OMC_LIT167_data "Bool"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT167,4,_OMC_LIT167_data);
#define _OMC_LIT167 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT167)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT168,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT167}};
#define _OMC_LIT168 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT168)
#define _OMC_LIT169_data "Tuple"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT169,5,_OMC_LIT169_data);
#define _OMC_LIT169 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT169)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT170,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT169}};
#define _OMC_LIT170 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT170)
#define _OMC_LIT171_data "Any"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT171,3,_OMC_LIT171_data);
#define _OMC_LIT171 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT171)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT172,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT171}};
#define _OMC_LIT172 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT172)
#define _OMC_LIT173_data "MutableType"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT173,11,_OMC_LIT173_data);
#define _OMC_LIT173 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT173)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT174,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT173}};
#define _OMC_LIT174 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT174)
#define _OMC_LIT175_data "Real"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT175,4,_OMC_LIT175_data);
#define _OMC_LIT175 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT175)
#define _OMC_LIT176_data "Boolean"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT176,7,_OMC_LIT176_data);
#define _OMC_LIT176 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT176)
#define _OMC_LIT177_data "array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT177,5,_OMC_LIT177_data);
#define _OMC_LIT177 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT177)
#define _OMC_LIT178_data "tuple"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT178,5,_OMC_LIT178_data);
#define _OMC_LIT178 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT178)
#define _OMC_LIT179_data "polymorphic"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT179,11,_OMC_LIT179_data);
#define _OMC_LIT179 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT179)
#define _OMC_LIT180_data "Mutable"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT180,7,_OMC_LIT180_data);
#define _OMC_LIT180 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT180)
#define _OMC_LIT181_data "return "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT181,7,_OMC_LIT181_data);
#define _OMC_LIT181 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT181)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT182,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT181}};
#define _OMC_LIT182 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT182)
#define _OMC_LIT183_data "return"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT183,6,_OMC_LIT183_data);
#define _OMC_LIT183 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT183)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT184,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT183}};
#define _OMC_LIT184 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT184)
#define _OMC_LIT185_data "listMatchAssign"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT185,15,_OMC_LIT185_data);
#define _OMC_LIT185 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT185)
#define _OMC_LIT186_data "if"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT186,2,_OMC_LIT186_data);
#define _OMC_LIT186 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT186)
#define _OMC_LIT187_data "for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT187,4,_OMC_LIT187_data);
#define _OMC_LIT187 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT187)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT188,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT187}};
#define _OMC_LIT188 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT188)
#define _OMC_LIT189_data "while"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT189,5,_OMC_LIT189_data);
#define _OMC_LIT189 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT189)
#define _OMC_LIT190_data "When statements are not allowed!."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT190,33,_OMC_LIT190_data);
#define _OMC_LIT190 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT190)
#define _OMC_LIT191_data "break"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT191,5,_OMC_LIT191_data);
#define _OMC_LIT191 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT191)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT192,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT191}};
#define _OMC_LIT192 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT192)
#define _OMC_LIT193_data "@shouldFail "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT193,12,_OMC_LIT193_data);
#define _OMC_LIT193 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT193)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT194,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT193}};
#define _OMC_LIT194 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT194)
#define _OMC_LIT195_data "try\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT195,4,_OMC_LIT195_data);
#define _OMC_LIT195 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT195)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT196,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT195}};
#define _OMC_LIT196 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT196)
#define _OMC_LIT197_data "catch\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT197,6,_OMC_LIT197_data);
#define _OMC_LIT197 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT197)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT198,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT197}};
#define _OMC_LIT198 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT198)
#define _OMC_LIT199_data "continue"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT199,8,_OMC_LIT199_data);
#define _OMC_LIT199 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT199)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT200,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT199}};
#define _OMC_LIT200 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT200)
#define _OMC_LIT201_data "..."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT201,3,_OMC_LIT201_data);
#define _OMC_LIT201 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT201)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT202,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT201}};
#define _OMC_LIT202 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT202)
#define _OMC_LIT203_data "elseif"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT203,6,_OMC_LIT203_data);
#define _OMC_LIT203 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT203)
#define _OMC_LIT204_data "@match "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT204,7,_OMC_LIT204_data);
#define _OMC_LIT204 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT204)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT205,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT204}};
#define _OMC_LIT205 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT205)
#define _OMC_LIT206_data "No equations allowed. Translate them to algorithms"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT206,50,_OMC_LIT206_data);
#define _OMC_LIT206 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT206)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT207,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT206}};
#define _OMC_LIT207 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT207)
#define _OMC_LIT208_data "import "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT208,7,_OMC_LIT208_data);
#define _OMC_LIT208 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT208)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT209,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT208}};
#define _OMC_LIT209 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT209)
#define _OMC_LIT210_data "="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT210,1,_OMC_LIT210_data);
#define _OMC_LIT210 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT210)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT211,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT210}};
#define _OMC_LIT211 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT211)
#define _OMC_LIT212_data "using "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT212,6,_OMC_LIT212_data);
#define _OMC_LIT212 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT212)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT213,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT212}};
#define _OMC_LIT213 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT213)
#define _OMC_LIT214_data ": "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT214,2,_OMC_LIT214_data);
#define _OMC_LIT214 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT214)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT215,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT214}};
#define _OMC_LIT215 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT215)
#define _OMC_LIT216_data "import ArrayUtil"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT216,16,_OMC_LIT216_data);
#define _OMC_LIT216 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT216)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT217,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT216}};
#define _OMC_LIT217 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT217)
#define _OMC_LIT218_data "import ListUtil"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT218,15,_OMC_LIT218_data);
#define _OMC_LIT218 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT218)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT219,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT218}};
#define _OMC_LIT219 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT219)
#define _OMC_LIT220_data "::"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT220,2,_OMC_LIT220_data);
#define _OMC_LIT220 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT220)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT221,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT220}};
#define _OMC_LIT221 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT221)
#define _OMC_LIT222_data "constrainedby "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT222,14,_OMC_LIT222_data);
#define _OMC_LIT222 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT222)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT223,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT222}};
#define _OMC_LIT223 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT223)
#define _OMC_LIT224_data "AbsynToJulia.dumpVariability: Only const and var are supported"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT224,62,_OMC_LIT224_data);
#define _OMC_LIT224 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT224)
#define _OMC_LIT225_data "extends "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT225,8,_OMC_LIT225_data);
#define _OMC_LIT225 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT225)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT226,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT225}};
#define _OMC_LIT226 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT226)
#define _OMC_LIT227_data "ERROR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT227,5,_OMC_LIT227_data);
#define _OMC_LIT227 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT227)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT228,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT227}};
#define _OMC_LIT228 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT228)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT229,1,7) {&MMToJuliaUtil_Context_NO__CONTEXT__desc,}};
#define _OMC_LIT229 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT229)
#define _OMC_LIT230_data "const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT230,6,_OMC_LIT230_data);
#define _OMC_LIT230 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT230)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT231,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT230}};
#define _OMC_LIT231 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT231)
#define _OMC_LIT232_data "local "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT232,6,_OMC_LIT232_data);
#define _OMC_LIT232 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT232)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT233,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT232}};
#define _OMC_LIT233 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT233)
#define _OMC_LIT234_data "= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT234,2,_OMC_LIT234_data);
#define _OMC_LIT234 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT234)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT235,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT234}};
#define _OMC_LIT235 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT235)
#define _OMC_LIT236_data "replaceable "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT236,12,_OMC_LIT236_data);
#define _OMC_LIT236 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT236)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT237,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT236}};
#define _OMC_LIT237 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT237)
#define _OMC_LIT238_data "redeclare "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT238,10,_OMC_LIT238_data);
#define _OMC_LIT238 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT238)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT239,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT238}};
#define _OMC_LIT239 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT239)
#define _OMC_LIT240_data "final "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT240,6,_OMC_LIT240_data);
#define _OMC_LIT240 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT240)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT241,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT240}};
#define _OMC_LIT241 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT241)
#define _OMC_LIT242_data "each "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT242,5,_OMC_LIT242_data);
#define _OMC_LIT242 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT242)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT243,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT242}};
#define _OMC_LIT243 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT243)
#define _OMC_LIT244_data "#= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT244,3,_OMC_LIT244_data);
#define _OMC_LIT244 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT244)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT245,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT244}};
#define _OMC_LIT245 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT245)
#define _OMC_LIT246_data "//"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT246,2,_OMC_LIT246_data);
#define _OMC_LIT246 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT246)
#define _OMC_LIT247_data " =#"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT247,3,_OMC_LIT247_data);
#define _OMC_LIT247 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT247)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT248,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT247}};
#define _OMC_LIT248 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT248)
#define _OMC_LIT249_data "#= annotation() =#"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT249,18,_OMC_LIT249_data);
#define _OMC_LIT249 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT249)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT250,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT249}};
#define _OMC_LIT250 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT250)
#define _OMC_LIT251_data "#= annotation(\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT251,15,_OMC_LIT251_data);
#define _OMC_LIT251 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT251)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT252,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT251}};
#define _OMC_LIT252 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT252)
#define _OMC_LIT253_data ","
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT253,1,_OMC_LIT253_data);
#define _OMC_LIT253 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT253)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT254,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT253}};
#define _OMC_LIT254 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT254)
#define _OMC_LIT255_data ") =#"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT255,4,_OMC_LIT255_data);
#define _OMC_LIT255 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT255)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT256,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT255}};
#define _OMC_LIT256 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT256)
#define _OMC_LIT257_data "SOURCEINFO(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT257,12,_OMC_LIT257_data);
#define _OMC_LIT257 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT257)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT258,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT257}};
#define _OMC_LIT258 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT258)
#define _OMC_LIT259_data "\", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT259,3,_OMC_LIT259_data);
#define _OMC_LIT259 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT259)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT260,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT259}};
#define _OMC_LIT260 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT260)
#define _OMC_LIT261_data ")\\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT261,3,_OMC_LIT261_data);
#define _OMC_LIT261 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT261)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT262,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT261}};
#define _OMC_LIT262 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT262)
#define _OMC_LIT263_data "writable"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT263,8,_OMC_LIT263_data);
#define _OMC_LIT263 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT263)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT264,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT263}};
#define _OMC_LIT264 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT264)
#define _OMC_LIT265_data "readonly"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT265,8,_OMC_LIT265_data);
#define _OMC_LIT265 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT265)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT266,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT265}};
#define _OMC_LIT266 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT266)
#define _OMC_LIT267_data "AbsynToJulia.dumpElement: DEFINEUNIT(__) not supported"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT267,54,_OMC_LIT267_data);
#define _OMC_LIT267 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT267)
#define _OMC_LIT268_data "/* Absyn.TEXT(SOME(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT268,20,_OMC_LIT268_data);
#define _OMC_LIT268 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT268)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT269,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT268}};
#define _OMC_LIT269 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT269)
#define _OMC_LIT270_data "\"), \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT270,5,_OMC_LIT270_data);
#define _OMC_LIT270 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT270)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT271,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT270}};
#define _OMC_LIT271 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT271)
#define _OMC_LIT272_data "\", \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT272,4,_OMC_LIT272_data);
#define _OMC_LIT272 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT272)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT273,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT272}};
#define _OMC_LIT273 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT273)
#define _OMC_LIT274_data "\"); */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT274,6,_OMC_LIT274_data);
#define _OMC_LIT274 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT274)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT275,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT274}};
#define _OMC_LIT275 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT275)
#define _OMC_LIT276_data "AbsynToJulia.dumpElementItem: on none component type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT276,52,_OMC_LIT276_data);
#define _OMC_LIT276 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT276)
#define _OMC_LIT277_data "AbsynToJulia.dumpClassPart: CONSTRAINTS(__) not supported."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT277,58,_OMC_LIT277_data);
#define _OMC_LIT277 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT277)
#define _OMC_LIT278_data "AbsynToJulia.dumpClassPart: EQUATIONS(__) not supported."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT278,56,_OMC_LIT278_data);
#define _OMC_LIT278 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT278)
#define _OMC_LIT279_data "AbsynToJulia.dumpClassPart: INITIALEQUATIONS() not supported."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT279,61,_OMC_LIT279_data);
#define _OMC_LIT279 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT279)
#define _OMC_LIT280_data "AbsynToJulia.dumpClassPart: INITIALALGORITHMS() not supported."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT280,62,_OMC_LIT280_data);
#define _OMC_LIT280 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT280)
#define _OMC_LIT281_data "#= TODO: Defined in the runtime =#"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT281,34,_OMC_LIT281_data);
#define _OMC_LIT281 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT281)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT282,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT281}};
#define _OMC_LIT282 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT282)
#define _OMC_LIT283_data ";"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT283,1,_OMC_LIT283_data);
#define _OMC_LIT283 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT283)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT284,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT283}};
#define _OMC_LIT284 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT284)
#define _OMC_LIT285_data "module"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT285,6,_OMC_LIT285_data);
#define _OMC_LIT285 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT285)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT286,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT285}};
#define _OMC_LIT286 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT286)
#define _OMC_LIT287_data "struct"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT287,6,_OMC_LIT287_data);
#define _OMC_LIT287 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT287)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT288,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT287}};
#define _OMC_LIT288 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT288)
#define _OMC_LIT289_data "@Record"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT289,7,_OMC_LIT289_data);
#define _OMC_LIT289 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT289)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT290,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT289}};
#define _OMC_LIT290 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT290)
#define _OMC_LIT291_data "uniontype"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT291,9,_OMC_LIT291_data);
#define _OMC_LIT291 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT291)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT292,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT291}};
#define _OMC_LIT292 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT292)
#define _OMC_LIT293_data "function"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT293,8,_OMC_LIT293_data);
#define _OMC_LIT293 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT293)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT294,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT293}};
#define _OMC_LIT294 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT294)
#define _OMC_LIT295_data "AbsynToJulia.dumpClassType: Unknown restriction for class."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT295,58,_OMC_LIT295_data);
#define _OMC_LIT295 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT295)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT296,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT295}};
#define _OMC_LIT296 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT296)
#define _OMC_LIT297_data "AbsynToJulia.dumpClassDef: Derived not yet supported."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT297,53,_OMC_LIT297_data);
#define _OMC_LIT297 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT297)
#define _OMC_LIT298_data "AbsynToJulia.dumpClassDef: CLASS_EXETENDS not yet supported."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT298,60,_OMC_LIT298_data);
#define _OMC_LIT298 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT298)
#define _OMC_LIT299_data "AbsynToJulia.dumpClassDef: CLASS_ENUMERATION not yet supported."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT299,63,_OMC_LIT299_data);
#define _OMC_LIT299 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT299)
#define _OMC_LIT300_data "TODO Unkown class definition"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT300,28,_OMC_LIT300_data);
#define _OMC_LIT300 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT300)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT301,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT300}};
#define _OMC_LIT301 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT301)
#define _OMC_LIT302_data "::Tuple{"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT302,8,_OMC_LIT302_data);
#define _OMC_LIT302 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT302)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT303,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT302}};
#define _OMC_LIT303 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT303)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT304,2,8) {&MMToJuliaUtil_Context_INPUT__CONTEXT__desc,_OMC_LIT6}};
#define _OMC_LIT304 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT304)
#define _OMC_LIT305_data "AbsynToJulia.dumpClassFooter: Derived not yet supported."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT305,56,_OMC_LIT305_data);
#define _OMC_LIT305 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT305)
#define _OMC_LIT306_data "AbsynToJulia.dumpClassFooterf: ENUMERATION not yet supported."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT306,61,_OMC_LIT306_data);
#define _OMC_LIT306 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT306)
#define _OMC_LIT307_data "where {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT307,7,_OMC_LIT307_data);
#define _OMC_LIT307 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT307)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT308,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT307}};
#define _OMC_LIT308 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT308)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT309,1,1) {_OMC_LIT254}};
#define _OMC_LIT309 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT309)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT310,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT309,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT4}};
#define _OMC_LIT310 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT310)
#define _OMC_LIT311_data "<: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT311,3,_OMC_LIT311_data);
#define _OMC_LIT311 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT311)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT312,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT311}};
#define _OMC_LIT312 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT312)
#define _OMC_LIT313_data "Extend  not supported"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT313,21,_OMC_LIT313_data);
#define _OMC_LIT313 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT313)
#define _OMC_LIT314_data "AbsynToJulia.dumpClassHeader: <%dumpClassTypeSuperType(classDef)%>"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT314,66,_OMC_LIT314_data);
#define _OMC_LIT314 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT314)
#define _OMC_LIT315_data "@Uniontype "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT315,11,_OMC_LIT315_data);
#define _OMC_LIT315 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT315)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT316,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT315}};
#define _OMC_LIT316 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT316)
#define _OMC_LIT317_data "<:"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT317,2,_OMC_LIT317_data);
#define _OMC_LIT317 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT317)
#define _OMC_LIT318_data "function "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT318,9,_OMC_LIT318_data);
#define _OMC_LIT318 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT318)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT319,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT318}};
#define _OMC_LIT319 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT319)
#define _OMC_LIT320_data "@ExtendedFunction "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT320,18,_OMC_LIT320_data);
#define _OMC_LIT320 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT320)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT321,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT320}};
#define _OMC_LIT321 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT321)
#define _OMC_LIT322_data "begin"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT322,5,_OMC_LIT322_data);
#define _OMC_LIT322 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT322)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT323,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT322}};
#define _OMC_LIT323 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT323)
#define _OMC_LIT324_data "using MetaModelica\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT324,19,_OMC_LIT324_data);
#define _OMC_LIT324 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT324)
#define _OMC_LIT325_data "#= ExportAll is not good practice but it makes it so that we do not have to write export after each function :( =#\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT325,115,_OMC_LIT325_data);
#define _OMC_LIT325 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT325)
#define _OMC_LIT326_data "using ExportAll\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT326,16,_OMC_LIT326_data);
#define _OMC_LIT326 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT326)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT327,2,1) {_OMC_LIT326,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT327 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT327)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT328,2,1) {_OMC_LIT325,_OMC_LIT327}};
#define _OMC_LIT328 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT328)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT329,2,1) {_OMC_LIT324,_OMC_LIT328}};
#define _OMC_LIT329 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT329)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT330,2,1) {_OMC_LIT66,_OMC_LIT329}};
#define _OMC_LIT330 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT330)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT331,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT330,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT331 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT331)
#define _OMC_LIT332_data "#= So that we can use wildcard imports and named imports when they do occur. Not good Julia practice =#\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT332,104,_OMC_LIT332_data);
#define _OMC_LIT332 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT332)
#define _OMC_LIT333_data "@exportAll()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT333,12,_OMC_LIT333_data);
#define _OMC_LIT333 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT333)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT334,2,1) {_OMC_LIT333,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT334 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT334)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT335,2,1) {_OMC_LIT332,_OMC_LIT334}};
#define _OMC_LIT335 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT335)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT336,2,1) {_OMC_LIT66,_OMC_LIT335}};
#define _OMC_LIT336 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT336)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT337,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT336,MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */))}};
#define _OMC_LIT337 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT337)
#define _OMC_LIT338_data "#= Necessary to write declarations for your uniontypes until Julia adds support for mutually recursive types =#"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT338,111,_OMC_LIT338_data);
#define _OMC_LIT338 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT338)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT339,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT338}};
#define _OMC_LIT339 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT339)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT340,1,5) {&MMToJuliaUtil_Context_PACKAGE__desc,}};
#define _OMC_LIT340 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT340)
#define _OMC_LIT341_data "#=TODO: Originally partial =# "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT341,30,_OMC_LIT341_data);
#define _OMC_LIT341 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT341)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT342,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT341}};
#define _OMC_LIT342 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT342)
#define _OMC_LIT343_data "@UniontypeDecl "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT343,15,_OMC_LIT343_data);
#define _OMC_LIT343 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT343)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT344,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT343}};
#define _OMC_LIT344 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT344)
#define _OMC_LIT345_data " = Function"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT345,11,_OMC_LIT345_data);
#define _OMC_LIT345 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT345)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT346,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT345}};
#define _OMC_LIT346 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT346)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT347,10,3) {&SCodeDump_SCodeDumpOptions_OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */)),MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */)),MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */))}};
#define _OMC_LIT347 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT347)
#include "util/modelica.h"

#include "AbsynToJulia_includes.h"


/* default, do not make protected functions static */
#if !defined(PROTECTED_FUNCTION_STATIC)
#define PROTECTED_FUNCTION_STATIC
#endif
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__246(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__246,2,0) {(void*) boxptr_AbsynToJulia_lm__246,0}};
#define boxvar_AbsynToJulia_lm__246 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__246)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__244(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterator);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__244,2,0) {(void*) boxptr_AbsynToJulia_fun__244,0}};
#define boxvar_AbsynToJulia_fun__244 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__244)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__242(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__242,2,0) {(void*) boxptr_AbsynToJulia_fun__242,0}};
#define boxvar_AbsynToJulia_fun__242 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__242)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__241(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_range, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__241,2,0) {(void*) boxptr_AbsynToJulia_fun__241,0}};
#define boxvar_AbsynToJulia_fun__241 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__241)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__239(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__239,2,0) {(void*) boxptr_AbsynToJulia_fun__239,0}};
#define boxvar_AbsynToJulia_fun__239 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__239)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__238(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_range, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__238,2,0) {(void*) boxptr_AbsynToJulia_fun__238,0}};
#define boxvar_AbsynToJulia_fun__238 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__238)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__236(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__236,2,0) {(void*) boxptr_AbsynToJulia_lm__236,0}};
#define boxvar_AbsynToJulia_lm__236 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__236)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__233(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterType, modelica_metatype _in_a_iter__str, modelica_metatype _in_a_iter__ranges, modelica_metatype _in_a_iter__names, modelica_metatype _in_a_exp__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__233,2,0) {(void*) boxptr_AbsynToJulia_fun__233,0}};
#define boxvar_AbsynToJulia_fun__233 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__233)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__232(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__232,2,0) {(void*) boxptr_AbsynToJulia_lm__232,0}};
#define boxvar_AbsynToJulia_lm__232 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__232)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__231(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__231,2,0) {(void*) boxptr_AbsynToJulia_lm__231,0}};
#define boxvar_AbsynToJulia_lm__231 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__231)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__230(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__230,2,0) {(void*) boxptr_AbsynToJulia_lm__230,0}};
#define boxvar_AbsynToJulia_lm__230 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__230)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__229(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str, modelica_metatype _in_a_argNames);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__229,2,0) {(void*) boxptr_AbsynToJulia_fun__229,0}};
#define boxvar_AbsynToJulia_fun__229 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__229)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__228(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_argNames);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__228,2,0) {(void*) boxptr_AbsynToJulia_fun__228,0}};
#define boxvar_AbsynToJulia_fun__228 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__228)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__227(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__227,2,0) {(void*) boxptr_AbsynToJulia_lm__227,0}};
#define boxvar_AbsynToJulia_lm__227 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__227)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__226(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__226,2,0) {(void*) boxptr_AbsynToJulia_lm__226,0}};
#define boxvar_AbsynToJulia_lm__226 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__226)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__224(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__224(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__224,2,0) {(void*) boxptr_AbsynToJulia_fun__224,0}};
#define boxvar_AbsynToJulia_fun__224 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__224)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__223(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name, modelica_metatype _in_a_c__str, modelica_metatype _in_a_ss__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__223,2,0) {(void*) boxptr_AbsynToJulia_fun__223,0}};
#define boxvar_AbsynToJulia_fun__223 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__223)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__220(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_as__str, modelica_metatype _in_a_result__str, modelica_metatype _in_a_eql__str, modelica_metatype _in_a_cmt__str, modelica_metatype _in_a_guard__str, modelica_metatype _in_a_pattern__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__220,2,0) {(void*) boxptr_AbsynToJulia_fun__220,0}};
#define boxvar_AbsynToJulia_fun__220 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__220)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__219(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__219,2,0) {(void*) boxptr_AbsynToJulia_fun__219,0}};
#define boxvar_AbsynToJulia_fun__219 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__219)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__218(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_patternGuard, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__218,2,0) {(void*) boxptr_AbsynToJulia_fun__218,0}};
#define boxvar_AbsynToJulia_fun__218 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__218)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__216(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__216,2,0) {(void*) boxptr_AbsynToJulia_lm__216,0}};
#define boxvar_AbsynToJulia_lm__216 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__216)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__214(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__214,2,0) {(void*) boxptr_AbsynToJulia_lm__214,0}};
#define boxvar_AbsynToJulia_lm__214 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__214)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__213(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__213,2,0) {(void*) boxptr_AbsynToJulia_lm__213,0}};
#define boxvar_AbsynToJulia_lm__213 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__213)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__210(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_inputExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__210,2,0) {(void*) boxptr_AbsynToJulia_lm__210,0}};
#define boxvar_AbsynToJulia_lm__210 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__210)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__207(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__207,2,0) {(void*) boxptr_AbsynToJulia_lm__207,0}};
#define boxvar_AbsynToJulia_lm__207 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__207)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__204(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_op__str);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__204(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_op__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__204,2,0) {(void*) boxptr_AbsynToJulia_fun__204,0}};
#define boxvar_AbsynToJulia_fun__204 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__204)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__198(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str, modelica_metatype _in_a_argNames);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__198,2,0) {(void*) boxptr_AbsynToJulia_fun__198,0}};
#define boxvar_AbsynToJulia_fun__198 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__198)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__197(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_argNames);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__197,2,0) {(void*) boxptr_AbsynToJulia_fun__197,0}};
#define boxvar_AbsynToJulia_fun__197 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__197)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__196(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__196,2,0) {(void*) boxptr_AbsynToJulia_lm__196,0}};
#define boxvar_AbsynToJulia_lm__196 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__196)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__195(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__195,2,0) {(void*) boxptr_AbsynToJulia_lm__195,0}};
#define boxvar_AbsynToJulia_lm__195 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__195)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__192(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_as__str, modelica_metatype _in_a_context, modelica_metatype *out_out_a_as__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__192,2,0) {(void*) boxptr_AbsynToJulia_lm__192,0}};
#define boxvar_AbsynToJulia_lm__192 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__192)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__191(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str, modelica_metatype _in_a_func__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__191,2,0) {(void*) boxptr_AbsynToJulia_fun__191,0}};
#define boxvar_AbsynToJulia_fun__191 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__191)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__190(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str, modelica_metatype _in_a_func__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__190,2,0) {(void*) boxptr_AbsynToJulia_fun__190,0}};
#define boxvar_AbsynToJulia_fun__190 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__190)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__189(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isNone, modelica_metatype _in_a_func__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__189,2,0) {(void*) boxptr_AbsynToJulia_fun__189,0}};
#define boxvar_AbsynToJulia_fun__189 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__189)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__188(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__188,2,0) {(void*) boxptr_AbsynToJulia_fun__188,0}};
#define boxvar_AbsynToJulia_fun__188 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__188)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__187(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_id, modelica_metatype _in_a_function__);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__187,2,0) {(void*) boxptr_AbsynToJulia_fun__187,0}};
#define boxvar_AbsynToJulia_fun__187 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__187)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__186(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_as__str, modelica_metatype _in_a_context, modelica_metatype *out_out_a_as__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__186,2,0) {(void*) boxptr_AbsynToJulia_lm__186,0}};
#define boxvar_AbsynToJulia_lm__186 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__186)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__185(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_as__str, modelica_metatype _in_a_context, modelica_metatype *out_out_a_as__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__185,2,0) {(void*) boxptr_AbsynToJulia_lm__185,0}};
#define boxvar_AbsynToJulia_lm__185 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__185)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__184(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_as__str, modelica_metatype _in_a_context, modelica_metatype *out_out_a_as__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__184,2,0) {(void*) boxptr_AbsynToJulia_lm__184,0}};
#define boxvar_AbsynToJulia_lm__184 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__184)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__183(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_as__str, modelica_metatype _in_a_context, modelica_metatype *out_out_a_as__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__183,2,0) {(void*) boxptr_AbsynToJulia_lm__183,0}};
#define boxvar_AbsynToJulia_lm__183 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__183)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__181(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__181,2,0) {(void*) boxptr_AbsynToJulia_lm__181,0}};
#define boxvar_AbsynToJulia_lm__181 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__181)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__180(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tuple__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__180,2,0) {(void*) boxptr_AbsynToJulia_fun__180,0}};
#define boxvar_AbsynToJulia_fun__180 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__180)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__179(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__179,2,0) {(void*) boxptr_AbsynToJulia_lm__179,0}};
#define boxvar_AbsynToJulia_lm__179 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__179)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__178(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__178,2,0) {(void*) boxptr_AbsynToJulia_lm__178,0}};
#define boxvar_AbsynToJulia_lm__178 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__178)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__177(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__177,2,0) {(void*) boxptr_AbsynToJulia_lm__177,0}};
#define boxvar_AbsynToJulia_lm__177 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__177)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__176(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_array__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__176,2,0) {(void*) boxptr_AbsynToJulia_fun__176,0}};
#define boxvar_AbsynToJulia_fun__176 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__176)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__175(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__175,2,0) {(void*) boxptr_AbsynToJulia_lm__175,0}};
#define boxvar_AbsynToJulia_lm__175 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__175)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__174(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_functionArgs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__174,2,0) {(void*) boxptr_AbsynToJulia_fun__174,0}};
#define boxvar_AbsynToJulia_fun__174 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__174)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__173(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__173,2,0) {(void*) boxptr_AbsynToJulia_lm__173,0}};
#define boxvar_AbsynToJulia_lm__173 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__173)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__170(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__170,2,0) {(void*) boxptr_AbsynToJulia_lm__170,0}};
#define boxvar_AbsynToJulia_lm__170 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__170)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__167(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subscripts);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__167,2,0) {(void*) boxptr_AbsynToJulia_fun__167,0}};
#define boxvar_AbsynToJulia_fun__167 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__167)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__166(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__166,2,0) {(void*) boxptr_AbsynToJulia_lm__166,0}};
#define boxvar_AbsynToJulia_lm__166 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__166)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__163(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isFunc, modelica_metatype _in_a_res, modelica_metatype _in_a_arraydim__str, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_path__str, modelica_metatype _in_a_isPackage);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__163,2,0) {(void*) boxptr_AbsynToJulia_fun__163,0}};
#define boxvar_AbsynToJulia_fun__163 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__163)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__162(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPackage, modelica_metatype _in_a_arraydim__str, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_path__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__162,2,0) {(void*) boxptr_AbsynToJulia_fun__162,0}};
#define boxvar_AbsynToJulia_fun__162 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__162)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__161(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__161,2,0) {(void*) boxptr_AbsynToJulia_fun__161,0}};
#define boxvar_AbsynToJulia_fun__161 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__161)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__160(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__160,2,0) {(void*) boxptr_AbsynToJulia_fun__160,0}};
#define boxvar_AbsynToJulia_fun__160 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__160)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__159(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__159,2,0) {(void*) boxptr_AbsynToJulia_lm__159,0}};
#define boxvar_AbsynToJulia_lm__159 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__159)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__155(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__155,2,0) {(void*) boxptr_AbsynToJulia_fun__155,0}};
#define boxvar_AbsynToJulia_fun__155 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__155)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__154(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_path, modelica_string _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__154(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_path, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__154,2,0) {(void*) boxptr_AbsynToJulia_fun__154,0}};
#define boxvar_AbsynToJulia_fun__154 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__154)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__152(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__152,2,0) {(void*) boxptr_AbsynToJulia_lm__152,0}};
#define boxvar_AbsynToJulia_lm__152 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__152)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__149(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_equ, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__149,2,0) {(void*) boxptr_AbsynToJulia_fun__149,0}};
#define boxvar_AbsynToJulia_fun__149 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__149)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__148(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_else__branch__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__148,2,0) {(void*) boxptr_AbsynToJulia_fun__148,0}};
#define boxvar_AbsynToJulia_fun__148 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__148)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__147(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__147,2,0) {(void*) boxptr_AbsynToJulia_lm__147,0}};
#define boxvar_AbsynToJulia_lm__147 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__147)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__146(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_assignComponent, modelica_metatype _in_a_rhs__str, modelica_metatype _in_a_lhs__str);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__146(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_assignComponent, modelica_metatype _in_a_rhs__str, modelica_metatype _in_a_lhs__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__146,2,0) {(void*) boxptr_AbsynToJulia_fun__146,0}};
#define boxvar_AbsynToJulia_fun__146 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__146)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__145(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_assignComponent, modelica_metatype _in_a_rhs__str, modelica_metatype _in_a_lhs__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__145,2,0) {(void*) boxptr_AbsynToJulia_fun__145,0}};
#define boxvar_AbsynToJulia_fun__145 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__145)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__142(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__142,2,0) {(void*) boxptr_AbsynToJulia_lm__142,0}};
#define boxvar_AbsynToJulia_lm__142 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__142)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__138(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__138,2,0) {(void*) boxptr_AbsynToJulia_lm__138,0}};
#define boxvar_AbsynToJulia_lm__138 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__138)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__137(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_path__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__137,2,0) {(void*) boxptr_AbsynToJulia_fun__137,0}};
#define boxvar_AbsynToJulia_fun__137 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__137)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__134(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_mod__str, modelica_metatype _in_a_dim__str, modelica_metatype _in_a_component__name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__134,2,0) {(void*) boxptr_AbsynToJulia_fun__134,0}};
#define boxvar_AbsynToJulia_fun__134 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__134)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__133(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_modification, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__133,2,0) {(void*) boxptr_AbsynToJulia_fun__133,0}};
#define boxvar_AbsynToJulia_fun__133 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__133)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__129(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__129,2,0) {(void*) boxptr_AbsynToJulia_lm__129,0}};
#define boxvar_AbsynToJulia_lm__129 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__129)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__127(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_el, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__127,2,0) {(void*) boxptr_AbsynToJulia_fun__127,0}};
#define boxvar_AbsynToJulia_fun__127 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__127)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__126(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__126,2,0) {(void*) boxptr_AbsynToJulia_lm__126,0}};
#define boxvar_AbsynToJulia_lm__126 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__126)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__122(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_specification, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__122,2,0) {(void*) boxptr_AbsynToJulia_fun__122,0}};
#define boxvar_AbsynToJulia_fun__122 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__122)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__121(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__121,2,0) {(void*) boxptr_AbsynToJulia_lm__121,0}};
#define boxvar_AbsynToJulia_lm__121 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__121)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__119(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_comps__str__no__local, modelica_metatype _in_a_comps__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__119,2,0) {(void*) boxptr_AbsynToJulia_fun__119,0}};
#define boxvar_AbsynToJulia_fun__119 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__119)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__118(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comps__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__118,2,0) {(void*) boxptr_AbsynToJulia_fun__118,0}};
#define boxvar_AbsynToJulia_fun__118 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__118)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__117(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__117,2,0) {(void*) boxptr_AbsynToJulia_fun__117,0}};
#define boxvar_AbsynToJulia_fun__117 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__117)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__116(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_context, modelica_metatype _in_a_components);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__116(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_context, modelica_metatype _in_a_components);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__116,2,0) {(void*) boxptr_AbsynToJulia_fun__116,0}};
#define boxvar_AbsynToJulia_fun__116 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__116)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__115(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__115,2,0) {(void*) boxptr_AbsynToJulia_lm__115,0}};
#define boxvar_AbsynToJulia_lm__115 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__115)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__114(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__114,2,0) {(void*) boxptr_AbsynToJulia_fun__114,0}};
#define boxvar_AbsynToJulia_fun__114 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__114)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__113(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_components);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__113(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_components);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__113,2,0) {(void*) boxptr_AbsynToJulia_fun__113,0}};
#define boxvar_AbsynToJulia_fun__113 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__113)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__112(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_ty__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__112,2,0) {(void*) boxptr_AbsynToJulia_lm__112,0}};
#define boxvar_AbsynToJulia_lm__112 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__112)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__111(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__111,2,0) {(void*) boxptr_AbsynToJulia_fun__111,0}};
#define boxvar_AbsynToJulia_fun__111 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__111)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__110(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__110,2,0) {(void*) boxptr_AbsynToJulia_lm__110,0}};
#define boxvar_AbsynToJulia_lm__110 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__110)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__107(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_elementArgLst, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__107,2,0) {(void*) boxptr_AbsynToJulia_fun__107,0}};
#define boxvar_AbsynToJulia_fun__107 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__107)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__106(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__106,2,0) {(void*) boxptr_AbsynToJulia_lm__106,0}};
#define boxvar_AbsynToJulia_lm__106 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__106)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__100(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_constrainClass, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__100,2,0) {(void*) boxptr_AbsynToJulia_fun__100,0}};
#define boxvar_AbsynToJulia_fun__100 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__100)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__99(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_modification, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__99,2,0) {(void*) boxptr_AbsynToJulia_fun__99,0}};
#define boxvar_AbsynToJulia_fun__99 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__99)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__91,2,0) {(void*) boxptr_AbsynToJulia_lm__91,0}};
#define boxvar_AbsynToJulia_lm__91 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__91)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__89(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isReadOnly);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__89(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReadOnly);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__89,2,0) {(void*) boxptr_AbsynToJulia_fun__89,0}};
#define boxvar_AbsynToJulia_fun__89 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__89)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__87(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_string, modelica_metatype _in_a_info, modelica_metatype _in_a_optName);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__87(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_string, modelica_metatype _in_a_info, modelica_metatype _in_a_optName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__87,2,0) {(void*) boxptr_AbsynToJulia_fun__87,0}};
#define boxvar_AbsynToJulia_fun__87 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__87)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__86(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_optName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__86,2,0) {(void*) boxptr_AbsynToJulia_fun__86,0}};
#define boxvar_AbsynToJulia_fun__86 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__86)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__85(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_constrainClass, modelica_metatype _in_a_context, modelica_metatype _in_a_options, modelica_metatype _in_a_specification, modelica_metatype _in_a_redeclareKeywords, modelica_boolean _in_a_finalPrefix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__85(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_constrainClass, modelica_metatype _in_a_context, modelica_metatype _in_a_options, modelica_metatype _in_a_specification, modelica_metatype _in_a_redeclareKeywords, modelica_metatype _in_a_finalPrefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__85,2,0) {(void*) boxptr_AbsynToJulia_fun__85,0}};
#define boxvar_AbsynToJulia_fun__85 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__85)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__84(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_constrainClass, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__84,2,0) {(void*) boxptr_AbsynToJulia_fun__84,0}};
#define boxvar_AbsynToJulia_fun__84 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__84)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__83(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_redeclareKeywords);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__83,2,0) {(void*) boxptr_AbsynToJulia_fun__83,0}};
#define boxvar_AbsynToJulia_fun__83 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__83)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__82(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_redeclareKeywords);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__82,2,0) {(void*) boxptr_AbsynToJulia_fun__82,0}};
#define boxvar_AbsynToJulia_fun__82 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__82)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__80(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_eitem, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__80,2,0) {(void*) boxptr_AbsynToJulia_fun__80,0}};
#define boxvar_AbsynToJulia_fun__80 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__80)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__79(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_element, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__79,2,0) {(void*) boxptr_AbsynToJulia_fun__79,0}};
#define boxvar_AbsynToJulia_fun__79 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__79)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__78(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_specification, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__78,2,0) {(void*) boxptr_AbsynToJulia_fun__78,0}};
#define boxvar_AbsynToJulia_fun__78 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__78)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__77,2,0) {(void*) boxptr_AbsynToJulia_lm__77,0}};
#define boxvar_AbsynToJulia_lm__77 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__77)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__72(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_prevSpacing, modelica_string _in_a_curSpacing);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__72,2,0) {(void*) boxptr_AbsynToJulia_fun__72,0}};
#define boxvar_AbsynToJulia_fun__72 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__72)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__70(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rest__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__70,2,0) {(void*) boxptr_AbsynToJulia_fun__70,0}};
#define boxvar_AbsynToJulia_fun__70 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__70)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__69(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rest__str, modelica_metatype _in_a_spacing);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__69,2,0) {(void*) boxptr_AbsynToJulia_fun__69,0}};
#define boxvar_AbsynToJulia_fun__69 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__69)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__68(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_first, modelica_string _in_a_prevSpacing, modelica_metatype _in_a_spacing);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__68(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_first, modelica_metatype _in_a_prevSpacing, modelica_metatype _in_a_spacing);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__68,2,0) {(void*) boxptr_AbsynToJulia_fun__68,0}};
#define boxvar_AbsynToJulia_fun__68 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__68)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__66(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_class__part, modelica_metatype _in_a_context, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__66,2,0) {(void*) boxptr_AbsynToJulia_fun__66,0}};
#define boxvar_AbsynToJulia_fun__66 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__66)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_externalDecl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__65,2,0) {(void*) boxptr_AbsynToJulia_fun__65,0}};
#define boxvar_AbsynToJulia_fun__65 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__65)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__64(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_annotation__, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__64,2,0) {(void*) boxptr_AbsynToJulia_fun__64,0}};
#define boxvar_AbsynToJulia_fun__64 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__64)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__63(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__63,2,0) {(void*) boxptr_AbsynToJulia_lm__63,0}};
#define boxvar_AbsynToJulia_lm__63 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__63)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__62(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_options, modelica_metatype _in_a_context, modelica_metatype _in_a_contents);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__62(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_options, modelica_metatype _in_a_context, modelica_metatype _in_a_contents);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__62,2,0) {(void*) boxptr_AbsynToJulia_fun__62,0}};
#define boxvar_AbsynToJulia_fun__62 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__62)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__59(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__59,2,0) {(void*) boxptr_AbsynToJulia_lm__59,0}};
#define boxvar_AbsynToJulia_lm__59 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__59)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__57,2,0) {(void*) boxptr_AbsynToJulia_fun__57,0}};
#define boxvar_AbsynToJulia_fun__57 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__57)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__56(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__56,2,0) {(void*) boxptr_AbsynToJulia_lm__56,0}};
#define boxvar_AbsynToJulia_lm__56 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__56)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__55(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__55,2,0) {(void*) boxptr_AbsynToJulia_lm__55,0}};
#define boxvar_AbsynToJulia_lm__55 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__55)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__53(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__53,2,0) {(void*) boxptr_AbsynToJulia_fun__53,0}};
#define boxvar_AbsynToJulia_fun__53 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__53)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__51(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__51,2,0) {(void*) boxptr_AbsynToJulia_lm__51,0}};
#define boxvar_AbsynToJulia_lm__51 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__51)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__49(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_classDef, modelica_string _in_a_cdefStr, modelica_string _in_a_ann);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__49,2,0) {(void*) boxptr_AbsynToJulia_fun__49,0}};
#define boxvar_AbsynToJulia_fun__49 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__49)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__48(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_cdefStr, modelica_metatype _in_a_annotation__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__48,2,0) {(void*) boxptr_AbsynToJulia_fun__48,0}};
#define boxvar_AbsynToJulia_fun__48 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__48)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__47(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_annotation__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__47,2,0) {(void*) boxptr_AbsynToJulia_fun__47,0}};
#define boxvar_AbsynToJulia_fun__47 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__47)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__46(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ann);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__46,2,0) {(void*) boxptr_AbsynToJulia_fun__46,0}};
#define boxvar_AbsynToJulia_fun__46 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__46)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__44(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_typeVars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__44,2,0) {(void*) boxptr_AbsynToJulia_fun__44,0}};
#define boxvar_AbsynToJulia_fun__44 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__44)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__43(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__43,2,0) {(void*) boxptr_AbsynToJulia_lm__43,0}};
#define boxvar_AbsynToJulia_lm__43 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__43)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__42(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_typeVars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__42,2,0) {(void*) boxptr_AbsynToJulia_fun__42,0}};
#define boxvar_AbsynToJulia_fun__42 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__42)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__41(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__41,2,0) {(void*) boxptr_AbsynToJulia_lm__41,0}};
#define boxvar_AbsynToJulia_lm__41 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__41)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__37(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__37,2,0) {(void*) boxptr_AbsynToJulia_lm__37,0}};
#define boxvar_AbsynToJulia_lm__37 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__37)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__36(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__36,2,0) {(void*) boxptr_AbsynToJulia_lm__36,0}};
#define boxvar_AbsynToJulia_lm__36 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__36)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__35(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_restriction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__35,2,0) {(void*) boxptr_AbsynToJulia_fun__35,0}};
#define boxvar_AbsynToJulia_fun__35 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__35)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__34(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_restriction, modelica_metatype _in_a_cdef__str1, modelica_metatype _in_a_forwardDeclarations, modelica_metatype _in_a_inform);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__34,2,0) {(void*) boxptr_AbsynToJulia_fun__34,0}};
#define boxvar_AbsynToJulia_fun__34 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__34)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__33(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_forwardDeclarations);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__33,2,0) {(void*) boxptr_AbsynToJulia_fun__33,0}};
#define boxvar_AbsynToJulia_fun__33 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__33)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__32(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_restriction, modelica_metatype _in_a_context, modelica_metatype _in_a_options, modelica_metatype _in_a_parts);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__32,2,0) {(void*) boxptr_AbsynToJulia_fun__32,0}};
#define boxvar_AbsynToJulia_fun__32 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__32)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__31(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_partialPrefix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__31(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_partialPrefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__31,2,0) {(void*) boxptr_AbsynToJulia_fun__31,0}};
#define boxvar_AbsynToJulia_fun__31 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__31)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__30(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_encapsulatedPrefix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__30(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_encapsulatedPrefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__30,2,0) {(void*) boxptr_AbsynToJulia_fun__30,0}};
#define boxvar_AbsynToJulia_fun__30 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__30)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__29(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_header, modelica_metatype _in_a_returnType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__29,2,0) {(void*) boxptr_AbsynToJulia_fun__29,0}};
#define boxvar_AbsynToJulia_fun__29 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__29)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__28(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_header, modelica_metatype _in_a_typevar__inputs, modelica_metatype _in_a_inputs__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__28,2,0) {(void*) boxptr_AbsynToJulia_fun__28,0}};
#define boxvar_AbsynToJulia_fun__28 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__28)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__27(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__27,2,0) {(void*) boxptr_AbsynToJulia_lm__27,0}};
#define boxvar_AbsynToJulia_lm__27 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__27)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__26(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__26,2,0) {(void*) boxptr_AbsynToJulia_lm__26,0}};
#define boxvar_AbsynToJulia_lm__26 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__26)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__25(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__25,2,0) {(void*) boxptr_AbsynToJulia_lm__25,0}};
#define boxvar_AbsynToJulia_lm__25 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__25)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__22(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__22,2,0) {(void*) boxptr_AbsynToJulia_fun__22,0}};
#define boxvar_AbsynToJulia_fun__22 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__22)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__21(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__21,2,0) {(void*) boxptr_AbsynToJulia_lm__21,0}};
#define boxvar_AbsynToJulia_lm__21 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__21)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__20(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_el);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__20,2,0) {(void*) boxptr_AbsynToJulia_fun__20,0}};
#define boxvar_AbsynToJulia_fun__20 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_fun__20)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__17(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__17,2,0) {(void*) boxptr_AbsynToJulia_lm__17,0}};
#define boxvar_AbsynToJulia_lm__17 MMC_REFSTRUCTLIT(boxvar_lit_AbsynToJulia_lm__17)

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpOutputsJL(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_elements)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _ret_1 = NULL;
  modelica_metatype _l_outputStr = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _ret_1 has no default value.
  // _l_outputStr has no default value.
  _ret_1 = listReverse(_a_elements);

  _l_outputStr = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

  _l_outputStr = omc_AbsynToJulia_lm__246(threadData, _l_outputStr, _ret_1);

  _l_outputStr = omc_Tpl_popIter(threadData, _l_outputStr);

  _out_txt = omc_Tpl_writeText(threadData, _txt, _l_outputStr);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__246(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_e = NULL;
      modelica_metatype _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_e has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _ret_0 = omc_AbsynUtil_getTypeSpecFromElementItemOpt(threadData, _i_e);

          _txt = omc_AbsynToJulia_dumpTypeSpecOpt(threadData, _txt, _ret_0, _OMC_LIT7);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpForIteratorName(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_iterator, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_AbsynToJulia_fun__244(threadData, _txt, _a_iterator);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__244(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterator)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_iterator;
    {
      modelica_metatype _txt = NULL;
      modelica_string _i_name = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_name has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _txt = tmp4_1;
          _i_name = tmpMeta6;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_name);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpForIteratorRanges(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterator, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_iterator;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_guardExp = NULL;
      modelica_metatype _i_range = NULL;
      modelica_metatype _l_guard__str = NULL;
      modelica_metatype _l_range__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_guardExp has no default value.
      // _i_range has no default value.
      // _l_guard__str has no default value.
      // _l_range__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _txt = tmp4_1;
          _i_guardExp = tmpMeta6;
          _i_range = tmpMeta7;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_range__str = omc_AbsynToJulia_fun__241(threadData, _OMC_LIT0, _i_range, _a_context);

          _l_guard__str = omc_AbsynToJulia_fun__242(threadData, _OMC_LIT0, _i_guardExp, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_range__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_guard__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__242(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_guardExp;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_g = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_g has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_g = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT8);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);

          _txt = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_g, _a_context);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__241(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_range, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_range;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_r = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_r has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_r = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_r, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpForIterator(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterator, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_iterator;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_string _i_name = NULL;
      modelica_metatype _i_guardExp = NULL;
      modelica_metatype _i_range = NULL;
      modelica_metatype _l_guard__str = NULL;
      modelica_metatype _l_range__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_name has no default value.
      // _i_guardExp has no default value.
      // _i_range has no default value.
      // _l_guard__str has no default value.
      // _l_range__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _txt = tmp4_1;
          _i_name = tmpMeta6;
          _i_guardExp = tmpMeta7;
          _i_range = tmpMeta8;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_range__str = omc_AbsynToJulia_fun__238(threadData, _OMC_LIT0, _i_range, _a_context);

          _l_guard__str = omc_AbsynToJulia_fun__239(threadData, _OMC_LIT0, _i_guardExp, _a_context);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_name);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_range__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_guard__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__239(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_guardExp;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_g = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_g has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_g = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT8);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);

          _txt = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_g, _a_context);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__238(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_range, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_range;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_r = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_r has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_r = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT8);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT12);

          _txt = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_r, _a_context);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpForIterators(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_iters, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT5);

  _out_txt = omc_AbsynToJulia_lm__236(threadData, _out_txt, _a_iters, _a_context);

  _out_txt = omc_Tpl_popIter(threadData, _out_txt);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__236(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_i = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_i has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_i = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpForIterator(threadData, _txt, _i_i, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpNamedArg(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_narg, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_narg;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_argValue = NULL;
      modelica_string _i_argName = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_argValue has no default value.
      // _i_argName has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _txt = tmp4_1;
          _i_argName = tmpMeta6;
          _i_argValue = tmpMeta7;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _i_argName);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
          tmpMeta1 = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_argValue, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpFunctionArgs(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_args;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_iterType = NULL;
      modelica_metatype _i_iterators = NULL;
      modelica_metatype _i_exp = NULL;
      modelica_metatype _i_argNames = NULL;
      modelica_metatype _i_args = NULL;
      modelica_metatype _l_iter__ranges = NULL;
      modelica_metatype _l_iter__names = NULL;
      modelica_metatype _l_iter__str = NULL;
      modelica_metatype _l_exp__str = NULL;
      modelica_metatype _l_separator = NULL;
      modelica_metatype _l_namedargs__str = NULL;
      modelica_metatype _l_args__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_iterType has no default value.
      // _i_iterators has no default value.
      // _i_exp has no default value.
      // _i_argNames has no default value.
      // _i_args has no default value.
      // _l_iter__ranges has no default value.
      // _l_iter__names has no default value.
      // _l_iter__str has no default value.
      // _l_exp__str has no default value.
      // _l_separator has no default value.
      // _l_namedargs__str has no default value.
      // _l_args__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_args = tmpMeta5;
          _i_argNames = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_args__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_args__str = omc_AbsynToJulia_lm__226(threadData, _l_args__str, _i_args, _a_context);

          _l_args__str = omc_Tpl_popIter(threadData, _l_args__str);

          _l_namedargs__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_namedargs__str = omc_AbsynToJulia_lm__227(threadData, _l_namedargs__str, _i_argNames, _a_context);

          _l_namedargs__str = omc_Tpl_popIter(threadData, _l_namedargs__str);

          _l_separator = omc_AbsynToJulia_fun__229(threadData, _OMC_LIT0, _l_args__str, _i_argNames);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_args__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_separator);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_namedargs__str);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_exp = tmpMeta7;
          _i_iterType = tmpMeta8;
          _i_iterators = tmpMeta9;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_exp__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_exp, _a_context);

          _l_iter__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_iter__str = omc_AbsynToJulia_lm__230(threadData, _l_iter__str, _i_iterators, _a_context);

          _l_iter__str = omc_Tpl_popIter(threadData, _l_iter__str);

          _l_iter__names = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_iter__names = omc_AbsynToJulia_lm__231(threadData, _l_iter__names, _i_iterators, _a_context);

          _l_iter__names = omc_Tpl_popIter(threadData, _l_iter__names);

          _l_iter__ranges = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_iter__ranges = omc_AbsynToJulia_lm__232(threadData, _l_iter__ranges, _i_iterators, _a_context);

          _l_iter__ranges = omc_Tpl_popIter(threadData, _l_iter__ranges);
          tmpMeta1 = omc_AbsynToJulia_fun__233(threadData, _txt, _i_iterType, _l_iter__str, _l_iter__ranges, _l_iter__names, _l_exp__str);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__233(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterType, modelica_metatype _in_a_iter__str, modelica_metatype _in_a_iter__ranges, modelica_metatype _in_a_iter__names, modelica_metatype _in_a_exp__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_iterType;
    tmp4_3 = _in_a_iter__str;
    tmp4_4 = _in_a_iter__ranges;
    tmp4_5 = _in_a_iter__names;
    tmp4_6 = _in_a_exp__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_iter__str = NULL;
      modelica_metatype _a_iter__ranges = NULL;
      modelica_metatype _a_iter__names = NULL;
      modelica_metatype _a_exp__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_iter__str has no default value.
      // _a_iter__ranges has no default value.
      // _a_iter__names has no default value.
      // _a_exp__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_iter__ranges = tmp4_4;
          _a_iter__names = tmp4_5;
          _a_exp__str = tmp4_6;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT16);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_exp__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT18);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_iter__names);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT20);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_iter__ranges);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_iter__str = tmp4_3;
          _a_exp__str = tmp4_6;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_exp__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT24);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_iter__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__232(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_i = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_i has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_i = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpForIteratorRanges(threadData, _txt, _i_i, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__231(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_i = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_i has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_i = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpForIteratorName(threadData, _txt, _i_i, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__230(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_i = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_i has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_i = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpForIterator(threadData, _txt, _i_i, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__229(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str, modelica_metatype _in_a_argNames)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_args__str;
    tmp4_3 = _in_a_argNames;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_argNames = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_argNames has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_argNames = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_fun__228(threadData, _txt, _a_argNames);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__228(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_argNames)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_argNames;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__227(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_narg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_narg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_narg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpNamedArg(threadData, _txt, _i_narg, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__226(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_arg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_arg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_arg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_arg, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpCref(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cref, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_cref;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_string _i_name = NULL;
      modelica_metatype _i_componentRef = NULL;
      modelica_metatype _i_subscripts = NULL;
      modelica_boolean _ret_2;
      modelica_metatype _l_c__str = NULL;
      modelica_metatype _l_ss__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_name has no default value.
      // _i_componentRef has no default value.
      // _i_subscripts has no default value.
      // _ret_2 has no default value.
      // _l_c__str has no default value.
      // _l_ss__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 4: {
          modelica_metatype tmpMeta5;
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_name = tmpMeta5;
          _i_subscripts = tmpMeta6;
          _i_componentRef = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_ss__str = omc_AbsynToJulia_dumpSubscripts(threadData, _OMC_LIT0, _i_subscripts, _a_context);

          _l_c__str = omc_AbsynToJulia_dumpCref(threadData, _OMC_LIT0, _i_componentRef, _a_context);
          tmpMeta1 = omc_AbsynToJulia_fun__223(threadData, _txt, _i_name, _l_c__str, _l_ss__str);
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,2) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_name = tmpMeta8;
          _i_subscripts = tmpMeta9;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
          tmpMeta1 = omc_AbsynToJulia_dumpSubscripts(threadData, _txt, _i_subscripts, _a_context);
          goto tmp3_done;
        }
        case 3: {
          modelica_metatype tmpMeta10;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_componentRef = tmpMeta10;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_a_cref = _i_componentRef;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        case 6: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _ret_2 = omc_Config_acceptMetaModelicaGrammar(threadData);
          tmpMeta1 = omc_AbsynToJulia_fun__224(threadData, _txt, _ret_2);
          goto tmp3_done;
        }
        case 7: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT28);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__224(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__224(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  _out_txt = omc_AbsynToJulia_fun__224(threadData, _in_txt, tmp1);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__223(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name, modelica_metatype _in_a_c__str, modelica_metatype _in_a_ss__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_name;
    tmp4_3 = _in_a_c__str;
    tmp4_4 = _in_a_ss__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_c__str = NULL;
      modelica_metatype _a_ss__str = NULL;
      modelica_string _i_name = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_c__str has no default value.
      // _a_ss__str has no default value.
      // _i_name has no default value.
      tmp4 = 0;
      for (; tmp4 < 3; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (4 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT35), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_c__str = tmp4_3;
          _a_ss__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT32);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_ss__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_c__str);
          goto tmp3_done;
        }
        case 1: {
          if (5 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT36), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_c__str = tmp4_3;
          _a_ss__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_ss__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_c__str);
          goto tmp3_done;
        }
        case 2: {
          
          _txt = tmp4_1;
          _i_name = tmp4_2;
          _a_c__str = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _i_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_c__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpOperator(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_op)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_op;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_op = NULL;
      int tmp4;
      // _txt has no default value.
      // _i_op has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 17: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT38);
          goto tmp3_done;
        }
        case 18: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
          goto tmp3_done;
        }
        case 19: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
          goto tmp3_done;
        }
        case 25: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT44);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          _i_op = tmp4_2;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_dumpOperator(threadData, _txt, _i_op);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpMatchCase(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_c;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_comment = NULL;
      modelica_metatype _i_result = NULL;
      modelica_metatype _i_classPart = NULL;
      modelica_metatype _i_patternGuard = NULL;
      modelica_metatype _i_pattern = NULL;
      modelica_metatype _l_cmt__str = NULL;
      modelica_metatype _l_result__str = NULL;
      modelica_metatype _l_eql__str = NULL;
      modelica_metatype _l_guard__str = NULL;
      modelica_metatype _l_pattern__str = NULL;
      modelica_metatype _l_as__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_comment has no default value.
      // _i_result has no default value.
      // _i_classPart has no default value.
      // _i_patternGuard has no default value.
      // _i_pattern has no default value.
      // _l_cmt__str has no default value.
      // _l_result__str has no default value.
      // _l_eql__str has no default value.
      // _l_guard__str has no default value.
      // _l_pattern__str has no default value.
      // _l_as__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,9) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 9));
          
          _i_pattern = tmpMeta5;
          _i_patternGuard = tmpMeta6;
          _i_classPart = tmpMeta7;
          _i_result = tmpMeta8;
          _i_comment = tmpMeta9;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_as__str = _OMC_LIT0;

          _l_pattern__str = omc_AbsynToJulia_dumpPattern(threadData, _OMC_LIT0, _i_pattern, _a_context, _l_as__str ,&_l_as__str);

          _l_guard__str = omc_AbsynToJulia_fun__218(threadData, _OMC_LIT0, _i_patternGuard, _a_context);

          _l_eql__str = omc_AbsynToJulia_dumpMatchContents(threadData, _OMC_LIT0, _i_classPart);

          _l_result__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_result, _a_context);

          _l_cmt__str = omc_AbsynToJulia_dumpCommentStrOpt(threadData, _OMC_LIT0, _i_comment);

          omc_AbsynToJulia_fun__219(threadData, _OMC_LIT0, _a_context);
          tmpMeta1 = omc_AbsynToJulia_fun__220(threadData, _txt, _l_as__str, _l_result__str, _l_eql__str, _l_cmt__str, _l_guard__str, _l_pattern__str);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta10;
          modelica_metatype tmpMeta11;
          modelica_metatype tmpMeta12;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,6) == 0) goto tmp3_end;
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          
          _i_classPart = tmpMeta10;
          _i_result = tmpMeta11;
          _i_comment = tmpMeta12;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_eql__str = omc_AbsynToJulia_dumpMatchContents(threadData, _OMC_LIT0, _i_classPart);

          _l_result__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_result, _a_context);

          _l_cmt__str = omc_AbsynToJulia_dumpCommentStrOpt(threadData, _OMC_LIT0, _i_comment);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT48);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT49);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_eql__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_result__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__220(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_as__str, modelica_metatype _in_a_result__str, modelica_metatype _in_a_eql__str, modelica_metatype _in_a_cmt__str, modelica_metatype _in_a_guard__str, modelica_metatype _in_a_pattern__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_as__str;
    tmp4_3 = _in_a_result__str;
    tmp4_4 = _in_a_eql__str;
    tmp4_5 = _in_a_cmt__str;
    tmp4_6 = _in_a_guard__str;
    tmp4_7 = _in_a_pattern__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_result__str = NULL;
      modelica_metatype _a_eql__str = NULL;
      modelica_metatype _a_cmt__str = NULL;
      modelica_metatype _a_guard__str = NULL;
      modelica_metatype _a_pattern__str = NULL;
      modelica_metatype _i_as__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_result__str has no default value.
      // _a_eql__str has no default value.
      // _a_cmt__str has no default value.
      // _a_guard__str has no default value.
      // _a_pattern__str has no default value.
      // _i_as__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_result__str = tmp4_3;
          _a_eql__str = tmp4_4;
          _a_cmt__str = tmp4_5;
          _a_guard__str = tmp4_6;
          _a_pattern__str = tmp4_7;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_pattern__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_guard__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_cmt__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT48);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_eql__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_result__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_as__str = tmp4_2;
          _a_result__str = tmp4_3;
          _a_eql__str = tmp4_4;
          _a_cmt__str = tmp4_5;
          _a_guard__str = tmp4_6;
          _a_pattern__str = tmp4_7;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_pattern__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_guard__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_cmt__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT48);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _i_as__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_eql__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_result__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__219(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_context = NULL;
      modelica_metatype _i_inputExp = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_context has no default value.
      // _i_inputExp has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_context = tmp4_2;
          _i_inputExp = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_inputExp, _i_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__218(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_patternGuard, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_patternGuard;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_g = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_g has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_g = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT56);

          _txt = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_g, _a_context);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT58);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpMatchLocals(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_locals)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_locals;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_locals = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_locals has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_locals = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT60);

          _txt = omc_AbsynToJulia_lm__216(threadData, _txt, _i_locals);

          _txt = omc_Tpl_popIter(threadData, _txt);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__216(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_decl = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_decl has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_decl = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpElementItem(threadData, _txt, _i_decl, _OMC_LIT61, _OMC_LIT7);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpMatchContents(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cp)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_cp;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_algs = NULL;
      modelica_metatype _i_cp = NULL;
      modelica_metatype _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_algs has no default value.
      // _i_cp has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 5; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _i_cp = tmp4_2;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _ret_0 = omc_Static_fromEquationsToAlgAssignments(threadData, _i_cp);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT60);

          _txt = omc_AbsynToJulia_lm__213(threadData, _txt, _ret_0);

          _txt = omc_Tpl_popIter(threadData, _txt);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 2: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta7)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 3: {
          modelica_metatype tmpMeta8;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_algs = tmpMeta8;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT60);

          _txt = omc_AbsynToJulia_lm__214(threadData, _txt, _i_algs);

          _txt = omc_Tpl_popIter(threadData, _txt);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 4: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__214(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_alg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_alg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_alg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpAlgorithmItem(threadData, _txt, _i_alg, _OMC_LIT7);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__213(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_alg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_alg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_alg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpAlgorithmItem(threadData, _txt, _i_alg, _OMC_LIT7);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpMatchType(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_match__type)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_match__type;
    {
      modelica_metatype _txt = NULL;
      int tmp4;
      // _txt has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT63);
          goto tmp3_done;
        }
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT65);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpMatchExp(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_match__exp)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_match__exp;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_comment = NULL;
      modelica_metatype _i_cases = NULL;
      modelica_metatype _i_localDecls = NULL;
      modelica_metatype _i_inputExp = NULL;
      modelica_metatype _i_matchTy = NULL;
      modelica_metatype _l_cmt__str = NULL;
      modelica_metatype _l_cases__str = NULL;
      modelica_metatype _l_locals__str = NULL;
      modelica_metatype _l_input__str = NULL;
      modelica_metatype _l_match__ty__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_comment has no default value.
      // _i_cases has no default value.
      // _i_localDecls has no default value.
      // _i_inputExp has no default value.
      // _i_matchTy has no default value.
      // _l_cmt__str has no default value.
      // _l_cases__str has no default value.
      // _l_locals__str has no default value.
      // _l_input__str has no default value.
      // _l_match__ty__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          modelica_metatype tmpMeta10;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,5) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          
          _i_matchTy = tmpMeta6;
          _i_inputExp = tmpMeta7;
          _i_localDecls = tmpMeta8;
          _i_cases = tmpMeta9;
          _i_comment = tmpMeta10;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _l_match__ty__str = omc_AbsynToJulia_dumpMatchType(threadData, _OMC_LIT0, _i_matchTy);

          _l_input__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_inputExp, _OMC_LIT7);

          _l_locals__str = omc_AbsynToJulia_dumpMatchLocals(threadData, _OMC_LIT0, _i_localDecls);

          _l_cases__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT71);

          _l_cases__str = omc_AbsynToJulia_lm__210(threadData, _l_cases__str, _i_cases, _i_inputExp);

          _l_cases__str = omc_Tpl_popIter(threadData, _l_cases__str);

          _l_cmt__str = omc_AbsynToJulia_dumpCommentStrOpt(threadData, _OMC_LIT0, _i_comment);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT73);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_locals__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_match__ty__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_input__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT75);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_cases__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT77);

          _txt = omc_Tpl_popBlock(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__210(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_inputExp)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_inputExp;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_inputExp = NULL;
      modelica_metatype _i_c = NULL;
      modelica_metatype _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_inputExp has no default value.
      // _i_c has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_c = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_inputExp = tmp4_3;
          /* Pattern matching succeeded */
          _ret_0 = omc_MMToJuliaUtil_makeMatchContext(threadData, _a_inputExp);

          _txt = omc_AbsynToJulia_dumpMatchCase(threadData, _txt, _i_c, _ret_0);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_inputExp = _a_inputExp;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpCodeNode(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_code, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_code;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_modification = NULL;
      modelica_metatype _i_exp = NULL;
      modelica_metatype _i_element = NULL;
      modelica_metatype _i_componentRef = NULL;
      modelica_metatype _i_path = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_modification has no default value.
      // _i_exp has no default value.
      // _i_element has no default value.
      // _i_componentRef has no default value.
      // _i_path has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_path = tmpMeta5;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpPathJL(threadData, _txt, _i_path);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_componentRef = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpCref(threadData, _txt, _i_componentRef, _a_context);
          goto tmp3_done;
        }
        case 5: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,2) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT78);
          goto tmp3_done;
        }
        case 6: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,2) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT78);
          goto tmp3_done;
        }
        case 7: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,2) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT79);
          goto tmp3_done;
        }
        case 8: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_element = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpElement(threadData, _txt, _i_element, _OMC_LIT61, _a_context);
          goto tmp3_done;
        }
        case 9: {
          modelica_metatype tmpMeta8;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,1) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_exp = tmpMeta8;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_exp, _a_context);
          goto tmp3_done;
        }
        case 10: {
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,1) == 0) goto tmp3_end;
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_modification = tmpMeta9;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpModification(threadData, _txt, _i_modification, _a_context);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElseIfExp(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_else__if, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT60);

  _out_txt = omc_AbsynToJulia_lm__207(threadData, _out_txt, _a_else__if, _a_context);

  _out_txt = omc_Tpl_popIter(threadData, _out_txt);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__207(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_branch = NULL;
      modelica_metatype _i_cond = NULL;
      modelica_metatype _l_branch__str = NULL;
      modelica_metatype _l_cond__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_branch has no default value.
      // _i_cond has no default value.
      // _l_branch__str has no default value.
      // _l_cond__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
          
          _i_cond = tmpMeta8;
          _i_branch = tmpMeta9;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_cond__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_cond, _a_context);

          _l_branch__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_branch, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT81);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT83);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT84);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_branch__str);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpIfExp(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_if__exp, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_if__exp;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_elseIfBranch = NULL;
      modelica_metatype _i_elseBranch = NULL;
      modelica_metatype _i_trueBranch = NULL;
      modelica_metatype _i_ifExp = NULL;
      modelica_metatype _l_else__if__str = NULL;
      modelica_metatype _l_else__branch__str = NULL;
      modelica_metatype _l_true__branch__str = NULL;
      modelica_metatype _l_cond__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_elseIfBranch has no default value.
      // _i_elseBranch has no default value.
      // _i_trueBranch has no default value.
      // _i_ifExp has no default value.
      // _l_else__if__str has no default value.
      // _l_else__branch__str has no default value.
      // _l_true__branch__str has no default value.
      // _l_cond__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,4) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          
          _i_ifExp = tmpMeta6;
          _i_trueBranch = tmpMeta7;
          _i_elseBranch = tmpMeta8;
          _i_elseIfBranch = tmpMeta9;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_cond__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_ifExp, _a_context);

          _l_true__branch__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_trueBranch, _a_context);

          _l_else__branch__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_elseBranch, _a_context);

          _l_else__if__str = omc_AbsynToJulia_dumpElseIfExp(threadData, _OMC_LIT0, _i_elseIfBranch, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT84);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_true__branch__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT49);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_else__if__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_else__branch__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpOperand(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_operand, modelica_metatype _a_operation, modelica_boolean _a_lhs, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_boolean _ret_1;
  modelica_metatype _l_op__str = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _ret_1 has no default value.
  // _l_op__str has no default value.
  _l_op__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _a_operand, _a_context);

  _ret_1 = omc_Dump_shouldParenthesize(threadData, _a_operand, _a_operation, _a_lhs);

  _out_txt = omc_AbsynToJulia_fun__204(threadData, _txt, _ret_1, _l_op__str);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
modelica_metatype boxptr_AbsynToJulia_dumpOperand(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_operand, modelica_metatype _a_operation, modelica_metatype _a_lhs, modelica_metatype _a_context)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_a_lhs);
  _out_txt = omc_AbsynToJulia_dumpOperand(threadData, _txt, _a_operand, _a_operation, tmp1, _a_context);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__204(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_op__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_op__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_op__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_op__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_op__str = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_op__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_op__str = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_op__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__204(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_op__str)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  _out_txt = omc_AbsynToJulia_fun__204(threadData, _in_txt, tmp1, _in_a_op__str);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpLhsExp(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhs, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_lhs;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_lhs = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_lhs has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,4) == 0) goto tmp3_end;
          
          _i_lhs = tmp4_2;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_lhs, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_lhs = tmp4_2;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_lhs, _a_context);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpNamedArgPattern3(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_narg)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_narg;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_argValue = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_argValue has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          _txt = tmp4_1;
          _i_argValue = tmpMeta6;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpPattern(threadData, _txt, _i_argValue, _OMC_LIT7, _OMC_LIT0, NULL);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpNamedArgPattern2(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_narg)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_narg;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT90);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpNamedArgPattern(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_narg)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_narg;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_argValue = NULL;
      modelica_string _i_argName = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_argValue has no default value.
      // _i_argName has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          _txt = tmp4_1;
          _i_argName = tmpMeta6;
          _i_argValue = tmpMeta7;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _i_argName);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
          tmpMeta1 = omc_AbsynToJulia_dumpPattern(threadData, _txt, _i_argValue, _OMC_LIT7, _OMC_LIT0, NULL);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpFunctionArgsPattern(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_args;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_argNames = NULL;
      modelica_metatype _i_args = NULL;
      modelica_metatype _l_separator = NULL;
      modelica_metatype _l_namedargs__str = NULL;
      modelica_metatype _l_args__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_argNames has no default value.
      // _i_args has no default value.
      // _l_separator has no default value.
      // _l_namedargs__str has no default value.
      // _l_args__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_args = tmpMeta6;
          _i_argNames = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _l_args__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_args__str = omc_AbsynToJulia_lm__195(threadData, _l_args__str, _i_args);

          _l_args__str = omc_Tpl_popIter(threadData, _l_args__str);

          _l_namedargs__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_namedargs__str = omc_AbsynToJulia_lm__196(threadData, _l_namedargs__str, _i_argNames);

          _l_namedargs__str = omc_Tpl_popIter(threadData, _l_namedargs__str);

          _l_separator = omc_AbsynToJulia_fun__198(threadData, _OMC_LIT0, _l_args__str, _i_argNames);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_args__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_separator);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_namedargs__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT92);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__198(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str, modelica_metatype _in_a_argNames)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_args__str;
    tmp4_3 = _in_a_argNames;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_argNames = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_argNames has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_argNames = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_fun__197(threadData, _txt, _a_argNames);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__197(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_argNames)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_argNames;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__196(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_narg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_narg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_narg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpNamedArgPattern(threadData, _txt, _i_narg);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__195(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_arg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_arg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_arg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpPattern(threadData, _txt, _i_arg, _OMC_LIT7, _OMC_LIT0, NULL);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpCons(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_headString, modelica_string _a_tailString)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_Tpl_writeStr(threadData, _txt, _a_headString);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT94);

  _out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_tailString);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpPattern(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_as__str, modelica_metatype *out_out_a_as__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_as__str = NULL;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_as__str has no default value.
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_exp;
    tmp4_3 = _in_a_context;
    tmp4_4 = _in_a_as__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _a_as__str = NULL;
      modelica_metatype _i_rest = NULL;
      modelica_metatype _i_head = NULL;
      modelica_metatype _i_exp = NULL;
      modelica_metatype _i_expressions = NULL;
      modelica_metatype _i_function__ = NULL;
      modelica_string _i_id = NULL;
      modelica_metatype _i_functionArgs = NULL;
      modelica_metatype _i_exps = NULL;
      modelica_boolean _i_value_2;
      modelica_metatype _i_componentRef = NULL;
      modelica_string _i_value_1 = NULL;
      modelica_integer _i_value;
      modelica_metatype _txt_8 = NULL;
      modelica_metatype _txt_7 = NULL;
      modelica_metatype _l_consOp = NULL;
      modelica_metatype _l_id__str = NULL;
      modelica_metatype _l_exp__str = NULL;
      modelica_metatype _l_tuple__str = NULL;
      modelica_metatype _l_func__str = NULL;
      modelica_metatype _l_args__str = NULL;
      modelica_string _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _a_as__str has no default value.
      // _i_rest has no default value.
      // _i_head has no default value.
      // _i_exp has no default value.
      // _i_expressions has no default value.
      // _i_function__ has no default value.
      // _i_id has no default value.
      // _i_functionArgs has no default value.
      // _i_exps has no default value.
      // _i_value_2 has no default value.
      // _i_componentRef has no default value.
      // _i_value_1 has no default value.
      // _i_value has no default value.
      // _txt_8 has no default value.
      // _txt_7 has no default value.
      // _l_consOp has no default value.
      // _l_id__str has no default value.
      // _l_exp__str has no default value.
      // _l_tuple__str has no default value.
      // _l_func__str has no default value.
      // _l_args__str has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 15; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_integer tmp7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmp7 = mmc_unbox_integer(tmpMeta6);
          
          _i_value = tmp7  /* pattern as ty=Integer */;
          _txt = tmp4_1;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_value));
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta8;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_value_1 = tmpMeta8;
          _txt = tmp4_1;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _i_value_1);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 2: {
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_componentRef = tmpMeta9;
          _txt = tmp4_1;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpCref(threadData, _txt, _i_componentRef, _OMC_LIT7);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 3: {
          modelica_metatype tmpMeta10;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_value_1 = tmpMeta10;
          _txt = tmp4_1;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);

          _ret_0 = omc_System_stringReplace(threadData, _i_value_1, _OMC_LIT98, _OMC_LIT98);

          _txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta11;
          modelica_integer tmp12;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
          tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmp12 = mmc_unbox_integer(tmpMeta11);
          
          _i_value_2 = tmp12  /* pattern as ty=Boolean */;
          _txt = tmp4_1;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, omc_Tpl_booleanString(threadData, _i_value_2));
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta13;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,1) == 0) goto tmp3_end;
          tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_exps = tmpMeta13;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_lm__183(threadData, _txt, _i_exps, _a_as__str, _a_context ,&_a_as__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT100);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 6: {
          modelica_metatype tmpMeta14;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,1) == 0) goto tmp3_end;
          tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_exps = tmpMeta14;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_lm__184(threadData, _txt, _i_exps, _a_as__str, _a_context ,&_a_as__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT100);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 7: {
          modelica_metatype tmpMeta15;
          modelica_metatype tmpMeta16;
          modelica_metatype tmpMeta17;
          modelica_metatype tmpMeta18;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,3) == 0) goto tmp3_end;
          tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,2,2) == 0) goto tmp3_end;
          tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 2));
          if (4 != MMC_STRLEN(tmpMeta16) || strcmp(MMC_STRINGDATA(_OMC_LIT108), MMC_STRINGDATA(tmpMeta16)) != 0) goto tmp3_end;
          tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,0,2) == 0) goto tmp3_end;
          tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 2));
          
          _i_exps = tmpMeta18;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_lm__185(threadData, _txt, _i_exps, _a_as__str, _a_context ,&_a_as__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT100);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 8: {
          modelica_metatype tmpMeta19;
          modelica_metatype tmpMeta20;
          modelica_metatype tmpMeta21;
          modelica_metatype tmpMeta22;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,3) == 0) goto tmp3_end;
          tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta19,2,2) == 0) goto tmp3_end;
          tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta19), 2));
          if (6 != MMC_STRLEN(tmpMeta20) || strcmp(MMC_STRINGDATA(_OMC_LIT109), MMC_STRINGDATA(tmpMeta20)) != 0) goto tmp3_end;
          tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta21,0,2) == 0) goto tmp3_end;
          tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta21), 2));
          
          _i_exps = tmpMeta22;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_lm__186(threadData, _txt, _i_exps, _a_as__str, _a_context ,&_a_as__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT100);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 9: {
          modelica_metatype tmpMeta23;
          modelica_metatype tmpMeta24;
          modelica_metatype tmpMeta25;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,3) == 0) goto tmp3_end;
          tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta23,2,2) == 0) goto tmp3_end;
          tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta23), 2));
          tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_function__ = tmpMeta23;
          _i_id = tmpMeta24;
          _i_functionArgs = tmpMeta25;
          _txt = tmp4_1;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _l_args__str = omc_AbsynToJulia_dumpFunctionArgsPattern(threadData, _OMC_LIT0, _i_functionArgs);

          _l_func__str = omc_AbsynToJulia_fun__187(threadData, _OMC_LIT0, _i_id, _i_function__);

          _txt = omc_AbsynToJulia_fun__190(threadData, _txt, _l_args__str, _l_func__str);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 10: {
          modelica_metatype tmpMeta26;
          modelica_metatype tmpMeta27;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,3) == 0) goto tmp3_end;
          tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta27 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_function__ = tmpMeta26;
          _i_functionArgs = tmpMeta27;
          _txt = tmp4_1;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _l_func__str = omc_AbsynToJulia_dumpCref(threadData, _OMC_LIT0, _i_function__, _OMC_LIT7);

          _l_args__str = omc_AbsynToJulia_dumpFunctionArgsPattern(threadData, _OMC_LIT0, _i_functionArgs);

          _txt = omc_AbsynToJulia_fun__191(threadData, _txt, _l_args__str, _l_func__str);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 11: {
          modelica_metatype tmpMeta28;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,1) == 0) goto tmp3_end;
          tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_expressions = tmpMeta28;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _l_tuple__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT103);

          _l_tuple__str = omc_AbsynToJulia_lm__192(threadData, _l_tuple__str, _i_expressions, _a_as__str, _a_context ,&_a_as__str);

          _l_tuple__str = omc_Tpl_popIter(threadData, _l_tuple__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_tuple__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 12: {
          modelica_metatype tmpMeta29;
          modelica_metatype tmpMeta30;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,2) == 0) goto tmp3_end;
          tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta30 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_id = tmpMeta29;
          _i_exp = tmpMeta30;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _l_exp__str = omc_AbsynToJulia_dumpPattern(threadData, _OMC_LIT0, _i_exp, _a_context, _a_as__str ,&_a_as__str);

          _l_id__str = omc_Tpl_writeStr(threadData, _OMC_LIT0, _i_id);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_id__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_exp__str);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 13: {
          modelica_metatype tmpMeta31;
          modelica_metatype tmpMeta32;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,2) == 0) goto tmp3_end;
          tmpMeta31 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta32 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_head = tmpMeta31;
          _i_rest = tmpMeta32;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt_7 = omc_AbsynToJulia_dumpPattern(threadData, _OMC_LIT0, _i_head, _a_context, _a_as__str ,&_a_as__str);

          _txt_8 = omc_AbsynToJulia_dumpPattern(threadData, _OMC_LIT0, _i_rest, _a_context, _a_as__str ,&_a_as__str);

          _l_consOp = omc_AbsynToJulia_dumpCons(threadData, _OMC_LIT0, omc_Tpl_textString(threadData, _txt_7), omc_Tpl_textString(threadData, _txt_8));

          _txt = omc_Tpl_writeText(threadData, _txt, _l_consOp);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 14: {
          
          _txt = tmp4_1;
          _a_as__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_as__str = tmpMeta[0+1];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_as__str) { *out_out_a_as__str = _out_a_as__str; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__192(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_as__str, modelica_metatype _in_a_context, modelica_metatype *out_out_a_as__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_as__str = NULL;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_as__str has no default value.
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_as__str;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_as__str = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_as__str has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_as__str = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_as__str = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpPattern(threadData, _txt, _i_e, _a_context, _a_as__str ,&_a_as__str);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_as__str = _a_as__str;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_as__str = tmpMeta[0+1];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_as__str) { *out_out_a_as__str = _out_a_as__str; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__191(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str, modelica_metatype _in_a_func__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_args__str;
    tmp4_3 = _in_a_func__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_func__str = NULL;
      modelica_metatype _i_args__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_func__str has no default value.
      // _i_args__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_func__str = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_func__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_args__str = tmp4_2;
          _a_func__str = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_func__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _i_args__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__190(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str, modelica_metatype _in_a_func__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_args__str;
    tmp4_3 = _in_a_func__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_func__str = NULL;
      modelica_metatype _i_args__str = NULL;
      modelica_string _str_1 = NULL;
      modelica_metatype _l_isNone = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_func__str has no default value.
      // _i_args__str has no default value.
      // _str_1 has no default value.
      // _l_isNone has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_func__str = tmp4_3;
          /* Pattern matching succeeded */
          _str_1 = omc_Tpl_textString(threadData, _a_func__str);

          _l_isNone = omc_AbsynToJulia_fun__188(threadData, _OMC_LIT0, _str_1);
          tmpMeta1 = omc_AbsynToJulia_fun__189(threadData, _txt, _l_isNone, _a_func__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_args__str = tmp4_2;
          _a_func__str = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_func__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _i_args__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__189(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isNone, modelica_metatype _in_a_func__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_isNone;
    tmp4_3 = _in_a_func__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_func__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_func__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_func__str = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_func__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_func__str = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_func__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__188(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_string tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (4 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT114), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT115);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__187(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_id, modelica_metatype _in_a_function__)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_id;
    tmp4_3 = _in_a_function__;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_function__ = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_function__ has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (4 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT108), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT116);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_function__ = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpCref(threadData, _txt, _a_function__, _OMC_LIT7);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__186(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_as__str, modelica_metatype _in_a_context, modelica_metatype *out_out_a_as__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_as__str = NULL;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_as__str has no default value.
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_as__str;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_as__str = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_as__str has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_as__str = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_as__str = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpPattern(threadData, _txt, _i_e, _a_context, _a_as__str ,&_a_as__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_as__str = _a_as__str;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_as__str = tmpMeta[0+1];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_as__str) { *out_out_a_as__str = _out_a_as__str; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__185(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_as__str, modelica_metatype _in_a_context, modelica_metatype *out_out_a_as__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_as__str = NULL;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_as__str has no default value.
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_as__str;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_as__str = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_as__str has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_as__str = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_as__str = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpPattern(threadData, _txt, _i_e, _a_context, _a_as__str ,&_a_as__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_as__str = _a_as__str;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_as__str = tmpMeta[0+1];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_as__str) { *out_out_a_as__str = _out_a_as__str; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__184(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_as__str, modelica_metatype _in_a_context, modelica_metatype *out_out_a_as__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_as__str = NULL;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_as__str has no default value.
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_as__str;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_as__str = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_as__str has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_as__str = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_as__str = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpPattern(threadData, _txt, _i_e, _a_context, _a_as__str ,&_a_as__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_as__str = _a_as__str;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_as__str = tmpMeta[0+1];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_as__str) { *out_out_a_as__str = _out_a_as__str; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__183(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_as__str, modelica_metatype _in_a_context, modelica_metatype *out_out_a_as__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_as__str = NULL;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_as__str has no default value.
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_as__str;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_as__str = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_as__str has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_as__str = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_as__str;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_as__str = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpPattern(threadData, _txt, _i_e, _a_context, _a_as__str ,&_a_as__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_as__str = _a_as__str;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_as__str = tmpMeta[0+1];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_as__str) { *out_out_a_as__str = _out_a_as__str; }
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpExp(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_exp;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_index = NULL;
      modelica_metatype _i_exps = NULL;
      modelica_metatype _i_rest = NULL;
      modelica_metatype _i_head = NULL;
      modelica_string _i_id = NULL;
      modelica_metatype _i_code = NULL;
      modelica_metatype _i_expressions = NULL;
      modelica_metatype _i_stop = NULL;
      modelica_metatype _i_step = NULL;
      modelica_metatype _i_start = NULL;
      modelica_metatype _i_matrix = NULL;
      modelica_metatype _i_arrayExp = NULL;
      modelica_metatype _i_function__ = NULL;
      modelica_metatype _i_functionArgs = NULL;
      modelica_metatype _i_exp = NULL;
      modelica_metatype _i_op = NULL;
      modelica_metatype _i_exp2 = NULL;
      modelica_metatype _i_e = NULL;
      modelica_metatype _i_exp1 = NULL;
      modelica_boolean _i_value_2;
      modelica_metatype _i_componentRef = NULL;
      modelica_string _i_value_1 = NULL;
      modelica_integer _i_value;
      modelica_metatype _l_list__str = NULL;
      modelica_metatype _l_rest__str = NULL;
      modelica_metatype _l_head__str = NULL;
      modelica_metatype _l_tuple__str = NULL;
      modelica_metatype _l_stop__str = NULL;
      modelica_metatype _l_step__str = NULL;
      modelica_metatype _l_start__str = NULL;
      modelica_metatype _l_matrix__str = NULL;
      modelica_metatype _l_array__str = NULL;
      modelica_metatype _l_args2__str = NULL;
      modelica_metatype _l_func__str = NULL;
      modelica_metatype _l_args__str = NULL;
      modelica_metatype _l_exp__str = NULL;
      modelica_metatype _l_op__str = NULL;
      modelica_metatype _l_rhs__str = NULL;
      modelica_metatype _l_lhs__str = NULL;
      modelica_string _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_index has no default value.
      // _i_exps has no default value.
      // _i_rest has no default value.
      // _i_head has no default value.
      // _i_id has no default value.
      // _i_code has no default value.
      // _i_expressions has no default value.
      // _i_stop has no default value.
      // _i_step has no default value.
      // _i_start has no default value.
      // _i_matrix has no default value.
      // _i_arrayExp has no default value.
      // _i_function__ has no default value.
      // _i_functionArgs has no default value.
      // _i_exp has no default value.
      // _i_op has no default value.
      // _i_exp2 has no default value.
      // _i_e has no default value.
      // _i_exp1 has no default value.
      // _i_value_2 has no default value.
      // _i_componentRef has no default value.
      // _i_value_1 has no default value.
      // _i_value has no default value.
      // _l_list__str has no default value.
      // _l_rest__str has no default value.
      // _l_head__str has no default value.
      // _l_tuple__str has no default value.
      // _l_stop__str has no default value.
      // _l_step__str has no default value.
      // _l_start__str has no default value.
      // _l_matrix__str has no default value.
      // _l_array__str has no default value.
      // _l_args2__str has no default value.
      // _l_func__str has no default value.
      // _l_args__str has no default value.
      // _l_exp__str has no default value.
      // _l_op__str has no default value.
      // _l_rhs__str has no default value.
      // _l_lhs__str has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 27; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_integer tmp7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmp7 = mmc_unbox_integer(tmpMeta6);
          
          _i_value = tmp7  /* pattern as ty=Integer */;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_value));
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta8;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_value_1 = tmpMeta8;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_value_1);
          goto tmp3_done;
        }
        case 2: {
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_componentRef = tmpMeta9;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpCref(threadData, _txt, _i_componentRef, _a_context);
          goto tmp3_done;
        }
        case 3: {
          modelica_metatype tmpMeta10;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_value_1 = tmpMeta10;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);

          _ret_0 = omc_Util_escapeModelicaStringToJLString(threadData, _i_value_1);

          _txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta11;
          modelica_integer tmp12;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
          tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmp12 = mmc_unbox_integer(tmpMeta11);
          
          _i_value_2 = tmp12  /* pattern as ty=Boolean */;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, omc_Tpl_booleanString(threadData, _i_value_2));
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta13;
          modelica_metatype tmpMeta14;
          modelica_metatype tmpMeta15;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,3) == 0) goto tmp3_end;
          tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_e = tmp4_2;
          _i_exp1 = tmpMeta13;
          _i_op = tmpMeta14;
          _i_exp2 = tmpMeta15;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_lhs__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_exp1, _i_e, 1 /* true */, _a_context);

          _l_rhs__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_exp2, _i_e, 0 /* false */, _a_context);

          _l_op__str = omc_AbsynToJulia_dumpOperator(threadData, _OMC_LIT0, _i_op);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_lhs__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_op__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_rhs__str);
          goto tmp3_done;
        }
        case 6: {
          modelica_metatype tmpMeta16;
          modelica_metatype tmpMeta17;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_e = tmp4_2;
          _i_op = tmpMeta16;
          _i_exp = tmpMeta17;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_exp__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_exp, _i_e, 0 /* false */, _a_context);

          _l_op__str = omc_AbsynToJulia_dumpOperator(threadData, _OMC_LIT0, _i_op);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_op__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_exp__str);
          goto tmp3_done;
        }
        case 7: {
          modelica_metatype tmpMeta18;
          modelica_metatype tmpMeta19;
          modelica_metatype tmpMeta20;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,3) == 0) goto tmp3_end;
          tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_e = tmp4_2;
          _i_exp1 = tmpMeta18;
          _i_op = tmpMeta19;
          _i_exp2 = tmpMeta20;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_lhs__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_exp1, _i_e, 1 /* true */, _a_context);

          _l_rhs__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_exp2, _i_e, 0 /* false */, _a_context);

          _l_op__str = omc_AbsynToJulia_dumpOperator(threadData, _OMC_LIT0, _i_op);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_lhs__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_op__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_rhs__str);
          goto tmp3_done;
        }
        case 8: {
          modelica_metatype tmpMeta21;
          modelica_metatype tmpMeta22;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,2) == 0) goto tmp3_end;
          tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_e = tmp4_2;
          _i_op = tmpMeta21;
          _i_exp = tmpMeta22;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_exp__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_exp, _i_e, 0 /* false */, _a_context);

          _l_op__str = omc_AbsynToJulia_dumpOperator(threadData, _OMC_LIT0, _i_op);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_op__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_exp__str);
          goto tmp3_done;
        }
        case 9: {
          modelica_metatype tmpMeta23;
          modelica_metatype tmpMeta24;
          modelica_metatype tmpMeta25;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
          tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_e = tmp4_2;
          _i_exp1 = tmpMeta23;
          _i_op = tmpMeta24;
          _i_exp2 = tmpMeta25;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_lhs__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_exp1, _i_e, 1 /* true */, _a_context);

          _l_rhs__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_exp2, _i_e, 0 /* false */, _a_context);

          _l_op__str = omc_AbsynToJulia_dumpOperator(threadData, _OMC_LIT0, _i_op);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_lhs__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_op__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_rhs__str);
          goto tmp3_done;
        }
        case 10: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,4) == 0) goto tmp3_end;
          
          _i_exp = tmp4_2;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpIfExp(threadData, _txt, _i_exp, _a_context);
          goto tmp3_done;
        }
        case 11: {
          modelica_metatype tmpMeta26;
          modelica_metatype tmpMeta27;
          modelica_metatype tmpMeta28;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,3) == 0) goto tmp3_end;
          tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta26,2,2) == 0) goto tmp3_end;
          tmpMeta27 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta26), 2));
          if (6 != MMC_STRLEN(tmpMeta27) || strcmp(MMC_STRINGDATA(_OMC_LIT109), MMC_STRINGDATA(tmpMeta27)) != 0) goto tmp3_end;
          tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_functionArgs = tmpMeta28;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_args__str = omc_AbsynToJulia_dumpFunctionArgs(threadData, _OMC_LIT0, _i_functionArgs, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT118);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_args__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT120);
          goto tmp3_done;
        }
        case 12: {
          modelica_metatype tmpMeta29;
          modelica_metatype tmpMeta30;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,3) == 0) goto tmp3_end;
          tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta30 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_function__ = tmpMeta29;
          _i_functionArgs = tmpMeta30;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_func__str = omc_AbsynToJulia_dumpCref(threadData, _OMC_LIT0, _i_function__, _a_context);

          _l_args__str = omc_AbsynToJulia_dumpFunctionArgs(threadData, _OMC_LIT0, _i_functionArgs, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_func__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_args__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        case 13: {
          modelica_metatype tmpMeta31;
          modelica_metatype tmpMeta32;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,2) == 0) goto tmp3_end;
          tmpMeta31 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta32 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_function__ = tmpMeta31;
          _i_functionArgs = tmpMeta32;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_func__str = omc_AbsynToJulia_dumpCref(threadData, _OMC_LIT0, _i_function__, _a_context);

          _l_args__str = omc_AbsynToJulia_dumpFunctionArgs(threadData, _OMC_LIT0, _i_functionArgs, _a_context);

          _l_args2__str = omc_AbsynToJulia_fun__174(threadData, _OMC_LIT0, _i_functionArgs);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_args2__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT122);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_func__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_args__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        case 14: {
          modelica_metatype tmpMeta33;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,1) == 0) goto tmp3_end;
          tmpMeta33 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_arrayExp = tmpMeta33;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_array__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_array__str = omc_AbsynToJulia_lm__175(threadData, _l_array__str, _i_arrayExp, _a_context);

          _l_array__str = omc_Tpl_popIter(threadData, _l_array__str);
          tmpMeta1 = omc_AbsynToJulia_fun__176(threadData, _txt, _l_array__str);
          goto tmp3_done;
        }
        case 15: {
          modelica_metatype tmpMeta34;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,1) == 0) goto tmp3_end;
          tmpMeta34 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_matrix = tmpMeta34;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_matrix__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT126);

          _l_matrix__str = omc_AbsynToJulia_lm__178(threadData, _l_matrix__str, _i_matrix, _a_context);

          _l_matrix__str = omc_Tpl_popIter(threadData, _l_matrix__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT128);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_matrix__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
          goto tmp3_done;
        }
        case 16: {
          modelica_metatype tmpMeta35;
          modelica_metatype tmpMeta36;
          modelica_metatype tmpMeta37;
          modelica_metatype tmpMeta38;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,3) == 0) goto tmp3_end;
          tmpMeta35 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta36 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          if (optionNone(tmpMeta36)) goto tmp3_end;
          tmpMeta37 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta36), 1));
          tmpMeta38 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_e = tmp4_2;
          _i_start = tmpMeta35;
          _i_step = tmpMeta37;
          _i_stop = tmpMeta38;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_start__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_start, _i_e, 0 /* false */, _a_context);

          _l_step__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_step, _i_e, 0 /* false */, _a_context);

          _l_stop__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_stop, _i_e, 0 /* false */, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_start__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT132);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_step__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT132);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_stop__str);
          goto tmp3_done;
        }
        case 17: {
          modelica_metatype tmpMeta39;
          modelica_metatype tmpMeta40;
          modelica_metatype tmpMeta41;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,3) == 0) goto tmp3_end;
          tmpMeta39 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta40 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          if (!optionNone(tmpMeta40)) goto tmp3_end;
          tmpMeta41 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_e = tmp4_2;
          _i_start = tmpMeta39;
          _i_stop = tmpMeta41;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_start__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_start, _i_e, 0 /* false */, _a_context);

          _l_stop__str = omc_AbsynToJulia_dumpOperand(threadData, _OMC_LIT0, _i_stop, _i_e, 0 /* false */, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_start__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT132);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_stop__str);
          goto tmp3_done;
        }
        case 18: {
          modelica_metatype tmpMeta42;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,1) == 0) goto tmp3_end;
          tmpMeta42 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_expressions = tmpMeta42;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_tuple__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT103);

          _l_tuple__str = omc_AbsynToJulia_lm__179(threadData, _l_tuple__str, _i_expressions, _a_context);

          _l_tuple__str = omc_Tpl_popIter(threadData, _l_tuple__str);
          tmpMeta1 = omc_AbsynToJulia_fun__180(threadData, _txt, _l_tuple__str);
          goto tmp3_done;
        }
        case 19: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        case 20: {
          modelica_metatype tmpMeta43;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,1) == 0) goto tmp3_end;
          tmpMeta43 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_code = tmpMeta43;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT134);

          _txt = omc_AbsynToJulia_dumpCodeNode(threadData, _txt, _i_code, _a_context);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        case 21: {
          modelica_metatype tmpMeta44;
          modelica_metatype tmpMeta45;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,2) == 0) goto tmp3_end;
          tmpMeta44 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta45 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_id = tmpMeta44;
          _i_exp = tmpMeta45;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_exp__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_exp, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT136);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_exp__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_id);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        case 22: {
          modelica_metatype tmpMeta46;
          modelica_metatype tmpMeta47;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,2) == 0) goto tmp3_end;
          tmpMeta46 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta47 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_head = tmpMeta46;
          _i_rest = tmpMeta47;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_head__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_head, _a_context);

          _l_rest__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_rest, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_head__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_rest__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        case 23: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,5) == 0) goto tmp3_end;
          
          _i_exp = tmp4_2;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpMatchExp(threadData, _txt, _i_exp);
          goto tmp3_done;
        }
        case 24: {
          modelica_metatype tmpMeta48;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,1) == 0) goto tmp3_end;
          tmpMeta48 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_exps = tmpMeta48;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_list__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_list__str = omc_AbsynToJulia_lm__181(threadData, _l_list__str, _i_exps, _a_context);

          _l_list__str = omc_Tpl_popIter(threadData, _l_list__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT140);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_list__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        case 25: {
          modelica_metatype tmpMeta49;
          modelica_metatype tmpMeta50;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,2) == 0) goto tmp3_end;
          tmpMeta49 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta50 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_exp = tmpMeta49;
          _i_index = tmpMeta50;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_exp, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_a_exp = _i_index;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        case 26: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT142);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__181(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_e, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__180(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tuple__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_tuple__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_tuple__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_tuple__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_tuple__str = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _i_tuple__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__179(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_e, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__178(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_row = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_row has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_row = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT5);

          _txt = omc_AbsynToJulia_lm__177(threadData, _txt, _i_row, _a_context);

          _txt = omc_Tpl_popIter(threadData, _txt);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__177(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_e, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__176(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_array__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_array__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_array__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_array__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT144);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_array__str = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT140);

          _txt = omc_Tpl_writeText(threadData, _txt, _i_array__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__175(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_e, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__174(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_functionArgs)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_functionArgs;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_argNames = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_argNames has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_argNames = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT5);

          _txt = omc_AbsynToJulia_lm__173(threadData, _txt, _i_argNames);
          tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__173(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_na = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_na has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_na = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpNamedArgPattern3(threadData, _txt, _i_na);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpSubscript(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subscript, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_subscript;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_subscript = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_subscript has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT132);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_subscript = tmpMeta5;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_subscript, _a_context);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpSubscripts(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subscripts, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_subscripts;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_subscripts = NULL;
      modelica_metatype _l_sub__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_subscripts has no default value.
      // _l_sub__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_subscripts = tmp4_2;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_sub__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_sub__str = omc_AbsynToJulia_lm__170(threadData, _l_sub__str, _i_subscripts, _a_context);

          _l_sub__str = omc_Tpl_popIter(threadData, _l_sub__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT128);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_sub__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__170(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_s = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_s has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_s = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpSubscript(threadData, _txt, _i_s, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpArrayDimOpt(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_arraydim, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_arraydim;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_ad = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_ad has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_ad = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpSubscripts(threadData, _txt, _i_ad, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpSubscriptsTypeSpec(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_subscripts, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_AbsynToJulia_fun__167(threadData, _txt, _a_subscripts);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__167(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subscripts)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_subscripts;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_subscripts = NULL;
      modelica_metatype _l_sub__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_subscripts has no default value.
      // _l_sub__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_subscripts = tmp4_2;
          /* Pattern matching succeeded */
          _l_sub__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_sub__str = omc_AbsynToJulia_lm__166(threadData, _l_sub__str, _i_subscripts);

          _l_sub__str = omc_Tpl_popIter(threadData, _l_sub__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT146);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_sub__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT120);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__166(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT147);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpArrayDimOptTypeSpec(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_arraydim, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_arraydim;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_ad = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_ad has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_ad = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpSubscriptsTypeSpec(threadData, _txt, _i_ad, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpTypeSpec(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_typeSpec, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_typeSpec;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_typeSpecs = NULL;
      modelica_metatype _i_arrayDim = NULL;
      modelica_metatype _i_path = NULL;
      modelica_metatype _l_res = NULL;
      modelica_metatype _l_ty__str2 = NULL;
      modelica_metatype _l_isPackage = NULL;
      modelica_metatype _l_isFunc = NULL;
      modelica_metatype _l_ty__str = NULL;
      modelica_metatype _l_arraydim__str = NULL;
      modelica_metatype _l_path__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_typeSpecs has no default value.
      // _i_arrayDim has no default value.
      // _i_path has no default value.
      // _l_res has no default value.
      // _l_ty__str2 has no default value.
      // _l_isPackage has no default value.
      // _l_isFunc has no default value.
      // _l_ty__str has no default value.
      // _l_arraydim__str has no default value.
      // _l_path__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_path = tmpMeta5;
          _i_arrayDim = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_path__str = omc_AbsynToJulia_dumpPathJL(threadData, _OMC_LIT0, _i_path);

          _l_arraydim__str = omc_AbsynToJulia_dumpArrayDimOpt(threadData, _OMC_LIT0, _i_arrayDim, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_path__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_arraydim__str);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_path = tmpMeta7;
          _i_typeSpecs = tmpMeta8;
          _i_arrayDim = tmpMeta9;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_path__str = omc_AbsynToJulia_dumpPathJL(threadData, _OMC_LIT0, _i_path);

          _l_ty__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_ty__str = omc_AbsynToJulia_lm__159(threadData, _l_ty__str, _i_typeSpecs, _a_context);

          _l_ty__str = omc_Tpl_popIter(threadData, _l_ty__str);

          _l_arraydim__str = omc_AbsynToJulia_dumpArrayDimOpt(threadData, _OMC_LIT0, _i_arrayDim, _a_context);

          _l_isFunc = omc_AbsynToJulia_fun__160(threadData, _OMC_LIT0, _a_context);

          _l_isPackage = omc_AbsynToJulia_fun__161(threadData, _OMC_LIT0, _a_context);

          _l_ty__str2 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT149);

          _l_ty__str2 = omc_Tpl_writeText(threadData, _l_ty__str2, _l_ty__str);

          _l_ty__str2 = omc_Tpl_writeTok(threadData, _l_ty__str2, _OMC_LIT120);

          _l_res = omc_Tpl_writeText(threadData, _OMC_LIT0, _l_path__str);

          _l_res = omc_Tpl_writeText(threadData, _l_res, _l_ty__str2);

          _l_res = omc_Tpl_writeText(threadData, _l_res, _l_arraydim__str);
          tmpMeta1 = omc_AbsynToJulia_fun__163(threadData, _txt, _l_isFunc, _l_res, _l_arraydim__str, _l_ty__str, _l_path__str, _l_isPackage);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__163(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isFunc, modelica_metatype _in_a_res, modelica_metatype _in_a_arraydim__str, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_path__str, modelica_metatype _in_a_isPackage)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_isFunc;
    tmp4_3 = _in_a_res;
    tmp4_4 = _in_a_arraydim__str;
    tmp4_5 = _in_a_ty__str;
    tmp4_6 = _in_a_path__str;
    tmp4_7 = _in_a_isPackage;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_res = NULL;
      modelica_metatype _a_arraydim__str = NULL;
      modelica_metatype _a_ty__str = NULL;
      modelica_metatype _a_path__str = NULL;
      modelica_metatype _a_isPackage = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_res has no default value.
      // _a_arraydim__str has no default value.
      // _a_ty__str has no default value.
      // _a_path__str has no default value.
      // _a_isPackage has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_arraydim__str = tmp4_4;
          _a_ty__str = tmp4_5;
          _a_path__str = tmp4_6;
          _a_isPackage = tmp4_7;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_fun__162(threadData, _txt, _a_isPackage, _a_arraydim__str, _a_ty__str, _a_path__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_res = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_res);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__162(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPackage, modelica_metatype _in_a_arraydim__str, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_path__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_isPackage;
    tmp4_3 = _in_a_arraydim__str;
    tmp4_4 = _in_a_ty__str;
    tmp4_5 = _in_a_path__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_arraydim__str = NULL;
      modelica_metatype _a_ty__str = NULL;
      modelica_metatype _a_path__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_arraydim__str has no default value.
      // _a_ty__str has no default value.
      // _a_path__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_arraydim__str = tmp4_3;
          _a_ty__str = tmp4_4;
          _a_path__str = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_path__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT118);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_ty__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT120);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_arraydim__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_path__str = tmp4_5;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_path__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__161(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__160(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT153);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__159(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_ty = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_ty has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_ty = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpTypeSpec(threadData, _txt, _i_ty, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpTypeSpecOpt(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_typespecOpt, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_typespecOpt;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_ts = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_ts has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_ts = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpTypeSpec(threadData, _txt, _i_ts, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpPathNoQual(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_path)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_path;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_path = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_path has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_path = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpPathJL(threadData, _txt, _i_path);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_path = tmp4_2;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpPathJL(threadData, _txt, _i_path);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpPathJL(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_path)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_path;
    {
      modelica_metatype _txt = NULL;
      modelica_string _i_name = NULL;
      modelica_metatype _i_path = NULL;
      modelica_boolean _ret_0;
      int tmp4;
      // _txt has no default value.
      // _i_name has no default value.
      // _i_path has no default value.
      // _ret_0 has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 5: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_path = tmpMeta5;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
          tmpMeta1 = omc_AbsynDumpTpl_dumpPath(threadData, _txt, _i_path);
          goto tmp3_done;
        }
        case 3: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_name = tmpMeta6;
          _i_path = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _ret_0 = omc_Flags_getConfigBool(threadData, _OMC_LIT161);
          tmpMeta1 = omc_AbsynToJulia_fun__154(threadData, _txt, _ret_0, _i_path, _i_name);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta8;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_name = tmpMeta8;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_fun__155(threadData, _txt, _i_name);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT162);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__155(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_string tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_name;
    {
      modelica_metatype _txt = NULL;
      modelica_string _i_name = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_name has no default value.
      tmp4 = 0;
      for (; tmp4 < 9; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (4 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT175), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT164);
          goto tmp3_done;
        }
        case 1: {
          if (7 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT165), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT166);
          goto tmp3_done;
        }
        case 2: {
          if (7 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT176), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT168);
          goto tmp3_done;
        }
        case 3: {
          if (4 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT108), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT116);
          goto tmp3_done;
        }
        case 4: {
          if (5 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT177), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT147);
          goto tmp3_done;
        }
        case 5: {
          if (5 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT178), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT170);
          goto tmp3_done;
        }
        case 6: {
          if (11 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT179), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT172);
          goto tmp3_done;
        }
        case 7: {
          if (7 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT180), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT174);
          goto tmp3_done;
        }
        case 8: {
          
          _txt = tmp4_1;
          _i_name = tmp4_2;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_name);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__154(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_path, modelica_string _in_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_path;
    tmp4_4 = _in_a_name;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_path = NULL;
      modelica_string _a_name = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_path has no default value.
      // _a_name has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_path = tmp4_3;
          _a_name = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
          tmpMeta1 = omc_AbsynDumpTpl_dumpPath(threadData, _txt, _a_path);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_path = tmp4_3;
          _a_name = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT28);
          tmpMeta1 = omc_AbsynDumpTpl_dumpPath(threadData, _txt, _a_path);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__154(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_path, modelica_metatype _in_a_name)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  _out_txt = omc_AbsynToJulia_fun__154(threadData, _in_txt, tmp1, _in_a_path, _in_a_name);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpAlgorithmBranch(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cond, modelica_metatype _a_body, modelica_string _a_header, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _l_body__str = NULL;
  modelica_metatype _l_cond__str = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _l_body__str has no default value.
  // _l_cond__str has no default value.
  _l_cond__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _a_cond, _a_context);

  _l_body__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT60);

  _l_body__str = omc_AbsynToJulia_lm__152(threadData, _l_body__str, _a_body, _a_context);

  _l_body__str = omc_Tpl_popIter(threadData, _l_body__str);

  _out_txt = omc_Tpl_writeStr(threadData, _txt, _a_header);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT53);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_cond__str);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT54);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_body__str);

  _out_txt = omc_Tpl_popBlock(threadData, _out_txt);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__152(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_eq = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_eq has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_eq = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpAlgorithmItem(threadData, _txt, _i_eq, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpAlgReturnString(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_string _i_retValsStr = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_retValsStr has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_retValsStr = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT182);
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_retValsStr);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT184);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpAlgorithm(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_alg, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_alg;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_elseBody = NULL;
      modelica_metatype _i_body = NULL;
      modelica_metatype _i_equ = NULL;
      modelica_metatype _i_functionArgs = NULL;
      modelica_metatype _i_functionCall = NULL;
      modelica_metatype _i_whileBody = NULL;
      modelica_metatype _i_boolExpr = NULL;
      modelica_metatype _i_forBody = NULL;
      modelica_metatype _i_iterators = NULL;
      modelica_metatype _i_elseBranch = NULL;
      modelica_metatype _i_elseIfAlgorithmBranch = NULL;
      modelica_metatype _i_trueBranch = NULL;
      modelica_metatype _i_ifExp = NULL;
      modelica_metatype _i_value = NULL;
      modelica_metatype _i_assignComponent = NULL;
      modelica_metatype _l_arg2 = NULL;
      modelica_metatype _l_arg1 = NULL;
      modelica_metatype _l_arg__str = NULL;
      modelica_metatype _l_args__str = NULL;
      modelica_metatype _l_name__str = NULL;
      modelica_metatype _l_while__str = NULL;
      modelica_metatype _l_body__str = NULL;
      modelica_metatype _l_iter__str = NULL;
      modelica_metatype _l_else__str = NULL;
      modelica_metatype _l_else__branch__str = NULL;
      modelica_metatype _l_elseif__str = NULL;
      modelica_metatype _l_if__str = NULL;
      modelica_boolean _ret_3;
      modelica_metatype _l_rhs__str = NULL;
      modelica_metatype _ret_1 = NULL;
      modelica_metatype _l_lhs__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_elseBody has no default value.
      // _i_body has no default value.
      // _i_equ has no default value.
      // _i_functionArgs has no default value.
      // _i_functionCall has no default value.
      // _i_whileBody has no default value.
      // _i_boolExpr has no default value.
      // _i_forBody has no default value.
      // _i_iterators has no default value.
      // _i_elseBranch has no default value.
      // _i_elseIfAlgorithmBranch has no default value.
      // _i_trueBranch has no default value.
      // _i_ifExp has no default value.
      // _i_value has no default value.
      // _i_assignComponent has no default value.
      // _l_arg2 has no default value.
      // _l_arg1 has no default value.
      // _l_arg__str has no default value.
      // _l_args__str has no default value.
      // _l_name__str has no default value.
      // _l_while__str has no default value.
      // _l_body__str has no default value.
      // _l_iter__str has no default value.
      // _l_else__str has no default value.
      // _l_else__branch__str has no default value.
      // _l_elseif__str has no default value.
      // _l_if__str has no default value.
      // _ret_3 has no default value.
      // _l_rhs__str has no default value.
      // _ret_1 has no default value.
      // _l_lhs__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_assignComponent = tmpMeta5;
          _i_value = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _ret_1 = omc_MMToJuliaUtil_makeFunctionContext(threadData, _OMC_LIT185);

          _l_lhs__str = omc_AbsynToJulia_dumpLhsExp(threadData, _OMC_LIT0, _i_assignComponent, _ret_1);

          _l_rhs__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_value, _a_context);

          _ret_3 = omc_AbsynUtil_complexIsCref(threadData, _i_assignComponent);
          tmpMeta1 = omc_AbsynToJulia_fun__146(threadData, _txt, _ret_3, _i_assignComponent, _l_rhs__str, _l_lhs__str);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          modelica_metatype tmpMeta10;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          
          _i_ifExp = tmpMeta7;
          _i_trueBranch = tmpMeta8;
          _i_elseIfAlgorithmBranch = tmpMeta9;
          _i_elseBranch = tmpMeta10;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_if__str = omc_AbsynToJulia_dumpAlgorithmBranch(threadData, _OMC_LIT0, _i_ifExp, _i_trueBranch, _OMC_LIT186, _a_context);

          _l_elseif__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT60);

          _l_elseif__str = omc_AbsynToJulia_lm__147(threadData, _l_elseif__str, _i_elseIfAlgorithmBranch, _a_context);

          _l_elseif__str = omc_Tpl_popIter(threadData, _l_elseif__str);

          _l_else__branch__str = omc_AbsynToJulia_dumpAlgorithmItems(threadData, _OMC_LIT0, _i_elseBranch, _a_context);

          _l_else__str = omc_AbsynToJulia_fun__148(threadData, _OMC_LIT0, _l_else__branch__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_if__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_elseif__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_else__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta11;
          modelica_metatype tmpMeta12;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,2) == 0) goto tmp3_end;
          tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_iterators = tmpMeta11;
          _i_forBody = tmpMeta12;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_iter__str = omc_AbsynToJulia_dumpForIterators(threadData, _OMC_LIT0, _i_iterators, _a_context);

          _l_body__str = omc_AbsynToJulia_dumpAlgorithmItems(threadData, _OMC_LIT0, _i_forBody, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT188);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_iter__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_body__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        case 7: {
          modelica_metatype tmpMeta13;
          modelica_metatype tmpMeta14;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,2) == 0) goto tmp3_end;
          tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_boolExpr = tmpMeta13;
          _i_whileBody = tmpMeta14;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_while__str = omc_AbsynToJulia_dumpAlgorithmBranch(threadData, _OMC_LIT0, _i_boolExpr, _i_whileBody, _OMC_LIT189, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_while__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        case 8: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,3) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT190);
          goto tmp3_done;
        }
        case 9: {
          modelica_metatype tmpMeta15;
          modelica_metatype tmpMeta16;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_functionCall = tmpMeta15;
          _i_functionArgs = tmpMeta16;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_name__str = omc_AbsynToJulia_dumpCref(threadData, _OMC_LIT0, _i_functionCall, _a_context);

          _l_args__str = omc_AbsynToJulia_dumpFunctionArgs(threadData, _OMC_LIT0, _i_functionArgs, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_name__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_args__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        case 10: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpAlgReturnString(threadData, _txt, _a_context);
          goto tmp3_done;
        }
        case 11: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT192);
          goto tmp3_done;
        }
        case 12: {
          modelica_metatype tmpMeta17;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
          tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_equ = tmpMeta17;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_arg__str = omc_AbsynToJulia_fun__149(threadData, _OMC_LIT0, _i_equ, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT194);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_arg__str);
          goto tmp3_done;
        }
        case 13: {
          modelica_metatype tmpMeta18;
          modelica_metatype tmpMeta19;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,2) == 0) goto tmp3_end;
          tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_body = tmpMeta18;
          _i_elseBody = tmpMeta19;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_arg1 = omc_AbsynToJulia_dumpAlgorithmItems(threadData, _OMC_LIT0, _i_body, _a_context);

          _l_arg2 = omc_AbsynToJulia_dumpAlgorithmItems(threadData, _OMC_LIT0, _i_elseBody, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT196);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_arg1);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT198);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_arg2);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        case 14: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__149(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_equ, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_equ;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_equ = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_equ has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT202);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_equ = tmp4_2;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpAlgorithmItems(threadData, _txt, _i_equ, _a_context);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__148(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_else__branch__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_else__branch__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_else__branch__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_else__branch__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_else__branch__str = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _i_else__branch__str);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__147(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_b = NULL;
      modelica_metatype _i_c = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_b has no default value.
      // _i_c has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
          
          _i_c = tmpMeta8;
          _i_b = tmpMeta9;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpAlgorithmBranch(threadData, _txt, _i_c, _i_b, _OMC_LIT203, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__146(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_assignComponent, modelica_metatype _in_a_rhs__str, modelica_metatype _in_a_lhs__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_assignComponent;
    tmp4_4 = _in_a_rhs__str;
    tmp4_5 = _in_a_lhs__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_assignComponent = NULL;
      modelica_metatype _a_rhs__str = NULL;
      modelica_metatype _a_lhs__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_assignComponent has no default value.
      // _a_rhs__str has no default value.
      // _a_lhs__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_rhs__str = tmp4_4;
          _a_lhs__str = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT205);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_lhs__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_rhs__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_assignComponent = tmp4_3;
          _a_rhs__str = tmp4_4;
          _a_lhs__str = tmp4_5;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_fun__145(threadData, _txt, _a_assignComponent, _a_rhs__str, _a_lhs__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__146(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_assignComponent, modelica_metatype _in_a_rhs__str, modelica_metatype _in_a_lhs__str)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  _out_txt = omc_AbsynToJulia_fun__146(threadData, _in_txt, tmp1, _in_a_assignComponent, _in_a_rhs__str, _in_a_lhs__str);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__145(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_assignComponent, modelica_metatype _in_a_rhs__str, modelica_metatype _in_a_lhs__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_assignComponent;
    tmp4_3 = _in_a_rhs__str;
    tmp4_4 = _in_a_lhs__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_rhs__str = NULL;
      modelica_metatype _a_lhs__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_rhs__str has no default value.
      // _a_lhs__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,2) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_rhs__str = tmp4_3;
          _a_lhs__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT205);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_lhs__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_rhs__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_rhs__str = tmp4_3;
          _a_lhs__str = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_lhs__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_rhs__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpAlgorithmItem(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_alg, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_alg;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_string _i_comment_1 = NULL;
      modelica_metatype _i_comment = NULL;
      modelica_metatype _i_algorithm__ = NULL;
      modelica_metatype _l_cmt__str = NULL;
      modelica_metatype _l_alg__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_comment_1 has no default value.
      // _i_comment has no default value.
      // _i_algorithm__ has no default value.
      // _l_cmt__str has no default value.
      // _l_alg__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,3) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_algorithm__ = tmpMeta5;
          _i_comment = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_alg__str = omc_AbsynToJulia_dumpAlgorithm(threadData, _OMC_LIT0, _i_algorithm__, _a_context);

          _l_cmt__str = omc_AbsynToJulia_dumpCommentOpt(threadData, _OMC_LIT0, _i_comment, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_alg__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_comment_1 = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpCommentStr(threadData, _txt, _i_comment_1);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpAlgorithmItems(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_algs, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT60);

  _out_txt = omc_AbsynToJulia_lm__142(threadData, _out_txt, _a_algs, _a_context);

  _out_txt = omc_Tpl_popIter(threadData, _out_txt);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__142(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_alg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_alg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_alg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpAlgorithmItem(threadData, _txt, _i_alg, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpEquation(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_eq)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT207);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpGroupImport(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_gimp)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_gimp;
    {
      modelica_metatype _txt = NULL;
      modelica_string _i_rename = NULL;
      modelica_string _i_name = NULL;
      int tmp4;
      // _txt has no default value.
      // _i_rename has no default value.
      // _i_name has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_name = tmpMeta5;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_name);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_rename = tmpMeta6;
          _i_name = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _i_rename);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_name);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpImport(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_imp)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_imp;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_groups = NULL;
      modelica_metatype _i_prefix = NULL;
      modelica_string _i_name = NULL;
      modelica_metatype _i_path = NULL;
      modelica_metatype _l_groups__str = NULL;
      modelica_metatype _l_prefix__str = NULL;
      modelica_string _str_1 = NULL;
      modelica_metatype _l_path__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _i_groups has no default value.
      // _i_prefix has no default value.
      // _i_name has no default value.
      // _i_path has no default value.
      // _l_groups__str has no default value.
      // _l_prefix__str has no default value.
      // _str_1 has no default value.
      // _l_path__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_name = tmpMeta5;
          _i_path = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT209);

          _txt = omc_AbsynToJulia_dumpPathJL(threadData, _txt, _i_path);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT124);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT211);
          tmpMeta1 = omc_AbsynToJulia_dumpPathJL(threadData, _txt, _i_path);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_path = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _l_path__str = omc_AbsynToJulia_dumpPathJL(threadData, _OMC_LIT0, _i_path);

          _str_1 = omc_Tpl_textString(threadData, _l_path__str);
          tmpMeta1 = omc_AbsynToJulia_fun__137(threadData, _txt, _str_1, _l_path__str);
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta8;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_path = tmpMeta8;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT213);
          tmpMeta1 = omc_AbsynToJulia_dumpPathJL(threadData, _txt, _i_path);
          goto tmp3_done;
        }
        case 6: {
          modelica_metatype tmpMeta9;
          modelica_metatype tmpMeta10;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,2) == 0) goto tmp3_end;
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_prefix = tmpMeta9;
          _i_groups = tmpMeta10;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _l_prefix__str = omc_AbsynToJulia_dumpPathJL(threadData, _OMC_LIT0, _i_prefix);

          _l_groups__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_groups__str = omc_AbsynToJulia_lm__138(threadData, _l_groups__str, _i_groups);

          _l_groups__str = omc_Tpl_popIter(threadData, _l_groups__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT213);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_prefix__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT215);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_groups__str);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__138(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_group = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_group has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_group = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpGroupImport(threadData, _txt, _i_group);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__137(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_path__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_path__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_path__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_path__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 3; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (5 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT36), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT217);
          goto tmp3_done;
        }
        case 1: {
          if (4 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT35), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT219);
          goto tmp3_done;
        }
        case 2: {
          
          _txt = tmp4_1;
          _a_path__str = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT209);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_path__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpComponentCondition(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cond, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_cond;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_cexp = NULL;
      modelica_metatype _l_exp__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_cexp has no default value.
      // _l_exp__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_cexp = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_exp__str = omc_AbsynToJulia_dumpExp(threadData, _OMC_LIT0, _i_cexp, _a_context);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT8);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_exp__str);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpComponent(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comp, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_comp;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_string _i_name = NULL;
      modelica_metatype _i_modification = NULL;
      modelica_metatype _i_arrayDim = NULL;
      modelica_metatype _l_component__name = NULL;
      modelica_metatype _l_mod__str = NULL;
      modelica_metatype _l_dim__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_name has no default value.
      // _i_modification has no default value.
      // _i_arrayDim has no default value.
      // _l_component__name has no default value.
      // _l_mod__str has no default value.
      // _l_dim__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _txt = tmp4_1;
          _i_name = tmpMeta6;
          _i_arrayDim = tmpMeta7;
          _i_modification = tmpMeta8;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_dim__str = omc_AbsynToJulia_dumpSubscripts(threadData, _OMC_LIT0, _i_arrayDim, _a_context);

          _l_mod__str = omc_AbsynToJulia_fun__133(threadData, _OMC_LIT0, _i_modification, _a_context);

          _l_component__name = omc_Tpl_writeStr(threadData, _OMC_LIT0, _i_name);
          tmpMeta1 = omc_AbsynToJulia_fun__134(threadData, _txt, _a_context, _l_mod__str, _l_dim__str, _l_component__name);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__134(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_mod__str, modelica_metatype _in_a_dim__str, modelica_metatype _in_a_component__name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_context;
    tmp4_3 = _in_a_mod__str;
    tmp4_4 = _in_a_dim__str;
    tmp4_5 = _in_a_component__name;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_mod__str = NULL;
      modelica_metatype _a_dim__str = NULL;
      modelica_metatype _a_component__name = NULL;
      modelica_string _i_ty__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_mod__str has no default value.
      // _a_dim__str has no default value.
      // _a_component__name has no default value.
      // _i_ty__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 4: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_ty__str = tmpMeta5;
          _txt = tmp4_1;
          _a_mod__str = tmp4_3;
          _a_dim__str = tmp4_4;
          _a_component__name = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_component__name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT221);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_ty__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_dim__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_mod__str);
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_component__name = tmp4_5;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_component__name);
          goto tmp3_done;
        }
        case 8: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_ty__str = tmpMeta6;
          _txt = tmp4_1;
          _a_mod__str = tmp4_3;
          _a_dim__str = tmp4_4;
          _a_component__name = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_component__name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT221);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_ty__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_dim__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_mod__str);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          _a_mod__str = tmp4_3;
          _a_dim__str = tmp4_4;
          _a_component__name = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_component__name);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_dim__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_mod__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__133(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_modification, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_modification;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_mod = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_mod has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_mod = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpModification(threadData, _txt, _i_mod, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpComponentItemWithoutCondString(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comp, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_comp;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_comment = NULL;
      modelica_metatype _i_component = NULL;
      modelica_metatype _l_cmt = NULL;
      modelica_metatype _l_comp__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_comment has no default value.
      // _i_component has no default value.
      // _l_cmt has no default value.
      // _l_comp__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _txt = tmp4_1;
          _i_component = tmpMeta6;
          _i_comment = tmpMeta7;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_comp__str = omc_AbsynToJulia_dumpComponent(threadData, _OMC_LIT0, _i_component, _a_context);

          _l_cmt = omc_AbsynToJulia_dumpCommentOpt(threadData, _OMC_LIT0, _i_comment, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_comp__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_cmt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpComponentItem(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comp, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_comp;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_comment = NULL;
      modelica_metatype _i_condition = NULL;
      modelica_metatype _i_component = NULL;
      modelica_metatype _l_cmt = NULL;
      modelica_metatype _l_cond__str = NULL;
      modelica_metatype _l_comp__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_comment has no default value.
      // _i_condition has no default value.
      // _i_component has no default value.
      // _l_cmt has no default value.
      // _l_cond__str has no default value.
      // _l_comp__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _txt = tmp4_1;
          _i_component = tmpMeta6;
          _i_condition = tmpMeta7;
          _i_comment = tmpMeta8;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_comp__str = omc_AbsynToJulia_dumpComponent(threadData, _OMC_LIT0, _i_component, _a_context);

          _l_cond__str = omc_AbsynToJulia_dumpComponentCondition(threadData, _OMC_LIT0, _i_condition, _a_context);

          _l_cmt = omc_AbsynToJulia_dumpCommentOpt(threadData, _OMC_LIT0, _i_comment, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_comp__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_cmt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpComponentItems(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_componentItems, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT5);

  _out_txt = omc_AbsynToJulia_lm__129(threadData, _out_txt, _a_componentItems, _a_context);

  _out_txt = omc_Tpl_popIter(threadData, _out_txt);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__129(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_ci = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_ci has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_ci = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpComponentItemWithoutCondString(threadData, _txt, _i_ci, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpConstrainClass(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cc, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_cc;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_comment = NULL;
      modelica_metatype _i_el = NULL;
      modelica_metatype _i_p = NULL;
      modelica_metatype _l_cmt__str = NULL;
      modelica_metatype _l_el__str = NULL;
      modelica_metatype _l_path__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_comment has no default value.
      // _i_el has no default value.
      // _i_p has no default value.
      // _l_cmt__str has no default value.
      // _l_el__str has no default value.
      // _l_path__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,1,3) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_p = tmpMeta7;
          _i_el = tmpMeta8;
          _i_comment = tmpMeta9;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_path__str = omc_AbsynToJulia_dumpPathJL(threadData, _OMC_LIT0, _i_p);

          _l_el__str = omc_AbsynToJulia_fun__127(threadData, _OMC_LIT0, _i_el, _a_context);

          _l_cmt__str = omc_AbsynToJulia_dumpCommentOpt(threadData, _OMC_LIT0, _i_comment, _a_context);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT8);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT223);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_path__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_el__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__127(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_el, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_el;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_el = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_el has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_el = tmp4_2;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT5);

          _txt = omc_AbsynToJulia_lm__126(threadData, _txt, _i_el, _a_context);

          _txt = omc_Tpl_popIter(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__126(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpElementArg(threadData, _txt, _i_e, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpVariability(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_var;
    {
      modelica_metatype _txt = NULL;
      int tmp4;
      // _txt has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 6: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT224);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElementAttr(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_attr;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_variability = NULL;
      modelica_metatype _l_var__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_variability has no default value.
      // _l_var__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          
          _txt = tmp4_1;
          _i_variability = tmpMeta6;
          /* Pattern matching succeeded */
          _l_var__str = omc_AbsynToJulia_dumpVariability(threadData, _OMC_LIT0, _i_variability);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_var__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElementSpecForComponents(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_specification, modelica_metatype _a_options, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_AbsynToJulia_fun__122(threadData, _txt, _a_specification, _a_context);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__122(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_specification, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_specification;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_components = NULL;
      modelica_metatype _l_comps__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_components has no default value.
      // _l_comps__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,3) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_components = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_comps__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_comps__str = omc_AbsynToJulia_lm__121(threadData, _l_comps__str, _i_components, _a_context);

          _l_comps__str = omc_Tpl_popIter(threadData, _l_comps__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_comps__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__121(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_comp = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_comp has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_comp = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpComponentItem(threadData, _txt, _i_comp, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElementSpec(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_specification, modelica_metatype _in_a_options, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_specification;
    tmp4_3 = _in_a_options;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_options = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_import__ = NULL;
      modelica_metatype _i_components = NULL;
      modelica_metatype _i_specification = NULL;
      modelica_metatype _i_typeSpec = NULL;
      modelica_metatype _i_attributes = NULL;
      modelica_metatype _i_annotationOpt = NULL;
      modelica_metatype _i_elementArg = NULL;
      modelica_metatype _i_path = NULL;
      modelica_metatype _i_class__ = NULL;
      modelica_metatype _l_imp__str = NULL;
      modelica_boolean _ret_9;
      modelica_metatype _l_comps__str__no__local = NULL;
      modelica_boolean _ret_7;
      modelica_metatype _l_comps__str = NULL;
      modelica_metatype _l_ty__str = NULL;
      modelica_metatype _l_ann__str = NULL;
      modelica_metatype _l_mod__str = NULL;
      modelica_metatype _l_args__str = NULL;
      modelica_metatype _l_bc__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_options has no default value.
      // _a_context has no default value.
      // _i_import__ has no default value.
      // _i_components has no default value.
      // _i_specification has no default value.
      // _i_typeSpec has no default value.
      // _i_attributes has no default value.
      // _i_annotationOpt has no default value.
      // _i_elementArg has no default value.
      // _i_path has no default value.
      // _i_class__ has no default value.
      // _l_imp__str has no default value.
      // _ret_9 has no default value.
      // _l_comps__str__no__local has no default value.
      // _ret_7 has no default value.
      // _l_comps__str has no default value.
      // _l_ty__str has no default value.
      // _l_ann__str has no default value.
      // _l_mod__str has no default value.
      // _l_args__str has no default value.
      // _l_bc__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 5; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_class__ = tmpMeta6;
          _txt = tmp4_1;
          _a_options = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpClassElement(threadData, _txt, _i_class__, _a_options, _a_context);
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_path = tmpMeta7;
          _i_elementArg = tmpMeta8;
          _i_annotationOpt = tmpMeta9;
          _txt = tmp4_1;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _l_bc__str = omc_AbsynToJulia_dumpPathJL(threadData, _OMC_LIT0, _i_path);

          _l_args__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_args__str = omc_AbsynToJulia_lm__110(threadData, _l_args__str, _i_elementArg, _a_context);

          _l_args__str = omc_Tpl_popIter(threadData, _l_args__str);

          _l_mod__str = omc_AbsynToJulia_fun__111(threadData, _OMC_LIT0, _l_args__str);

          _l_ann__str = omc_AbsynToJulia_dumpAnnotationOptSpace(threadData, _OMC_LIT0, _i_annotationOpt, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_bc__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_mod__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_ann__str);
          goto tmp3_done;
        }
        case 2: {
          modelica_metatype tmpMeta10;
          modelica_metatype tmpMeta11;
          modelica_metatype tmpMeta12;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,3) == 0) goto tmp3_end;
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_specification = tmp4_2;
          _i_attributes = tmpMeta10;
          _i_typeSpec = tmpMeta11;
          _i_components = tmpMeta12;
          _txt = tmp4_1;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          omc_AbsynToJulia_dumpElementAttr(threadData, _OMC_LIT0, _i_attributes);

          _l_ty__str = omc_AbsynToJulia_dumpTypeSpec(threadData, _OMC_LIT0, _i_typeSpec, _a_context);

          _ret_7 = omc_MMToJuliaUtil_elementSpecIsOUTPUT__OR__BIDIR(threadData, _i_specification);

          _l_comps__str = omc_AbsynToJulia_fun__113(threadData, _OMC_LIT0, _ret_7, _l_ty__str, _i_components);

          _ret_9 = omc_MMToJuliaUtil_elementSpecIsOUTPUT__OR__BIDIR(threadData, _i_specification);

          _l_comps__str__no__local = omc_AbsynToJulia_fun__116(threadData, _OMC_LIT0, _ret_9, _l_ty__str, _a_context, _i_components);

          omc_AbsynToJulia_fun__117(threadData, _OMC_LIT0, _a_context);
          tmpMeta1 = omc_AbsynToJulia_fun__119(threadData, _txt, _a_context, _l_comps__str__no__local, _l_comps__str);
          goto tmp3_done;
        }
        case 3: {
          modelica_metatype tmpMeta13;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,3) == 0) goto tmp3_end;
          tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_import__ = tmpMeta13;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _l_imp__str = omc_AbsynToJulia_dumpImport(threadData, _OMC_LIT0, _i_import__);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_imp__str);
          goto tmp3_done;
        }
        case 4: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__119(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_comps__str__no__local, modelica_metatype _in_a_comps__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_context;
    tmp4_3 = _in_a_comps__str__no__local;
    tmp4_4 = _in_a_comps__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_comps__str__no__local = NULL;
      modelica_metatype _a_comps__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_comps__str__no__local has no default value.
      // _a_comps__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_comps__str = tmp4_4;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_fun__118(threadData, _txt, _a_comps__str);
          goto tmp3_done;
        }
        case 6: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_comps__str__no__local = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_comps__str__no__local);
          goto tmp3_done;
        }
        case 5: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_comps__str__no__local = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_comps__str__no__local);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT228);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__118(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comps__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_comps__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_comps__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_comps__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_comps__str = tmp4_2;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _i_comps__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__117(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_string _i_retValsStr = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_retValsStr has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_retValsStr = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_retValsStr);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__116(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_context, modelica_metatype _in_a_components)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_ty__str;
    tmp4_4 = _in_a_context;
    tmp4_5 = _in_a_components;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_ty__str = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _a_components = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_ty__str has no default value.
      // _a_context has no default value.
      // _a_components has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_ty__str = tmp4_3;
          _a_context = tmp4_4;
          _a_components = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT60);

          _txt = omc_AbsynToJulia_lm__115(threadData, _txt, _a_components, _a_ty__str, _a_context);
          tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__116(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_context, modelica_metatype _in_a_components)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  _out_txt = omc_AbsynToJulia_fun__116(threadData, _in_txt, tmp1, _in_a_ty__str, _in_a_context, _in_a_components);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__115(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_ty__str;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_ty__str = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_comp = NULL;
      modelica_metatype _l_comp__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_ty__str has no default value.
      // _a_context has no default value.
      // _i_comp has no default value.
      // _l_comp__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_comp = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_ty__str = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _l_comp__str = omc_AbsynToJulia_dumpComponentItem(threadData, _OMC_LIT0, _i_comp, _OMC_LIT229);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT8);

          _txt = omc_AbsynToJulia_fun__114(threadData, _txt, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_comp__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT221);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_ty__str);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_ty__str = _a_ty__str;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__114(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT231);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__113(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_components)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_ty__str;
    tmp4_4 = _in_a_components;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_ty__str = NULL;
      modelica_metatype _a_components = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_ty__str has no default value.
      // _a_components has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_ty__str = tmp4_3;
          _a_components = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT60);

          _txt = omc_AbsynToJulia_lm__112(threadData, _txt, _a_components, _a_ty__str);
          tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__113(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ty__str, modelica_metatype _in_a_components)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  _out_txt = omc_AbsynToJulia_fun__113(threadData, _in_txt, tmp1, _in_a_ty__str, _in_a_components);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__112(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_ty__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_ty__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_ty__str = NULL;
      modelica_metatype _i_comp = NULL;
      modelica_metatype _ret_1 = NULL;
      modelica_metatype _l_comp__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_ty__str has no default value.
      // _i_comp has no default value.
      // _ret_1 has no default value.
      // _l_comp__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_comp = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_ty__str = tmp4_3;
          /* Pattern matching succeeded */
          _ret_1 = omc_MMToJuliaUtil_makeFunctionReturnContext(threadData, _OMC_LIT6, omc_Tpl_textString(threadData, _a_ty__str));

          _l_comp__str = omc_AbsynToJulia_dumpComponentItem(threadData, _OMC_LIT0, _i_comp, _ret_1);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT233);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_comp__str);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_ty__str = _a_ty__str;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__111(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_args__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_args__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_args__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_args__str = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _i_args__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__110(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_earg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_earg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_earg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpElementArg(threadData, _txt, _i_earg, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpEqMod(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_eqmod, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_eqmod;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_exp = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_exp has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_exp = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT235);
          tmpMeta1 = omc_AbsynToJulia_dumpExp(threadData, _txt, _i_exp, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpModification(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mod, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_mod;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_eqMod = NULL;
      modelica_metatype _i_elementArgLst = NULL;
      modelica_metatype _l_eq__str = NULL;
      modelica_metatype _l_arg__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_eqMod has no default value.
      // _i_elementArgLst has no default value.
      // _l_eq__str has no default value.
      // _l_arg__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _txt = tmp4_1;
          _i_elementArgLst = tmpMeta6;
          _i_eqMod = tmpMeta7;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_arg__str = omc_AbsynToJulia_fun__107(threadData, _OMC_LIT0, _i_elementArgLst, _a_context);

          _l_eq__str = omc_AbsynToJulia_dumpEqMod(threadData, _OMC_LIT0, _i_eqMod, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_arg__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_eq__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__107(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_elementArgLst, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_elementArgLst;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_elementArgLst = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_elementArgLst has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_elementArgLst = tmp4_2;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT5);

          _txt = omc_AbsynToJulia_lm__106(threadData, _txt, _i_elementArgLst, _a_context);

          _txt = omc_Tpl_popIter(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__106(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_earg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_earg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_earg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpElementArg(threadData, _txt, _i_earg, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpReplaceable(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_repl)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_repl;
    {
      modelica_metatype _txt = NULL;
      int tmp4;
      // _txt has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT237);
          goto tmp3_done;
        }
        case 5: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT237);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpRedeclare(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_redecl)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_redecl;
    {
      modelica_metatype _txt = NULL;
      int tmp4;
      // _txt has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT239);
          goto tmp3_done;
        }
        case 5: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT239);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpFinal(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_final)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_final;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT241);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
modelica_metatype boxptr_AbsynToJulia_dumpFinal(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_final)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_final);
  _out_txt = omc_AbsynToJulia_dumpFinal(threadData, _in_txt, tmp1);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpEach(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_each)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_each;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT243);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElementArg(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_earg, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_earg;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_constrainClass = NULL;
      modelica_metatype _i_elementSpec = NULL;
      modelica_metatype _i_redeclareKeywords = NULL;
      modelica_metatype _i_comment = NULL;
      modelica_metatype _i_modification = NULL;
      modelica_metatype _i_path = NULL;
      modelica_boolean _i_finalPrefix;
      modelica_metatype _i_eachPrefix = NULL;
      modelica_metatype _l_cc__str = NULL;
      modelica_metatype _l_elem__str = NULL;
      modelica_metatype _l_eredecl__str = NULL;
      modelica_metatype _l_redecl__str = NULL;
      modelica_metatype _l_cmt__str = NULL;
      modelica_metatype _l_mod__str = NULL;
      modelica_metatype _l_path__str = NULL;
      modelica_metatype _l_final__str = NULL;
      modelica_metatype _l_each__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_constrainClass has no default value.
      // _i_elementSpec has no default value.
      // _i_redeclareKeywords has no default value.
      // _i_comment has no default value.
      // _i_modification has no default value.
      // _i_path has no default value.
      // _i_finalPrefix has no default value.
      // _i_eachPrefix has no default value.
      // _l_cc__str has no default value.
      // _l_elem__str has no default value.
      // _l_eredecl__str has no default value.
      // _l_redecl__str has no default value.
      // _l_cmt__str has no default value.
      // _l_mod__str has no default value.
      // _l_path__str has no default value.
      // _l_final__str has no default value.
      // _l_each__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          modelica_integer tmp6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          modelica_metatype tmpMeta10;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmp6 = mmc_unbox_integer(tmpMeta5);
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          
          _i_finalPrefix = tmp6  /* pattern as ty=Boolean */;
          _i_eachPrefix = tmpMeta7;
          _i_path = tmpMeta8;
          _i_modification = tmpMeta9;
          _i_comment = tmpMeta10;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_each__str = omc_AbsynToJulia_dumpEach(threadData, _OMC_LIT0, _i_eachPrefix);

          _l_final__str = omc_AbsynToJulia_dumpFinal(threadData, _OMC_LIT0, _i_finalPrefix);

          _l_path__str = omc_AbsynToJulia_dumpPathJL(threadData, _OMC_LIT0, _i_path);

          _l_mod__str = omc_AbsynToJulia_fun__99(threadData, _OMC_LIT0, _i_modification, _a_context);

          _l_cmt__str = omc_AbsynToJulia_dumpCommentStrOpt(threadData, _OMC_LIT0, _i_comment);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_each__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_final__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_path__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_mod__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta11;
          modelica_integer tmp12;
          modelica_metatype tmpMeta13;
          modelica_metatype tmpMeta14;
          modelica_metatype tmpMeta15;
          modelica_metatype tmpMeta16;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,6) == 0) goto tmp3_end;
          tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmp12 = mmc_unbox_integer(tmpMeta11);
          tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          
          _i_finalPrefix = tmp12  /* pattern as ty=Boolean */;
          _i_redeclareKeywords = tmpMeta13;
          _i_eachPrefix = tmpMeta14;
          _i_elementSpec = tmpMeta15;
          _i_constrainClass = tmpMeta16;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_each__str = omc_AbsynToJulia_dumpEach(threadData, _OMC_LIT0, _i_eachPrefix);

          omc_AbsynToJulia_dumpFinal(threadData, _OMC_LIT0, _i_finalPrefix);

          _l_redecl__str = omc_AbsynToJulia_dumpRedeclare(threadData, _OMC_LIT0, _i_redeclareKeywords);

          omc_AbsynToJulia_dumpReplaceable(threadData, _OMC_LIT0, _i_redeclareKeywords);

          _l_eredecl__str = omc_Tpl_writeText(threadData, _OMC_LIT0, _l_redecl__str);

          _l_eredecl__str = omc_Tpl_writeText(threadData, _l_eredecl__str, _l_each__str);

          _l_elem__str = omc_AbsynToJulia_dumpElementSpec(threadData, _OMC_LIT0, _i_elementSpec, _OMC_LIT61, _a_context);

          _l_cc__str = omc_AbsynToJulia_fun__100(threadData, _OMC_LIT0, _i_constrainClass, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_elem__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_cc__str);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__100(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_constrainClass, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_constrainClass;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_cc = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_cc has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_cc = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpConstrainClass(threadData, _txt, _i_cc, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__99(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_modification, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_modification;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_mod = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_mod has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_mod = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpModification(threadData, _txt, _i_mod, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpCommentStr(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_comment)
{
  modelica_metatype _out_txt = NULL;
  modelica_string _ret_2 = NULL;
  modelica_string _ret_1 = NULL;
  modelica_metatype _l_replaceAllRegular = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _ret_2 has no default value.
  // _ret_1 has no default value.
  // _l_replaceAllRegular has no default value.
  _l_replaceAllRegular = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT53);

  _l_replaceAllRegular = omc_Tpl_writeTok(threadData, _l_replaceAllRegular, _OMC_LIT245);

  _ret_1 = omc_System_escapedString(threadData, _a_comment, 0 /* false */);

  _ret_2 = omc_System_stringReplace(threadData, _ret_1, _OMC_LIT246, _OMC_LIT6);

  _l_replaceAllRegular = omc_Tpl_writeStr(threadData, _l_replaceAllRegular, _ret_2);

  _l_replaceAllRegular = omc_Tpl_writeTok(threadData, _l_replaceAllRegular, _OMC_LIT248);

  _out_txt = omc_Tpl_writeText(threadData, _txt, _l_replaceAllRegular);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpCommentStrOpt(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comment)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_comment;
    {
      modelica_metatype _txt = NULL;
      modelica_string _i_cmt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_cmt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_cmt = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpCommentStr(threadData, _txt, _i_cmt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpCommentOpt(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ocmt, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ocmt;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_cmt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_cmt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_cmt = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpComment(threadData, _txt, _i_cmt, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpComment(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cmt, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_cmt;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_annotation__ = NULL;
      modelica_metatype _i_comment = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_annotation__ has no default value.
      // _i_comment has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _txt = tmp4_1;
          _i_annotation__ = tmpMeta6;
          _i_comment = tmpMeta7;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpCommentStrOpt(threadData, _txt, _i_comment);
          tmpMeta1 = omc_AbsynToJulia_dumpAnnotationOptSpace(threadData, _txt, _i_annotation__, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpAnnotationOptSpace(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oann, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_oann;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_ann = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_ann has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_ann = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);
          tmpMeta1 = omc_AbsynToJulia_dumpAnnotation(threadData, _txt, _i_ann, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpAnnotationOpt(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oann, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_oann;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_ann = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_ann has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_ann = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpAnnotation(threadData, _txt, _i_ann, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpAnnotation(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ann, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ann;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_elementArgs = NULL;
      modelica_metatype _ret_1 = NULL;
      modelica_metatype _txt_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_elementArgs has no default value.
      // _ret_1 has no default value.
      // _txt_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 3; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT250);
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _txt = tmp4_1;
          _i_elementArgs = tmpMeta7;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT252);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT254);

          _txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT4);

          _ret_1 = omc_Tpl_textStrTok(threadData, _txt_0);

          tmpMeta8 = mmc_mk_box9(3, &Tpl_IterOptions_ITER__OPTIONS__desc, mmc_mk_integer(((modelica_integer) 0)), mmc_mk_none(), mmc_mk_some(_ret_1), mmc_mk_integer(((modelica_integer) 0)), mmc_mk_integer(((modelica_integer) 0)), _OMC_LIT4, mmc_mk_integer(((modelica_integer) 0)), _OMC_LIT4);
          _txt = omc_Tpl_pushIter(threadData, _txt, tmpMeta8);

          _txt = omc_AbsynToJulia_lm__91(threadData, _txt, _i_elementArgs, _a_context);

          _txt = omc_Tpl_popIter(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 2: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_earg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_earg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_earg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpElementArg(threadData, _txt, _i_earg, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpInfo(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_info)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_info;
    {
      modelica_metatype _txt = NULL;
      modelica_integer _i_columnNumberEnd;
      modelica_integer _i_lineNumberEnd;
      modelica_integer _i_columnNumberStart;
      modelica_integer _i_lineNumberStart;
      modelica_string _i_fileName = NULL;
      modelica_boolean _i_isReadOnly;
      modelica_metatype _l_rm__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_columnNumberEnd has no default value.
      // _i_lineNumberEnd has no default value.
      // _i_columnNumberStart has no default value.
      // _i_lineNumberStart has no default value.
      // _i_fileName has no default value.
      // _i_isReadOnly has no default value.
      // _l_rm__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_integer tmp8;
          modelica_metatype tmpMeta9;
          modelica_integer tmp10;
          modelica_metatype tmpMeta11;
          modelica_integer tmp12;
          modelica_metatype tmpMeta13;
          modelica_integer tmp14;
          modelica_metatype tmpMeta15;
          modelica_integer tmp16;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmp8 = mmc_unbox_integer(tmpMeta7);
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          tmp10 = mmc_unbox_integer(tmpMeta9);
          tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          tmp12 = mmc_unbox_integer(tmpMeta11);
          tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          tmp14 = mmc_unbox_integer(tmpMeta13);
          tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
          tmp16 = mmc_unbox_integer(tmpMeta15);
          
          _txt = tmp4_1;
          _i_fileName = tmpMeta6;
          _i_isReadOnly = tmp8  /* pattern as ty=Boolean */;
          _i_lineNumberStart = tmp10  /* pattern as ty=Integer */;
          _i_columnNumberStart = tmp12  /* pattern as ty=Integer */;
          _i_lineNumberEnd = tmp14  /* pattern as ty=Integer */;
          _i_columnNumberEnd = tmp16  /* pattern as ty=Integer */;
          /* Pattern matching succeeded */
          _l_rm__str = omc_AbsynToJulia_fun__89(threadData, _OMC_LIT0, _i_isReadOnly);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT258);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_fileName);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT260);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_rm__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2);

          _txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_lineNumberStart));

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2);

          _txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_columnNumberStart));

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2);

          _txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_lineNumberEnd));

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2);

          _txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_columnNumberEnd));
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT262);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__89(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isReadOnly)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_isReadOnly;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT264);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT266);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__89(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReadOnly)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_isReadOnly);
  _out_txt = omc_AbsynToJulia_fun__89(threadData, _in_txt, tmp1);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElement(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_elem, modelica_metatype _in_a_options, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_elem;
    tmp4_3 = _in_a_options;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_options = NULL;
      modelica_metatype _a_context = NULL;
      modelica_string _i_string = NULL;
      modelica_metatype _i_optName = NULL;
      modelica_metatype _i_constrainClass = NULL;
      modelica_metatype _i_specification = NULL;
      modelica_metatype _i_redeclareKeywords = NULL;
      modelica_boolean _i_finalPrefix;
      modelica_metatype _i_elem = NULL;
      modelica_metatype _i_info = NULL;
      modelica_boolean _ret_4;
      modelica_boolean _ret_3;
      modelica_boolean _ret_2;
      modelica_boolean _ret_1;
      modelica_boolean _ret_0;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_options has no default value.
      // _a_context has no default value.
      // _i_string has no default value.
      // _i_optName has no default value.
      // _i_constrainClass has no default value.
      // _i_specification has no default value.
      // _i_redeclareKeywords has no default value.
      // _i_finalPrefix has no default value.
      // _i_elem has no default value.
      // _i_info has no default value.
      // _ret_4 has no default value.
      // _ret_3 has no default value.
      // _ret_2 has no default value.
      // _ret_1 has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 4; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_integer tmp7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          modelica_metatype tmpMeta10;
          modelica_metatype tmpMeta11;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmp7 = mmc_unbox_integer(tmpMeta6);
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
          
          _i_elem = tmp4_2;
          _i_finalPrefix = tmp7  /* pattern as ty=Boolean */;
          _i_redeclareKeywords = tmpMeta8;
          _i_specification = tmpMeta9;
          _i_info = tmpMeta10;
          _i_constrainClass = tmpMeta11;
          _txt = tmp4_1;
          _a_options = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _ret_0 = omc_Dump_boolUnparseFileFromInfo(threadData, _i_info, _a_options);

          _ret_1 = omc_AbsynUtil_isClassdef(threadData, _i_elem);

          _ret_2 = (!_ret_1);

          _ret_3 = (_ret_0 || _ret_2);
          tmpMeta1 = omc_AbsynToJulia_fun__85(threadData, _txt, _ret_3, _i_constrainClass, _a_context, _a_options, _i_specification, _i_redeclareKeywords, _i_finalPrefix);
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT267);
          goto tmp3_done;
        }
        case 2: {
          modelica_metatype tmpMeta12;
          modelica_metatype tmpMeta13;
          modelica_metatype tmpMeta14;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,3) == 0) goto tmp3_end;
          tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_optName = tmpMeta12;
          _i_string = tmpMeta13;
          _i_info = tmpMeta14;
          _txt = tmp4_1;
          _a_options = tmp4_3;
          /* Pattern matching succeeded */
          _ret_4 = omc_Dump_boolUnparseFileFromInfo(threadData, _i_info, _a_options);
          tmpMeta1 = omc_AbsynToJulia_fun__87(threadData, _txt, _ret_4, _i_string, _i_info, _i_optName);
          goto tmp3_done;
        }
        case 3: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__87(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_string, modelica_metatype _in_a_info, modelica_metatype _in_a_optName)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_string;
    tmp4_4 = _in_a_info;
    tmp4_5 = _in_a_optName;
    {
      modelica_metatype _txt = NULL;
      modelica_string _a_string = NULL;
      modelica_metatype _a_info = NULL;
      modelica_metatype _a_optName = NULL;
      modelica_metatype _l_info__str = NULL;
      modelica_metatype _l_name__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_string has no default value.
      // _a_info has no default value.
      // _a_optName has no default value.
      // _l_info__str has no default value.
      // _l_name__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_string = tmp4_3;
          _a_info = tmp4_4;
          _a_optName = tmp4_5;
          /* Pattern matching succeeded */
          _l_name__str = omc_AbsynToJulia_fun__86(threadData, _OMC_LIT0, _a_optName);

          _l_info__str = omc_AbsynToJulia_dumpInfo(threadData, _OMC_LIT0, _a_info);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT269);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_name__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT271);

          _txt = omc_Tpl_writeStr(threadData, _txt, _a_string);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT273);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_info__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT275);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__87(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_string, modelica_metatype _in_a_info, modelica_metatype _in_a_optName)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  _out_txt = omc_AbsynToJulia_fun__87(threadData, _in_txt, tmp1, _in_a_string, _in_a_info, _in_a_optName);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__86(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_optName)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_optName;
    {
      modelica_metatype _txt = NULL;
      modelica_string _i_name = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_name has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_name = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_name);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__85(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_constrainClass, modelica_metatype _in_a_context, modelica_metatype _in_a_options, modelica_metatype _in_a_specification, modelica_metatype _in_a_redeclareKeywords, modelica_boolean _in_a_finalPrefix)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_boolean tmp4_8;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_constrainClass;
    tmp4_4 = _in_a_context;
    tmp4_5 = _in_a_options;
    tmp4_6 = _in_a_specification;
    tmp4_7 = _in_a_redeclareKeywords;
    tmp4_8 = _in_a_finalPrefix;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_constrainClass = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _a_options = NULL;
      modelica_metatype _a_specification = NULL;
      modelica_metatype _a_redeclareKeywords = NULL;
      modelica_boolean _a_finalPrefix;
      modelica_metatype _l_constrainClass__str = NULL;
      modelica_metatype _l_elementSpec__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_constrainClass has no default value.
      // _a_context has no default value.
      // _a_options has no default value.
      // _a_specification has no default value.
      // _a_redeclareKeywords has no default value.
      // _a_finalPrefix has no default value.
      // _l_constrainClass__str has no default value.
      // _l_elementSpec__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_constrainClass = tmp4_3;
          _a_context = tmp4_4;
          _a_options = tmp4_5;
          _a_specification = tmp4_6;
          _a_redeclareKeywords = tmp4_7;
          _a_finalPrefix = tmp4_8;
          /* Pattern matching succeeded */
          omc_AbsynToJulia_dumpFinal(threadData, _OMC_LIT0, _a_finalPrefix);

          omc_AbsynToJulia_fun__82(threadData, _OMC_LIT0, _a_redeclareKeywords);

          omc_AbsynToJulia_fun__83(threadData, _OMC_LIT0, _a_redeclareKeywords);

          _l_elementSpec__str = omc_AbsynToJulia_dumpElementSpec(threadData, _OMC_LIT0, _a_specification, _a_options, _a_context);

          _l_constrainClass__str = omc_AbsynToJulia_fun__84(threadData, _OMC_LIT0, _a_constrainClass, _a_context);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_elementSpec__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_constrainClass__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__85(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_constrainClass, modelica_metatype _in_a_context, modelica_metatype _in_a_options, modelica_metatype _in_a_specification, modelica_metatype _in_a_redeclareKeywords, modelica_metatype _in_a_finalPrefix)
{
  modelica_integer tmp1;
  modelica_integer tmp2;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  tmp2 = mmc_unbox_integer(_in_a_finalPrefix);
  _out_txt = omc_AbsynToJulia_fun__85(threadData, _in_txt, tmp1, _in_a_constrainClass, _in_a_context, _in_a_options, _in_a_specification, _in_a_redeclareKeywords, tmp2);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__84(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_constrainClass, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_constrainClass;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_cc = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_cc has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_cc = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpConstrainClass(threadData, _txt, _i_cc, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__83(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_redeclareKeywords)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_redeclareKeywords;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_re = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_re has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_re = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpReplaceable(threadData, _txt, _i_re);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__82(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_redeclareKeywords)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_redeclareKeywords;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_re = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_re has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_re = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpRedeclare(threadData, _txt, _i_re);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElementItemRaw(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_eitem, modelica_metatype _a_options, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_AbsynToJulia_fun__80(threadData, _txt, _a_eitem, _a_context);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__80(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_eitem, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_eitem;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_string _i_comment = NULL;
      modelica_metatype _i_element = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_comment has no default value.
      // _i_element has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_element = tmpMeta5;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_fun__79(threadData, _txt, _i_element, _a_context);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_comment = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpCommentStr(threadData, _txt, _i_comment);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__79(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_element, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_element;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_specification = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_specification has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          
          _i_specification = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_fun__78(threadData, _txt, _i_specification, _a_context);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT276);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__78(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_specification, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_specification;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_components = NULL;
      modelica_metatype _l_comps__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_components has no default value.
      // _l_comps__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,3) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_components = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _l_comps__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_comps__str = omc_AbsynToJulia_lm__77(threadData, _l_comps__str, _i_components, _a_context);

          _l_comps__str = omc_Tpl_popIter(threadData, _l_comps__str);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_comps__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT276);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_comp = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_comp has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_comp = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpComponentItem(threadData, _txt, _i_comp, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElementItem(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_eitem, modelica_metatype _in_a_options, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_eitem;
    tmp4_3 = _in_a_options;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_options = NULL;
      modelica_metatype _a_context = NULL;
      modelica_string _i_comment = NULL;
      modelica_metatype _i_element = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_options has no default value.
      // _a_context has no default value.
      // _i_comment has no default value.
      // _i_element has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_element = tmpMeta5;
          _txt = tmp4_1;
          _a_options = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpElement(threadData, _txt, _i_element, _a_options, _a_context);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_comment = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpCommentStr(threadData, _txt, _i_comment);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpClassDefSpacing(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cdef)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_cdef;
    {
      modelica_metatype _txt = NULL;
      int tmp4;
      // _txt has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,5) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT4);
          goto tmp3_done;
        }
        case 7: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT4);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElementItemSpacing(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_item)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_item;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_cdef = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_cdef has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,6) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 5));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,0,2) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 3));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 7));
          
          _i_cdef = tmpMeta9;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpClassDefSpacing(threadData, _txt, _i_cdef);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElementItemPreSpacing(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_curSpacing, modelica_string _a_prevSpacing)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_AbsynToJulia_fun__72(threadData, _txt, _a_prevSpacing, _a_curSpacing);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__72(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_prevSpacing, modelica_string _in_a_curSpacing)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_string tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_prevSpacing;
    tmp4_3 = _in_a_curSpacing;
    {
      modelica_metatype _txt = NULL;
      modelica_string _a_curSpacing = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_curSpacing has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT6), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_curSpacing = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_curSpacing);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpElementItems(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_items, modelica_metatype _in_a_context, modelica_string _in_a_prevSpacing, modelica_boolean _in_a_first, modelica_metatype _in_a_options)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_items;
    tmp4_3 = _in_a_context;
    tmp4_4 = _in_a_prevSpacing;
    tmp4_5 = _in_a_first;
    tmp4_6 = _in_a_options;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_string _a_prevSpacing = NULL;
      modelica_boolean _a_first;
      modelica_metatype _a_options = NULL;
      modelica_metatype _i_rest__items = NULL;
      modelica_metatype _i_item = NULL;
      modelica_metatype _l_post__spacing = NULL;
      modelica_metatype _l_rest__str = NULL;
      modelica_metatype _l_item__str = NULL;
      modelica_metatype _l_pre__spacing = NULL;
      modelica_metatype _l_spacing = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _a_prevSpacing has no default value.
      // _a_first has no default value.
      // _a_options has no default value.
      // _i_rest__items has no default value.
      // _i_item has no default value.
      // _l_post__spacing has no default value.
      // _l_rest__str has no default value.
      // _l_item__str has no default value.
      // _l_pre__spacing has no default value.
      // _l_spacing has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_item = tmpMeta6;
          _i_rest__items = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_prevSpacing = tmp4_4;
          _a_first = tmp4_5;
          _a_options = tmp4_6;
          /* Pattern matching succeeded */
          _l_spacing = omc_AbsynToJulia_dumpElementItemSpacing(threadData, _OMC_LIT0, _i_item);

          _l_pre__spacing = omc_AbsynToJulia_fun__68(threadData, _OMC_LIT0, _a_first, _a_prevSpacing, _l_spacing);

          _l_item__str = omc_AbsynToJulia_dumpElementItem(threadData, _OMC_LIT0, _i_item, _a_options, _a_context);

          _l_rest__str = omc_AbsynToJulia_dumpElementItems(threadData, _OMC_LIT0, _i_rest__items, _a_context, omc_Tpl_textString(threadData, _l_spacing), 0 /* false */, _a_options);

          _l_post__spacing = omc_AbsynToJulia_fun__69(threadData, _OMC_LIT0, _l_rest__str, _l_spacing);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_pre__spacing);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_item__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_post__spacing);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT4);
          tmpMeta1 = omc_AbsynToJulia_fun__70(threadData, _txt, _l_rest__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
modelica_metatype boxptr_AbsynToJulia_dumpElementItems(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_items, modelica_metatype _in_a_context, modelica_metatype _in_a_prevSpacing, modelica_metatype _in_a_first, modelica_metatype _in_a_options)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_first);
  _out_txt = omc_AbsynToJulia_dumpElementItems(threadData, _in_txt, _in_a_items, _in_a_context, _in_a_prevSpacing, tmp1, _in_a_options);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__70(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rest__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_rest__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_rest__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_rest__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_rest__str = tmp4_2;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _i_rest__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__69(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rest__str, modelica_metatype _in_a_spacing)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_rest__str;
    tmp4_3 = _in_a_spacing;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_spacing = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_spacing has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_spacing = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_spacing);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__68(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_first, modelica_string _in_a_prevSpacing, modelica_metatype _in_a_spacing)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_first;
    tmp4_3 = _in_a_prevSpacing;
    tmp4_4 = _in_a_spacing;
    {
      modelica_metatype _txt = NULL;
      modelica_string _a_prevSpacing = NULL;
      modelica_metatype _a_spacing = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_prevSpacing has no default value.
      // _a_spacing has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_prevSpacing = tmp4_3;
          _a_spacing = tmp4_4;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpElementItemPreSpacing(threadData, _txt, omc_Tpl_textString(threadData, _a_spacing), _a_prevSpacing);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__68(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_first, modelica_metatype _in_a_prevSpacing, modelica_metatype _in_a_spacing)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_first);
  _out_txt = omc_AbsynToJulia_fun__68(threadData, _in_txt, tmp1, _in_a_prevSpacing, _in_a_spacing);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpClassPart(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_class__part, modelica_integer _a_idx, modelica_metatype _a_context, modelica_metatype _a_options)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_AbsynToJulia_fun__66(threadData, _txt, _a_class__part, _a_context, _a_options);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
modelica_metatype boxptr_AbsynToJulia_dumpClassPart(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_class__part, modelica_metatype _a_idx, modelica_metatype _a_context, modelica_metatype _a_options)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_a_idx);
  _out_txt = omc_AbsynToJulia_dumpClassPart(threadData, _txt, _a_class__part, tmp1, _a_context, _a_options);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__66(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_class__part, modelica_metatype _in_a_context, modelica_metatype _in_a_options)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_class__part;
    tmp4_3 = _in_a_context;
    tmp4_4 = _in_a_options;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _a_options = NULL;
      modelica_metatype _i_externalDecl = NULL;
      modelica_metatype _i_annotation__ = NULL;
      modelica_metatype _i_contents_1 = NULL;
      modelica_metatype _i_contents = NULL;
      modelica_boolean _ret_1;
      modelica_metatype _l_el__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _a_options has no default value.
      // _i_externalDecl has no default value.
      // _i_annotation__ has no default value.
      // _i_contents_1 has no default value.
      // _i_contents has no default value.
      // _ret_1 has no default value.
      // _l_el__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_contents = tmpMeta5;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_options = tmp4_4;
          /* Pattern matching succeeded */
          _ret_1 = omc_MMToJuliaUtil_isFunctionContext(threadData, _a_context);

          _l_el__str = omc_AbsynToJulia_fun__62(threadData, _OMC_LIT0, _ret_1, _a_options, _a_context, _i_contents);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_el__str);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_contents = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_options = tmp4_4;
          /* Pattern matching succeeded */
          _l_el__str = omc_AbsynToJulia_dumpElementItems(threadData, _OMC_LIT0, _i_contents, _a_context, _OMC_LIT6, 1 /* true */, _a_options);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_el__str);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 5: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT277);
          goto tmp3_done;
        }
        case 6: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT278);
          goto tmp3_done;
        }
        case 7: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT279);
          goto tmp3_done;
        }
        case 8: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_contents_1 = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT60);

          _txt = omc_AbsynToJulia_lm__63(threadData, _txt, _i_contents_1, _a_context);

          _txt = omc_Tpl_popIter(threadData, _txt);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 9: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT280);
          goto tmp3_done;
        }
        case 10: {
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,2) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_externalDecl = tmpMeta8;
          _i_annotation__ = tmpMeta9;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          omc_AbsynToJulia_fun__64(threadData, _OMC_LIT0, _i_annotation__, _a_context);
          tmpMeta1 = omc_AbsynToJulia_fun__65(threadData, _txt, _i_externalDecl);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_externalDecl)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_externalDecl;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT282);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__64(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_annotation__, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_annotation__;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_ann = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_ann has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_ann = tmpMeta6;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT8);

          _txt = omc_AbsynToJulia_dumpAnnotation(threadData, _txt, _i_ann, _a_context);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT284);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__63(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_eq = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_eq has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_eq = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpAlgorithmItem(threadData, _txt, _i_eq, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__62(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_options, modelica_metatype _in_a_context, modelica_metatype _in_a_contents)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_options;
    tmp4_4 = _in_a_context;
    tmp4_5 = _in_a_contents;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_options = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _a_contents = NULL;
      modelica_metatype _ret_1 = NULL;
      modelica_metatype _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_options has no default value.
      // _a_context has no default value.
      // _a_contents has no default value.
      // _ret_1 has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_options = tmp4_3;
          _a_context = tmp4_4;
          _a_contents = tmp4_5;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpElementItems(threadData, _txt, _a_contents, _a_context, _OMC_LIT6, 1 /* true */, _a_options);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_options = tmp4_3;
          _a_context = tmp4_4;
          _a_contents = tmp4_5;
          /* Pattern matching succeeded */
          _ret_0 = omc_MMToJuliaUtil_makeOutputDirection(threadData);

          _ret_1 = omc_MMToJuliaUtil_filterOnDirection(threadData, _a_contents, _ret_0);
          tmpMeta1 = omc_AbsynToJulia_dumpElementItems(threadData, _txt, _ret_1, _a_context, _OMC_LIT6, 1 /* true */, _a_options);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__62(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_options, modelica_metatype _in_a_context, modelica_metatype _in_a_contents)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  _out_txt = omc_AbsynToJulia_fun__62(threadData, _in_txt, tmp1, _in_a_options, _in_a_context, _in_a_contents);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpClassType(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_restriction)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_restriction;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_restriction = NULL;
      modelica_metatype _txt_0 = NULL;
      int tmp4;
      // _txt has no default value.
      // _i_restriction has no default value.
      // _txt_0 has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 11: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT286);
          goto tmp3_done;
        }
        case 23: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,5) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT288);
          goto tmp3_done;
        }
        case 6: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
          goto tmp3_done;
        }
        case 22: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
          goto tmp3_done;
        }
        case 10: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 12: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT294);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          _i_restriction = tmp4_2;
          /* Pattern matching succeeded */
          _txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT296);

          _txt_0 = omc_AbsynDumpTpl_dumpRestriction(threadData, _txt_0, _i_restriction);
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, omc_Tpl_textString(threadData, _txt_0));
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpClassDef(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cdef, modelica_metatype _in_a_context, modelica_metatype _in_a_options)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_cdef;
    tmp4_3 = _in_a_context;
    tmp4_4 = _in_a_options;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _a_options = NULL;
      modelica_metatype _i_classParts = NULL;
      modelica_metatype _l_body__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _a_options has no default value.
      // _i_classParts has no default value.
      // _l_body__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 3: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,5) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
          
          _i_classParts = tmpMeta5;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_options = tmp4_4;
          /* Pattern matching succeeded */
          _l_body__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT60);

          _l_body__str = omc_AbsynToJulia_lm__59(threadData, _l_body__str, _i_classParts, _a_options, _a_context);

          _l_body__str = omc_Tpl_popIter(threadData, _l_body__str);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_body__str);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT297);
          goto tmp3_done;
        }
        case 7: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT298);
          goto tmp3_done;
        }
        case 5: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,2) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT299);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__59(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_options;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_options = NULL;
      modelica_metatype _a_context = NULL;
      modelica_integer _x_idx;
      modelica_metatype _i_class__part = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_options has no default value.
      // _a_context has no default value.
      // _x_idx has no default value.
      // _i_class__part has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_class__part = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_options = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _x_idx = omc_Tpl_getIteri__i0(threadData, _txt);

          _txt = omc_AbsynToJulia_dumpClassPart(threadData, _txt, _i_class__part, _x_idx, _a_context, _a_options);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_options = _a_options;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpReturnStrJL(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_outputs, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _ret_2 = NULL;
  modelica_metatype _ret_1 = NULL;
  modelica_metatype _ret_0 = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _ret_2 has no default value.
  // _ret_1 has no default value.
  // _ret_0 has no default value.
  _ret_0 = omc_MMToJuliaUtil_makeOutputDirection(threadData);

  _ret_1 = omc_MMToJuliaUtil_filterOnDirection(threadData, _a_outputs, _ret_0);

  _ret_2 = listReverse(_ret_1);

  _out_txt = omc_AbsynToJulia_fun__57(threadData, _txt, _ret_2, _a_context);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_L = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_context has no default value.
      // _i_L has no default value.
      tmp4 = 0;
      for (; tmp4 < 4; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          if (!listEmpty(tmpMeta7)) goto tmp3_end;
          
          _i_L = tmp4_2;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT5);

          _txt = omc_AbsynToJulia_lm__55(threadData, _txt, _i_L, _a_context);
          tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
          goto tmp3_done;
        }
        case 2: {
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta8 = MMC_CAR(tmp4_2);
          tmpMeta9 = MMC_CDR(tmp4_2);
          
          _i_L = tmp4_2;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT5);

          _txt = omc_AbsynToJulia_lm__56(threadData, _txt, _i_L, _a_context);

          _txt = omc_Tpl_popIter(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          goto tmp3_done;
        }
        case 3: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__56(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpElementItemRaw(threadData, _txt, _i_e, _OMC_LIT61, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__55(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_e = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_e has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_e = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpElementItemRaw(threadData, _txt, _i_e, _OMC_LIT61, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpReturnTypeJL(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_outputs)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _ret_1 = NULL;
  modelica_metatype _ret_0 = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _ret_1 has no default value.
  // _ret_0 has no default value.
  _ret_0 = omc_MMToJuliaUtil_makeOutputDirection(threadData);

  _ret_1 = omc_MMToJuliaUtil_filterOnDirection(threadData, _a_outputs, _ret_0);

  _out_txt = omc_AbsynToJulia_fun__53(threadData, _txt, _ret_1);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__53(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_L = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_L has no default value.
      tmp4 = 0;
      for (; tmp4 < 4; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          if (!listEmpty(tmpMeta7)) goto tmp3_end;
          
          _i_L = tmp4_2;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT221);
          tmpMeta1 = omc_AbsynToJulia_dumpOutputsJL(threadData, _txt, _i_L);
          goto tmp3_done;
        }
        case 2: {
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta8 = MMC_CAR(tmp4_2);
          tmpMeta9 = MMC_CDR(tmp4_2);
          
          _i_L = tmp4_2;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT303);

          _txt = omc_AbsynToJulia_dumpOutputsJL(threadData, _txt, _i_L);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT120);
          goto tmp3_done;
        }
        case 3: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpInputsJL(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_inputs, modelica_metatype _a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _ret_3 = NULL;
  modelica_metatype _ret_2 = NULL;
  modelica_metatype _ret_1 = NULL;
  modelica_metatype _l_inputStr = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _ret_3 has no default value.
  // _ret_2 has no default value.
  // _ret_1 has no default value.
  // _l_inputStr has no default value.
  _ret_1 = omc_MMToJuliaUtil_makeInputDirection(threadData);

  _ret_2 = omc_MMToJuliaUtil_filterOnDirection(threadData, _a_inputs, _ret_1);

  _ret_3 = listReverse(_ret_2);

  _l_inputStr = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

  _l_inputStr = omc_AbsynToJulia_lm__51(threadData, _l_inputStr, _ret_3);

  _l_inputStr = omc_Tpl_popIter(threadData, _l_inputStr);

  _out_txt = omc_Tpl_writeText(threadData, _txt, _l_inputStr);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__51(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_ei = NULL;
      modelica_metatype _ret_3 = NULL;
      modelica_metatype _txt_2 = NULL;
      modelica_metatype _ret_1 = NULL;
      modelica_metatype _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_ei has no default value.
      // _ret_3 has no default value.
      // _txt_2 has no default value.
      // _ret_1 has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_ei = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _ret_0 = omc_AbsynUtil_getComponentItemsFromElementItem(threadData, _i_ei);

          _ret_1 = omc_AbsynUtil_getTypeSpecFromElementItemOpt(threadData, _i_ei);

          _txt_2 = omc_AbsynToJulia_dumpTypeSpecOpt(threadData, _OMC_LIT0, _ret_1, _OMC_LIT304);

          _ret_3 = omc_MMToJuliaUtil_makeInputContext(threadData, omc_Tpl_textString(threadData, _txt_2));

          _txt = omc_AbsynToJulia_dumpComponentItems(threadData, _txt, _ret_0, _ret_3);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpClassFooter(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_classDef, modelica_string _a_cdefStr, modelica_string _a_name, modelica_string _a_cmt, modelica_string _a_ann)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_AbsynToJulia_fun__49(threadData, _txt, _a_classDef, _a_cdefStr, _a_ann);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__49(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_classDef, modelica_string _in_a_cdefStr, modelica_string _in_a_ann)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_classDef;
    tmp4_3 = _in_a_cdefStr;
    tmp4_4 = _in_a_ann;
    {
      modelica_metatype _txt = NULL;
      modelica_string _a_cdefStr = NULL;
      modelica_string _a_ann = NULL;
      modelica_metatype _l_annotation__str = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_cdefStr has no default value.
      // _a_ann has no default value.
      // _l_annotation__str has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT305);
          goto tmp3_done;
        }
        case 5: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,2) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT306);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          _a_cdefStr = tmp4_3;
          _a_ann = tmp4_4;
          /* Pattern matching succeeded */
          _l_annotation__str = omc_AbsynToJulia_fun__46(threadData, _OMC_LIT0, _a_ann);
          tmpMeta1 = omc_AbsynToJulia_fun__48(threadData, _txt, _a_cdefStr, _l_annotation__str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__48(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_cdefStr, modelica_metatype _in_a_annotation__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_cdefStr;
    tmp4_3 = _in_a_annotation__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_annotation__str = NULL;
      modelica_string _i_cdefStr = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_annotation__str has no default value.
      // _i_cdefStr has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT6), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_annotation__str = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_annotation__str);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_cdefStr = tmp4_2;
          _a_annotation__str = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_cdefStr);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_AbsynToJulia_fun__47(threadData, _txt, _a_annotation__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_annotation__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__47(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_annotation__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_annotation__str;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__46(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ann)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_string tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ann;
    {
      modelica_metatype _txt = NULL;
      modelica_string _i_ann = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_ann has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT6), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_ann = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _i_ann);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpClassTypeTypeVars(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_restriction, modelica_metatype _in_a_typeVars)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_restriction;
    tmp4_3 = _in_a_typeVars;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_typeVars = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_typeVars has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 22: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_typeVars = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_fun__42(threadData, _txt, _a_typeVars);
          goto tmp3_done;
        }
        case 12: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_typeVars = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_fun__44(threadData, _txt, _a_typeVars);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__44(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_typeVars)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_typeVars;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_typeVars = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_typeVars has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_typeVars = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT308);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT5);

          _txt = omc_AbsynToJulia_lm__43(threadData, _txt, _i_typeVars);

          _txt = omc_Tpl_popIter(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT120);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__43(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_string _i_tv = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_tv has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_tv = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _i_tv);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__42(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_typeVars)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_typeVars;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_typeVars = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_typeVars has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_typeVars = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT118);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT310);

          _txt = omc_AbsynToJulia_lm__41(threadData, _txt, _i_typeVars);

          _txt = omc_Tpl_popIter(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT120);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__41(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_string _i_tv = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_tv has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_tv = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _i_tv);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpClassTypeSuperType(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_r)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_r;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_name = NULL;
      int tmp4;
      // _txt has no default value.
      // _i_name has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 23: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,5) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_name = tmpMeta5;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT312);
          tmpMeta1 = omc_AbsynToJulia_dumpPathJL(threadData, _txt, _i_name);
          goto tmp3_done;
        }
        case 12: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpClassHeader(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_classDef, modelica_metatype _in_a_restriction)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_classDef;
    tmp4_3 = _in_a_restriction;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_restriction = NULL;
      modelica_metatype _i_typeVars = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_restriction has no default value.
      // _i_typeVars has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 7: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT313);
          goto tmp3_done;
        }
        case 3: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,5) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_typeVars = tmpMeta5;
          _txt = tmp4_1;
          _a_restriction = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpClassTypeTypeVars(threadData, _txt, _a_restriction, _i_typeVars);
          tmpMeta1 = omc_AbsynToJulia_dumpClassTypeSuperType(threadData, _txt, _a_restriction);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynDumpTpl_errorMsg(threadData, _txt, _OMC_LIT314);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpClassElement(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_class, modelica_metatype _in_a_options, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_class;
    tmp4_3 = _in_a_options;
    tmp4_4 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_options = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_parts_attributes = NULL;
      modelica_metatype _i_parts_arguments = NULL;
      modelica_metatype _i_parts_typeSpec = NULL;
      modelica_metatype _i_parts_comment_1 = NULL;
      modelica_boolean _i_partialPrefix;
      modelica_boolean _i_encapsulatedPrefix;
      modelica_metatype _i_restriction = NULL;
      modelica_metatype _i_parts_classParts = NULL;
      modelica_string _i_name = NULL;
      modelica_metatype _i_parts = NULL;
      modelica_metatype _i_parts_comment = NULL;
      modelica_metatype _l_name__of__new__function = NULL;
      modelica_metatype _l_attr = NULL;
      modelica_metatype _l_args = NULL;
      modelica_metatype _l_spec = NULL;
      modelica_metatype _l_comment = NULL;
      modelica_metatype _l_partial__str__and__class__type = NULL;
      modelica_metatype _l_footer__str = NULL;
      modelica_metatype _l_header__str = NULL;
      modelica_metatype _l_cmt__str = NULL;
      modelica_metatype _l_cdef__str = NULL;
      modelica_metatype _l_begin__str = NULL;
      modelica_metatype _l_cdef__str2 = NULL;
      modelica_metatype _l_inform = NULL;
      modelica_metatype _ret_16 = NULL;
      modelica_metatype _l_forwardDeclarations = NULL;
      modelica_metatype _l_cdef__str1 = NULL;
      modelica_metatype _l_class__type__str = NULL;
      modelica_metatype _l_partial__str = NULL;
      modelica_metatype _ret_10 = NULL;
      modelica_metatype _l_functionBodyStr = NULL;
      modelica_metatype _l_header = NULL;
      modelica_string _ret_7 = NULL;
      modelica_metatype _l_typevar__inputs = NULL;
      modelica_metatype _l_inputs__str = NULL;
      modelica_metatype _l_return__str = NULL;
      modelica_metatype _l_returnType = NULL;
      modelica_metatype _ret_2 = NULL;
      modelica_metatype _l_class__def__str = NULL;
      modelica_metatype _l_commentStr = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_options has no default value.
      // _a_context has no default value.
      // _i_parts_attributes has no default value.
      // _i_parts_arguments has no default value.
      // _i_parts_typeSpec has no default value.
      // _i_parts_comment_1 has no default value.
      // _i_partialPrefix has no default value.
      // _i_encapsulatedPrefix has no default value.
      // _i_restriction has no default value.
      // _i_parts_classParts has no default value.
      // _i_name has no default value.
      // _i_parts has no default value.
      // _i_parts_comment has no default value.
      // _l_name__of__new__function has no default value.
      // _l_attr has no default value.
      // _l_args has no default value.
      // _l_spec has no default value.
      // _l_comment has no default value.
      // _l_partial__str__and__class__type has no default value.
      // _l_footer__str has no default value.
      // _l_header__str has no default value.
      // _l_cmt__str has no default value.
      // _l_cdef__str has no default value.
      // _l_begin__str has no default value.
      // _l_cdef__str2 has no default value.
      // _l_inform has no default value.
      // _ret_16 has no default value.
      // _l_forwardDeclarations has no default value.
      // _l_cdef__str1 has no default value.
      // _l_class__type__str has no default value.
      // _l_partial__str has no default value.
      // _ret_10 has no default value.
      // _l_functionBodyStr has no default value.
      // _l_header has no default value.
      // _ret_7 has no default value.
      // _l_typevar__inputs has no default value.
      // _l_inputs__str has no default value.
      // _l_return__str has no default value.
      // _l_returnType has no default value.
      // _ret_2 has no default value.
      // _l_class__def__str has no default value.
      // _l_commentStr has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,19,0) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,0,5) == 0) goto tmp3_end;
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 6));
          
          _i_name = tmpMeta6;
          _i_parts = tmpMeta8;
          _i_parts_comment = tmpMeta9;
          _txt = tmp4_1;
          _a_options = tmp4_3;
          /* Pattern matching succeeded */
          _l_commentStr = omc_AbsynToJulia_dumpCommentStrOpt(threadData, _OMC_LIT0, _i_parts_comment);

          _ret_2 = omc_MMToJuliaUtil_makeUniontypeContext(threadData, _i_name);

          _l_class__def__str = omc_AbsynToJulia_dumpClassDef(threadData, _OMC_LIT0, _i_parts, _ret_2, _a_options);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT8);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_commentStr);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT316);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT75);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT8);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_class__def__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta10;
          modelica_integer tmp11;
          modelica_metatype tmpMeta12;
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmp11 = mmc_unbox_integer(tmpMeta10);
          if (1 /* true */ != tmp11) goto tmp3_end;
          tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,9,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 2: {
          modelica_metatype tmpMeta13;
          modelica_metatype tmpMeta14;
          modelica_integer tmp15;
          modelica_metatype tmpMeta16;
          modelica_metatype tmpMeta17;
          modelica_metatype tmpMeta18;
          modelica_metatype tmpMeta19;
          tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmp15 = mmc_unbox_integer(tmpMeta14);
          if (0 /* false */ != tmp15) goto tmp3_end;
          tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta16,9,1) == 0) goto tmp3_end;
          tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,0,5) == 0) goto tmp3_end;
          tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 4));
          tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 6));
          
          _i_name = tmpMeta13;
          _i_restriction = tmpMeta16;
          _i_parts = tmpMeta17;
          _i_parts_classParts = tmpMeta18;
          _i_parts_comment = tmpMeta19;
          _txt = tmp4_1;
          _a_options = tmp4_3;
          /* Pattern matching succeeded */
          _l_commentStr = omc_AbsynToJulia_dumpCommentStrOpt(threadData, _OMC_LIT0, _i_parts_comment);

          _l_returnType = omc_AbsynToJulia_lm__25(threadData, _OMC_LIT0, _i_parts_classParts);

          _l_return__str = omc_AbsynToJulia_lm__26(threadData, _OMC_LIT0, _i_parts_classParts);

          _l_inputs__str = omc_AbsynToJulia_lm__27(threadData, _OMC_LIT0, _i_parts_classParts);

          _ret_7 = omc_System_stringReplace(threadData, omc_Tpl_textString(threadData, _l_inputs__str), _OMC_LIT317, _OMC_LIT6);

          _l_typevar__inputs = omc_Tpl_writeStr(threadData, _OMC_LIT0, _ret_7);

          _l_header = omc_AbsynToJulia_dumpClassHeader(threadData, _OMC_LIT0, _i_parts, _i_restriction);

          _ret_10 = omc_MMToJuliaUtil_makeFunctionContext(threadData, omc_Tpl_textString(threadData, _l_return__str));

          _l_functionBodyStr = omc_AbsynToJulia_dumpClassDef(threadData, _OMC_LIT0, _i_parts, _ret_10, _a_options);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_commentStr);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT319);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_AbsynToJulia_fun__28(threadData, _txt, _l_header, _l_typevar__inputs, _l_inputs__str);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT58);

          _txt = omc_AbsynToJulia_fun__29(threadData, _txt, _l_header, _l_returnType);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_header);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_functionBodyStr);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_return__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_popBlock(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        case 3: {
          modelica_metatype tmpMeta20;
          modelica_metatype tmpMeta21;
          modelica_integer tmp22;
          modelica_metatype tmpMeta23;
          modelica_integer tmp24;
          modelica_metatype tmpMeta25;
          modelica_metatype tmpMeta26;
          modelica_metatype tmpMeta27;
          modelica_metatype tmpMeta28;
          tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          tmp22 = mmc_unbox_integer(tmpMeta21);
          tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          tmp24 = mmc_unbox_integer(tmpMeta23);
          tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta26,0,5) == 0) goto tmp3_end;
          tmpMeta27 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta26), 4));
          tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta26), 6));
          
          _i_name = tmpMeta20;
          _i_partialPrefix = tmp22  /* pattern as ty=Boolean */;
          _i_encapsulatedPrefix = tmp24  /* pattern as ty=Boolean */;
          _i_restriction = tmpMeta25;
          _i_parts = tmpMeta26;
          _i_parts_classParts = tmpMeta27;
          _i_parts_comment = tmpMeta28;
          _txt = tmp4_1;
          _a_options = tmp4_3;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          omc_AbsynToJulia_fun__30(threadData, _OMC_LIT0, _i_encapsulatedPrefix);

          _l_partial__str = omc_AbsynToJulia_fun__31(threadData, _OMC_LIT0, _i_partialPrefix);

          _l_class__type__str = omc_AbsynToJulia_dumpClassType(threadData, _OMC_LIT0, _i_restriction);

          _l_cdef__str1 = omc_AbsynToJulia_fun__32(threadData, _OMC_LIT0, _i_restriction, _a_context, _a_options, _i_parts);

          _ret_16 = omc_AbsynToSCode_translateClassdefElements(threadData, _i_parts_classParts);

          _l_forwardDeclarations = omc_AbsynToJulia_dumpSCodeElements(threadData, _OMC_LIT0, _ret_16);

          _l_inform = omc_AbsynToJulia_fun__33(threadData, _OMC_LIT0, _l_forwardDeclarations);

          _l_cdef__str2 = omc_AbsynToJulia_fun__34(threadData, _OMC_LIT0, _i_restriction, _l_cdef__str1, _l_forwardDeclarations, _l_inform);

          _l_begin__str = omc_AbsynToJulia_fun__35(threadData, _OMC_LIT0, _i_restriction);

          _l_cdef__str = omc_Tpl_writeText(threadData, _OMC_LIT0, _l_cdef__str2);

          _l_cmt__str = omc_AbsynToJulia_dumpCommentStrOpt(threadData, _OMC_LIT0, _i_parts_comment);

          _l_header__str = omc_AbsynToJulia_dumpClassHeader(threadData, _OMC_LIT0, _i_parts, _i_restriction);

          _l_footer__str = omc_AbsynToJulia_dumpClassFooter(threadData, _OMC_LIT0, _i_parts, omc_Tpl_textString(threadData, _l_cdef__str), _i_name, omc_Tpl_textString(threadData, _l_cmt__str), _OMC_LIT6);

          _l_partial__str__and__class__type = omc_Tpl_writeText(threadData, _OMC_LIT0, _l_partial__str);

          _l_partial__str__and__class__type = omc_Tpl_writeText(threadData, _l_partial__str__and__class__type, _l_class__type__str);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_partial__str__and__class__type);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_begin__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_header__str);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT4);

          _txt = omc_Tpl_popBlock(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_footer__str);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta29;
          modelica_metatype tmpMeta30;
          modelica_metatype tmpMeta31;
          modelica_metatype tmpMeta32;
          modelica_metatype tmpMeta33;
          modelica_metatype tmpMeta34;
          modelica_metatype tmpMeta35;
          tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta30 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta30,7,0) == 0) goto tmp3_end;
          tmpMeta31 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta31,1,4) == 0) goto tmp3_end;
          tmpMeta32 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta31), 2));
          tmpMeta33 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta31), 3));
          tmpMeta34 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta31), 4));
          tmpMeta35 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta31), 5));
          
          _i_name = tmpMeta29;
          _i_parts_typeSpec = tmpMeta32;
          _i_parts_attributes = tmpMeta33;
          _i_parts_arguments = tmpMeta34;
          _i_parts_comment_1 = tmpMeta35;
          _txt = tmp4_1;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _l_comment = omc_AbsynToJulia_dumpCommentOpt(threadData, _OMC_LIT0, _i_parts_comment_1, _a_context);

          _l_spec = omc_AbsynToJulia_dumpTypeSpec(threadData, _OMC_LIT0, _i_parts_typeSpec, _a_context);

          _l_args = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_args = omc_AbsynToJulia_lm__36(threadData, _l_args, _i_parts_arguments, _a_context);

          _l_args = omc_Tpl_popIter(threadData, _l_args);

          _l_attr = omc_AbsynToJulia_dumpElementAttr(threadData, _OMC_LIT0, _i_parts_attributes);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_spec);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_attr);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_comment);
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta36;
          modelica_metatype tmpMeta37;
          modelica_metatype tmpMeta38;
          modelica_metatype tmpMeta39;
          modelica_metatype tmpMeta40;
          modelica_metatype tmpMeta41;
          modelica_metatype tmpMeta42;
          tmpMeta36 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta37 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta37,9,1) == 0) goto tmp3_end;
          tmpMeta38 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta38,1,4) == 0) goto tmp3_end;
          tmpMeta39 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta38), 2));
          tmpMeta40 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta38), 3));
          tmpMeta41 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta38), 4));
          tmpMeta42 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta38), 5));
          
          _i_name = tmpMeta36;
          _i_parts_typeSpec = tmpMeta39;
          _i_parts_attributes = tmpMeta40;
          _i_parts_arguments = tmpMeta41;
          _i_parts_comment_1 = tmpMeta42;
          _txt = tmp4_1;
          _a_context = tmp4_4;
          /* Pattern matching succeeded */
          _l_comment = omc_AbsynToJulia_dumpCommentOpt(threadData, _OMC_LIT0, _i_parts_comment_1, _a_context);

          _l_spec = omc_AbsynToJulia_dumpTypeSpec(threadData, _OMC_LIT0, _i_parts_typeSpec, _a_context);

          _l_args = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT5);

          _l_args = omc_AbsynToJulia_lm__37(threadData, _l_args, _i_parts_arguments, _a_context);

          _l_args = omc_Tpl_popIter(threadData, _l_args);

          omc_AbsynToJulia_dumpElementAttr(threadData, _OMC_LIT0, _i_parts_attributes);

          _l_name__of__new__function = omc_Tpl_writeStr(threadData, _OMC_LIT0, _i_name);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_comment);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT321);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_name__of__new__function);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_spec);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_args);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__37(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_earg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_earg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_earg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpElementArg(threadData, _txt, _i_earg, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__36(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    tmp4_3 = _in_a_context;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _i_earg = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _a_context has no default value.
      // _i_earg has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_earg = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          _a_context = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpElementArg(threadData, _txt, _i_earg, _a_context);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          _in_a_context = _a_context;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__35(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_restriction)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_restriction;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT323);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__34(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_restriction, modelica_metatype _in_a_cdef__str1, modelica_metatype _in_a_forwardDeclarations, modelica_metatype _in_a_inform)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_restriction;
    tmp4_3 = _in_a_cdef__str1;
    tmp4_4 = _in_a_forwardDeclarations;
    tmp4_5 = _in_a_inform;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_cdef__str1 = NULL;
      modelica_metatype _a_forwardDeclarations = NULL;
      modelica_metatype _a_inform = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_cdef__str1 has no default value.
      // _a_forwardDeclarations has no default value.
      // _a_inform has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_cdef__str1 = tmp4_3;
          _a_forwardDeclarations = tmp4_4;
          _a_inform = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT331);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_inform);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_forwardDeclarations);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT4);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_cdef__str1);

          _txt = omc_Tpl_softNewLine(threadData, _txt);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT337);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_cdef__str1 = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_cdef__str1);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__33(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_forwardDeclarations)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_forwardDeclarations;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__32(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_restriction, modelica_metatype _in_a_context, modelica_metatype _in_a_options, modelica_metatype _in_a_parts)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_restriction;
    tmp4_3 = _in_a_context;
    tmp4_4 = _in_a_options;
    tmp4_5 = _in_a_parts;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_context = NULL;
      modelica_metatype _a_options = NULL;
      modelica_metatype _a_parts = NULL;
      modelica_metatype _ret_0 = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_context has no default value.
      // _a_options has no default value.
      // _a_parts has no default value.
      // _ret_0 has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 11: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_options = tmp4_4;
          _a_parts = tmp4_5;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpClassDef(threadData, _txt, _a_parts, _OMC_LIT340, _a_options);
          goto tmp3_done;
        }
        case 6: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_options = tmp4_4;
          _a_parts = tmp4_5;
          /* Pattern matching succeeded */
          _ret_0 = omc_MMToJuliaUtil_makeUniontypeContext(threadData, _OMC_LIT6);
          tmpMeta1 = omc_AbsynToJulia_dumpClassDef(threadData, _txt, _a_parts, _ret_0, _a_options);
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          _a_context = tmp4_3;
          _a_options = tmp4_4;
          _a_parts = tmp4_5;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpClassDef(threadData, _txt, _a_parts, _a_context, _a_options);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__31(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_partialPrefix)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_partialPrefix;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT342);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__31(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_partialPrefix)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_partialPrefix);
  _out_txt = omc_AbsynToJulia_fun__31(threadData, _in_txt, tmp1);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__30(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_encapsulatedPrefix)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_encapsulatedPrefix;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_AbsynToJulia_fun__30(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_encapsulatedPrefix)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_encapsulatedPrefix);
  _out_txt = omc_AbsynToJulia_fun__30(threadData, _in_txt, tmp1);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__29(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_header, modelica_metatype _in_a_returnType)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_header;
    tmp4_3 = _in_a_returnType;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_returnType = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_returnType has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_returnType = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_returnType);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__28(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_header, modelica_metatype _in_a_typevar__inputs, modelica_metatype _in_a_inputs__str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_header;
    tmp4_3 = _in_a_typevar__inputs;
    tmp4_4 = _in_a_inputs__str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_typevar__inputs = NULL;
      modelica_metatype _a_inputs__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_typevar__inputs has no default value.
      // _a_inputs__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_inputs__str = tmp4_4;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_inputs__str);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_typevar__inputs = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_typevar__inputs);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__27(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_cp = NULL;
      modelica_metatype _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_cp has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_cp = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _ret_0 = omc_AbsynUtil_getElementItemsInClassPart(threadData, _i_cp);

          _txt = omc_AbsynToJulia_dumpInputsJL(threadData, _txt, _ret_0, _OMC_LIT304);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__26(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_cp = NULL;
      modelica_metatype _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_cp has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_cp = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _ret_0 = omc_AbsynUtil_getElementItemsInClassPart(threadData, _i_cp);

          _txt = omc_AbsynToJulia_dumpReturnStrJL(threadData, _txt, _ret_0, _OMC_LIT7);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__25(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_cp = NULL;
      modelica_metatype _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_cp has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_cp = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _ret_0 = omc_AbsynUtil_getElementItemsInClassPart(threadData, _i_cp);

          _txt = omc_AbsynToJulia_dumpReturnTypeJL(threadData, _txt, _ret_0);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpClass(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cls, modelica_metatype _a_options)
{
  modelica_metatype _out_txt = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  _out_txt = omc_AbsynToJulia_dumpClassElement(threadData, _txt, _a_cls, _a_options, _OMC_LIT229);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpSCodeElements2(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_elements)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _l_str = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _l_str has no default value.
  _l_str = omc_AbsynToJulia_lm__21(threadData, _OMC_LIT0, _a_elements);

  _out_txt = omc_AbsynToJulia_fun__22(threadData, _txt, _l_str);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__22(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_str)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_str;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_str has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_str = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT4);
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _i_str);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__21(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_el = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_el has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_el = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_fun__20(threadData, _txt, _i_el);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_fun__20(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_el)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_el;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_parts_elementLst = NULL;
      modelica_string _i_name = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_parts_elementLst has no default value.
      // _i_name has no default value.
      tmp4 = 0;
      for (; tmp4 < 4; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,8) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,18,1) == 0) goto tmp3_end;
          
          _i_name = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT344);

          _txt = omc_Tpl_writeStr(threadData, _txt, _i_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT4);
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta8;
          modelica_metatype tmpMeta9;
          modelica_metatype tmpMeta10;
          modelica_metatype tmpMeta11;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,8) == 0) goto tmp3_end;
          tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,1,0) == 0) goto tmp3_end;
          tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,9,1) == 0) goto tmp3_end;
          tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,0,8) == 0) goto tmp3_end;
          tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 2));
          
          _i_parts_elementLst = tmpMeta11;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_AbsynToJulia_dumpSCodeElements2(threadData, _txt, _i_parts_elementLst);
          goto tmp3_done;
        }
        case 2: {
          modelica_metatype tmpMeta12;
          modelica_metatype tmpMeta13;
          modelica_metatype tmpMeta14;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,8) == 0) goto tmp3_end;
          tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,0,0) == 0) goto tmp3_end;
          tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,9,1) == 0) goto tmp3_end;
          
          _i_name = tmpMeta12;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _i_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT346);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT4);
          goto tmp3_done;
        }
        case 3: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpSCodeElements(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_elements)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _ret_0 = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _ret_0 has no default value.
  _ret_0 = omc_SCodeDump_filterElements(threadData, _a_elements, _OMC_LIT347);

  _out_txt = omc_AbsynToJulia_dumpSCodeElements2(threadData, _txt, _ret_0);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_AbsynToJulia_dumpProgram(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_program)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_program;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_classes = NULL;
      modelica_metatype _l_cls__str = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_classes has no default value.
      // _l_cls__str has no default value.
      tmp4 = 0;
      for (; tmp4 < 3; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta7;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _txt = tmp4_1;
          _i_classes = tmpMeta7;
          /* Pattern matching succeeded */
          _l_cls__str = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT71);

          _l_cls__str = omc_AbsynToJulia_lm__17(threadData, _l_cls__str, _i_classes);

          _l_cls__str = omc_Tpl_popIter(threadData, _l_cls__str);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT54);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_cls__str);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        case 2: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_AbsynToJulia_lm__17(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_items;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _rest = NULL;
      modelica_metatype _i_cls = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _rest has no default value.
      // _i_cls has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (!listEmpty(tmp4_2)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          if (listEmpty(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_CAR(tmp4_2);
          tmpMeta7 = MMC_CDR(tmp4_2);
          
          _i_cls = tmpMeta6;
          _rest = tmpMeta7;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_AbsynToJulia_dumpClass(threadData, _txt, _i_cls, _OMC_LIT61);

          _txt = omc_Tpl_nextIter(threadData, _txt);
          /* Tail recursive call */
          _in_txt = _txt;
          _in_items = _rest;
          goto _tailrecursive;
          /* TODO: Make sure any eventual dead code below is never generated */
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

