#ifdef OMC_BASE_FILE
#define OMC_FILE OMC_BASE_FILE
#else
#define OMC_FILE "TplCodegen.c"
#endif
#include "omc_simulation_settings.h"
#include "TplCodegen.h"
#define _OMC_LIT0_data "("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT0,1,_OMC_LIT0_data);
#define _OMC_LIT0 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT0)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT0}};
#define _OMC_LIT1 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1)
#define _OMC_LIT2_data ", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2,2,_OMC_LIT2_data);
#define _OMC_LIT2 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2}};
#define _OMC_LIT3 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT4,1,1) {_OMC_LIT3}};
#define _OMC_LIT4 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT4)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT5,1,3) {&Tpl_StringToken_ST__NEW__LINE__desc,}};
#define _OMC_LIT5 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT5)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT6,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT4,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT5,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT5}};
#define _OMC_LIT6 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT6)
#define _OMC_LIT7_data ")"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT7,1,_OMC_LIT7_data);
#define _OMC_LIT7 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT7)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT8,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT7}};
#define _OMC_LIT8 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT8)
#define _OMC_LIT9_data " "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT9,1,_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 "="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT11,1,_OMC_LIT11_data);
#define _OMC_LIT11 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT11)
#define _OMC_LIT12_data ") -> ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT12,6,_OMC_LIT12_data);
#define _OMC_LIT12 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT12)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT13,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT12}};
#define _OMC_LIT13 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT13)
#define _OMC_LIT14_data "\\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT14,2,_OMC_LIT14_data);
#define _OMC_LIT14 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT14)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT15,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT14}};
#define _OMC_LIT15 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT15)
#define _OMC_LIT16_data "\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT16,1,_OMC_LIT16_data);
#define _OMC_LIT16 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT16)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT17,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT16}};
#define _OMC_LIT17 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT17)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT18,2,5) {&Tpl_BlockType_BT__ABS__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#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 "record "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT21,7,_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 "end "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT23,4,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT27,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2))}};
#define _OMC_LIT27 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT27)
#define _OMC_LIT28_data "uniontype "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT28,10,_OMC_LIT28_data);
#define _OMC_LIT28 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT28)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT29,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT28}};
#define _OMC_LIT29 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT29)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT30,1,1) {_OMC_LIT5}};
#define _OMC_LIT30 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT30)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT31,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT30,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT5,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT5}};
#define _OMC_LIT31 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT31)
#define _OMC_LIT32_data "type "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT32,5,_OMC_LIT32_data);
#define _OMC_LIT32 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT32)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT33,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT32}};
#define _OMC_LIT33 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT33)
#define _OMC_LIT34_data "function "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT34,9,_OMC_LIT34_data);
#define _OMC_LIT34 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT34)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT35,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT34}};
#define _OMC_LIT35 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT35)
#define _OMC_LIT36_data "constant "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT36,9,_OMC_LIT36_data);
#define _OMC_LIT36 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT36)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT37,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT36}};
#define _OMC_LIT37 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT37)
#define _OMC_LIT38_data "output "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT38,7,_OMC_LIT38_data);
#define _OMC_LIT38 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT38)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT39,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT38}};
#define _OMC_LIT39 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT39)
#define _OMC_LIT40_data "input "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT40,6,_OMC_LIT40_data);
#define _OMC_LIT40 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT40)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT41,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT40}};
#define _OMC_LIT41 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT41)
#define _OMC_LIT42_data "spackage "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT42,9,_OMC_LIT42_data);
#define _OMC_LIT42 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT42)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT43,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT42}};
#define _OMC_LIT43 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT43)
#define _OMC_LIT44_data "\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT44,1,_OMC_LIT44_data);
#define _OMC_LIT44 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT44)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT45,2,1) {_OMC_LIT44,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT45 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT45)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT46,2,1) {_OMC_LIT44,_OMC_LIT45}};
#define _OMC_LIT46 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT46)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT47,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT46,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT47 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT47)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT48,1,1) {_OMC_LIT47}};
#define _OMC_LIT48 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT48)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT49,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT48,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT5,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT5}};
#define _OMC_LIT49 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT49)
#define _OMC_LIT50_data "absyn "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT50,6,_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 "default "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT52,8,_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)
#define _OMC_LIT54_data " as "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT54,4,_OMC_LIT54_data);
#define _OMC_LIT54 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT54)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT55,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT54}};
#define _OMC_LIT55 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT55)
#define _OMC_LIT56_data "SOME("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT56,5,_OMC_LIT56_data);
#define _OMC_LIT56 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT56)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT57,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT56}};
#define _OMC_LIT57 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT57)
#define _OMC_LIT58_data "NONE()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT58,6,_OMC_LIT58_data);
#define _OMC_LIT58 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT58)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT59,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT58}};
#define _OMC_LIT59 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT59)
#define _OMC_LIT60_data "{"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT60,1,_OMC_LIT60_data);
#define _OMC_LIT60 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT60)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT61,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT60}};
#define _OMC_LIT61 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT61)
#define _OMC_LIT62_data "}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT62,1,_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 " :: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT64,4,_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 "_"
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,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT66}};
#define _OMC_LIT67 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT67)
#define _OMC_LIT68_data "\\\\"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT68,2,_OMC_LIT68_data);
#define _OMC_LIT68 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT68)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT69,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT68}};
#define _OMC_LIT69 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT69)
#define _OMC_LIT70_data "\\'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT70,2,_OMC_LIT70_data);
#define _OMC_LIT70 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT70)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT71,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT70}};
#define _OMC_LIT71 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT71)
#define _OMC_LIT72_data "\\\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT72,2,_OMC_LIT72_data);
#define _OMC_LIT72 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT72)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT73,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT72}};
#define _OMC_LIT73 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT73)
#define _OMC_LIT74_data "\\t"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT74,2,_OMC_LIT74_data);
#define _OMC_LIT74 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT74)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT75,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT74}};
#define _OMC_LIT75 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT75)
#define _OMC_LIT76_data "\\"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT76,1,_OMC_LIT76_data);
#define _OMC_LIT76 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT76)
#define _OMC_LIT77_data "'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT77,1,_OMC_LIT77_data);
#define _OMC_LIT77 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT77)
#define _OMC_LIT78_data "	"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT78,1,_OMC_LIT78_data);
#define _OMC_LIT78 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT78)
#define _OMC_LIT79_data "Tpl.ST_NEW_LINE()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT79,17,_OMC_LIT79_data);
#define _OMC_LIT79 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT79)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT80,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT79}};
#define _OMC_LIT80 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT80)
#define _OMC_LIT81_data "Tpl.ST_STRING(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT81,15,_OMC_LIT81_data);
#define _OMC_LIT81 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT81)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT82,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT81}};
#define _OMC_LIT82 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT82)
#define _OMC_LIT83_data "\")"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT83,2,_OMC_LIT83_data);
#define _OMC_LIT83 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT83)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT84,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT83}};
#define _OMC_LIT84 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT84)
#define _OMC_LIT85_data "Tpl.ST_LINE(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT85,13,_OMC_LIT85_data);
#define _OMC_LIT85 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT85)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT86,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT85}};
#define _OMC_LIT86 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT86)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT87,2,7) {&Tpl_BlockType_BT__ANCHOR__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT87 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT87)
#define _OMC_LIT88_data "Tpl.ST_STRING_LIST({\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT88,21,_OMC_LIT88_data);
#define _OMC_LIT88 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT88)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT89,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT88}};
#define _OMC_LIT89 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT89)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT90,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(4))}};
#define _OMC_LIT90 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT90)
#define _OMC_LIT91_data ",\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT91,2,_OMC_LIT91_data);
#define _OMC_LIT91 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT91)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT92,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT91}};
#define _OMC_LIT92 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT92)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT93,1,1) {_OMC_LIT92}};
#define _OMC_LIT93 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT93)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT94,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT93,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT5,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT5}};
#define _OMC_LIT94 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT94)
#define _OMC_LIT95_data "}, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT95,3,_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)
#define _OMC_LIT97_data "list<"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT97,5,_OMC_LIT97_data);
#define _OMC_LIT97 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT97)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT98,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT97}};
#define _OMC_LIT98 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT98)
#define _OMC_LIT99_data ">"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT99,1,_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)
#define _OMC_LIT101_data "array<"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT101,6,_OMC_LIT101_data);
#define _OMC_LIT101 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT101)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT102,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT101}};
#define _OMC_LIT102 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT102)
#define _OMC_LIT103_data "Option<"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT103,7,_OMC_LIT103_data);
#define _OMC_LIT103 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT103)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT104,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT103}};
#define _OMC_LIT104 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT104)
#define _OMC_LIT105_data "tuple<"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT105,6,_OMC_LIT105_data);
#define _OMC_LIT105 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT105)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT106,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT105}};
#define _OMC_LIT106 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT106)
#define _OMC_LIT107_data "String"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT107,6,_OMC_LIT107_data);
#define _OMC_LIT107 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT107)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT108,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT107}};
#define _OMC_LIT108 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT108)
#define _OMC_LIT109_data "Tpl.Text"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT109,8,_OMC_LIT109_data);
#define _OMC_LIT109 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT109)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT110,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT109}};
#define _OMC_LIT110 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT110)
#define _OMC_LIT111_data "Tpl.StringToken"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT111,15,_OMC_LIT111_data);
#define _OMC_LIT111 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT111)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT112,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT111}};
#define _OMC_LIT112 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT112)
#define _OMC_LIT113_data "Integer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT113,7,_OMC_LIT113_data);
#define _OMC_LIT113 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT113)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT114,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT113}};
#define _OMC_LIT114 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT114)
#define _OMC_LIT115_data "Real"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT115,4,_OMC_LIT115_data);
#define _OMC_LIT115 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT115)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT116,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT115}};
#define _OMC_LIT116 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT116)
#define _OMC_LIT117_data "Boolean"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT117,7,_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 "#type? "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT119,7,_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,3,_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 "public"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT123,6,_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)
#define _OMC_LIT125_data "protected"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT125,9,_OMC_LIT125_data);
#define _OMC_LIT125 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT125)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT126,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT125}};
#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 "builtin"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT129,7,_OMC_LIT129_data);
#define _OMC_LIT129 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT129)
#define _OMC_LIT130_data "input"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT130,5,_OMC_LIT130_data);
#define _OMC_LIT130 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT130)
#define _OMC_LIT131_data "in_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT131,3,_OMC_LIT131_data);
#define _OMC_LIT131 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT131)
#define _OMC_LIT132_data "output"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT132,6,_OMC_LIT132_data);
#define _OMC_LIT132 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT132)
#define _OMC_LIT133_data "out_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT133,4,_OMC_LIT133_data);
#define _OMC_LIT133 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT133)
#define _OMC_LIT134_data "algorithm"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT134,9,_OMC_LIT134_data);
#define _OMC_LIT134 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT134)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT135,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT134}};
#define _OMC_LIT135 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT135)
#define _OMC_LIT136_data " :=\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT136,4,_OMC_LIT136_data);
#define _OMC_LIT136 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT136)
#define _OMC_LIT137_data "match("
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,1) {_OMC_LIT137,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT138 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT138)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT139,2,1) {_OMC_LIT136,_OMC_LIT138}};
#define _OMC_LIT139 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT139)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT140,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT139,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT140 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT140)
#define _OMC_LIT141_data ")\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT141,2,_OMC_LIT141_data);
#define _OMC_LIT141 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT141)
#define _OMC_LIT142_data "  local\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT142,8,_OMC_LIT142_data);
#define _OMC_LIT142 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT142)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT143,2,1) {_OMC_LIT142,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT143 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT143)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT144,2,1) {_OMC_LIT141,_OMC_LIT143}};
#define _OMC_LIT144 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT144)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT145,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT144,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT145 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT145)
#define _OMC_LIT146_data "end match;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT146,10,_OMC_LIT146_data);
#define _OMC_LIT146 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT146)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT147,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT146}};
#define _OMC_LIT147 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT147)
#define _OMC_LIT148_data "else\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT148,5,_OMC_LIT148_data);
#define _OMC_LIT148 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT148)
#define _OMC_LIT149_data "  Tpl.fakeStackOverflow();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT149,27,_OMC_LIT149_data);
#define _OMC_LIT149 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT149)
#define _OMC_LIT150_data "end try;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT150,8,_OMC_LIT150_data);
#define _OMC_LIT150 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT150)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT151,2,1) {_OMC_LIT150,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT151 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT151)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT152,2,1) {_OMC_LIT149,_OMC_LIT151}};
#define _OMC_LIT152 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT152)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT153,2,1) {_OMC_LIT148,_OMC_LIT152}};
#define _OMC_LIT153 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT153)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT154,2,1) {_OMC_LIT44,_OMC_LIT153}};
#define _OMC_LIT154 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT154)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT155,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT154,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT155 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT155)
#define _OMC_LIT156_data "case ( "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT156,7,_OMC_LIT156_data);
#define _OMC_LIT156 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT156)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT157,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT156}};
#define _OMC_LIT157 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT157)
#define _OMC_LIT158_data " )\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT158,3,_OMC_LIT158_data);
#define _OMC_LIT158 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT158)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT159,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT158}};
#define _OMC_LIT159 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT159)
#define _OMC_LIT160_data "then "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT160,5,_OMC_LIT160_data);
#define _OMC_LIT160 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT160)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT161,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT160}};
#define _OMC_LIT161 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT161)
#define _OMC_LIT162_data "equation\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT162,9,_OMC_LIT162_data);
#define _OMC_LIT162 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT162)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT163,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT162}};
#define _OMC_LIT163 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT163)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT164,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT131}};
#define _OMC_LIT164 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT164)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT165,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT133}};
#define _OMC_LIT165 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT165)
#define _OMC_LIT166_data "try"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT166,3,_OMC_LIT166_data);
#define _OMC_LIT166 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT166)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT167,2,1) {_OMC_LIT166,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT167 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT167)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT168,2,1) {_OMC_LIT44,_OMC_LIT167}};
#define _OMC_LIT168 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT168)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT169,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT168,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT169 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT169)
#define _OMC_LIT170_data " import "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT170,8,_OMC_LIT170_data);
#define _OMC_LIT170 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT170)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT171,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT170}};
#define _OMC_LIT171 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT171)
#define _OMC_LIT172_data " constant Tpl.StringToken "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT172,26,_OMC_LIT172_data);
#define _OMC_LIT172 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT172)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT173,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT172}};
#define _OMC_LIT173 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT173)
#define _OMC_LIT174_data " constant "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT174,10,_OMC_LIT174_data);
#define _OMC_LIT174 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT174)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT175,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT174}};
#define _OMC_LIT175 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT175)
#define _OMC_LIT176_data " function "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT176,10,_OMC_LIT176_data);
#define _OMC_LIT176 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT176)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT177,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT176}};
#define _OMC_LIT177 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT177)
#define _OMC_LIT178_data "Tpl"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT178,3,_OMC_LIT178_data);
#define _OMC_LIT178 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT178)
#define _OMC_LIT179_data ""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT179,0,_OMC_LIT179_data);
#define _OMC_LIT179 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT179)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT180,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT153,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT180 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT180)
#define _OMC_LIT181_data ":="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT181,2,_OMC_LIT181_data);
#define _OMC_LIT181 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT181)
#define _OMC_LIT182_data "protected\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT182,10,_OMC_LIT182_data);
#define _OMC_LIT182 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT182)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT183,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT182}};
#define _OMC_LIT183 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT183)
#define _OMC_LIT184_data "encapsulated package "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT184,21,_OMC_LIT184_data);
#define _OMC_LIT184 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT184)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT185,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT184}};
#define _OMC_LIT185 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT185)
#define _OMC_LIT186_data "\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT186,2,_OMC_LIT186_data);
#define _OMC_LIT186 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT186)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT187,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT186}};
#define _OMC_LIT187 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT187)
#define _OMC_LIT188_data "file:        "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT188,13,_OMC_LIT188_data);
#define _OMC_LIT188 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT188)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT189,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT188}};
#define _OMC_LIT189 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT189)
#define _OMC_LIT190_data ".mo\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT190,4,_OMC_LIT190_data);
#define _OMC_LIT190 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT190)
#define _OMC_LIT191_data "package:     "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT191,13,_OMC_LIT191_data);
#define _OMC_LIT191 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT191)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT192,2,1) {_OMC_LIT191,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT192 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT192)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT193,2,1) {_OMC_LIT190,_OMC_LIT192}};
#define _OMC_LIT193 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT193)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT194,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT193,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT194 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT194)
#define _OMC_LIT195_data "description: Generated by Susan.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT195,33,_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 "public import Tpl;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT197,19,_OMC_LIT197_data);
#define _OMC_LIT197 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT197)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT198,2,1) {_OMC_LIT197,_OMC_LIT45}};
#define _OMC_LIT198 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT198)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT199,2,1) {_OMC_LIT44,_OMC_LIT198}};
#define _OMC_LIT199 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT199)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT200,2,1) {_OMC_LIT186,_OMC_LIT199}};
#define _OMC_LIT200 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT200)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT201,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT200,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT201 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT201)
#include "util/modelica.h"
#include "TplCodegen_includes.h"
#if !defined(PROTECTED_FUNCTION_STATIC)
#define PROTECTED_FUNCTION_STATIC
#endif
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__70(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__70,2,0) {(void*) boxptr_TplCodegen_lm__70,0}};
#define boxvar_TplCodegen_lm__70 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__70)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__67(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__67,2,0) {(void*) boxptr_TplCodegen_lm__67,0}};
#define boxvar_TplCodegen_lm__67 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__67)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_sl);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_TplCodegen_fun__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_sl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__65,2,0) {(void*) boxptr_TplCodegen_fun__65,0}};
#define boxvar_TplCodegen_fun__65 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__65)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__64(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_sl);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_TplCodegen_fun__64(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_sl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__64,2,0) {(void*) boxptr_TplCodegen_fun__64,0}};
#define boxvar_TplCodegen_fun__64 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__64)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__63(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__63,2,0) {(void*) boxptr_TplCodegen_lm__63,0}};
#define boxvar_TplCodegen_lm__63 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__63)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__62(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__62,2,0) {(void*) boxptr_TplCodegen_lm__62,0}};
#define boxvar_TplCodegen_lm__62 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__62)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__61(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__61,2,0) {(void*) boxptr_TplCodegen_lm__61,0}};
#define boxvar_TplCodegen_lm__61 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__61)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__58(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fields);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__58,2,0) {(void*) boxptr_TplCodegen_fun__58,0}};
#define boxvar_TplCodegen_fun__58 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__58)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__57,2,0) {(void*) boxptr_TplCodegen_lm__57,0}};
#define boxvar_TplCodegen_lm__57 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__57)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__55(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_info, modelica_string _in_a_id);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__55,2,0) {(void*) boxptr_TplCodegen_fun__55,0}};
#define boxvar_TplCodegen_fun__55 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__55)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__54(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__54,2,0) {(void*) boxptr_TplCodegen_lm__54,0}};
#define boxvar_TplCodegen_lm__54 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__54)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__53(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__53,2,0) {(void*) boxptr_TplCodegen_lm__53,0}};
#define boxvar_TplCodegen_lm__53 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__53)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__52(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__52,2,0) {(void*) boxptr_TplCodegen_lm__52,0}};
#define boxvar_TplCodegen_lm__52 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__52)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__50(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__50,2,0) {(void*) boxptr_TplCodegen_lm__50,0}};
#define boxvar_TplCodegen_lm__50 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__50)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__49(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__49,2,0) {(void*) boxptr_TplCodegen_lm__49,0}};
#define boxvar_TplCodegen_lm__49 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__49)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__48(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__48,2,0) {(void*) boxptr_TplCodegen_lm__48,0}};
#define boxvar_TplCodegen_lm__48 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__48)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__47(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isDefault);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_TplCodegen_fun__47(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isDefault);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__47,2,0) {(void*) boxptr_TplCodegen_fun__47,0}};
#define boxvar_TplCodegen_fun__47 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__47)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__45(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__45,2,0) {(void*) boxptr_TplCodegen_lm__45,0}};
#define boxvar_TplCodegen_lm__45 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__45)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__43(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__43,2,0) {(void*) boxptr_TplCodegen_lm__43,0}};
#define boxvar_TplCodegen_lm__43 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__43)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__42(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__42,2,0) {(void*) boxptr_TplCodegen_lm__42,0}};
#define boxvar_TplCodegen_lm__42 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__42)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__41(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__41,2,0) {(void*) boxptr_TplCodegen_lm__41,0}};
#define boxvar_TplCodegen_lm__41 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__41)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__39(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_string _in_a_assignStr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__39,2,0) {(void*) boxptr_TplCodegen_lm__39,0}};
#define boxvar_TplCodegen_lm__39 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__39)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__38(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhsArgs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__38,2,0) {(void*) boxptr_TplCodegen_fun__38,0}};
#define boxvar_TplCodegen_fun__38 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__38)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__37(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__37,2,0) {(void*) boxptr_TplCodegen_lm__37,0}};
#define boxvar_TplCodegen_lm__37 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__37)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__35(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_boolean _in_a_escapeNewLine);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_TplCodegen_lm__35(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_escapeNewLine);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__35,2,0) {(void*) boxptr_TplCodegen_lm__35,0}};
#define boxvar_TplCodegen_lm__35 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__35)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__34(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_it, modelica_boolean _in_a_escapeNewLine);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_TplCodegen_fun__34(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it, modelica_metatype _in_a_escapeNewLine);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__34,2,0) {(void*) boxptr_TplCodegen_fun__34,0}};
#define boxvar_TplCodegen_fun__34 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__34)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__33(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_escapeNewLine);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_TplCodegen_fun__33(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_escapeNewLine);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__33,2,0) {(void*) boxptr_TplCodegen_fun__33,0}};
#define boxvar_TplCodegen_fun__33 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__33)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__31(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__31,2,0) {(void*) boxptr_TplCodegen_lm__31,0}};
#define boxvar_TplCodegen_lm__31 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__31)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__29(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__29,2,0) {(void*) boxptr_TplCodegen_lm__29,0}};
#define boxvar_TplCodegen_lm__29 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__29)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__27(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_string _in_a_idPrfx, modelica_string _in_a_typePrfx);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__27,2,0) {(void*) boxptr_TplCodegen_lm__27,0}};
#define boxvar_TplCodegen_lm__27 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__27)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__25(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__25,2,0) {(void*) boxptr_TplCodegen_lm__25,0}};
#define boxvar_TplCodegen_lm__25 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__25)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__21(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_TplCodegen_fun__21(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__21,2,0) {(void*) boxptr_TplCodegen_fun__21,0}};
#define boxvar_TplCodegen_fun__21 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__21)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__20(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_outArgs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__20,2,0) {(void*) boxptr_TplCodegen_lm__20,0}};
#define boxvar_TplCodegen_lm__20 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__20)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__19(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outArgs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__19,2,0) {(void*) boxptr_TplCodegen_fun__19,0}};
#define boxvar_TplCodegen_fun__19 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__19)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__18(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__18,2,0) {(void*) boxptr_TplCodegen_lm__18,0}};
#define boxvar_TplCodegen_lm__18 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__18)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__17(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_statements);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__17,2,0) {(void*) boxptr_TplCodegen_fun__17,0}};
#define boxvar_TplCodegen_fun__17 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__17)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__16(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__16,2,0) {(void*) boxptr_TplCodegen_lm__16,0}};
#define boxvar_TplCodegen_lm__16 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__16)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__15(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__15,2,0) {(void*) boxptr_TplCodegen_lm__15,0}};
#define boxvar_TplCodegen_lm__15 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__15)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__14(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__14,2,0) {(void*) boxptr_TplCodegen_lm__14,0}};
#define boxvar_TplCodegen_lm__14 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__14)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__13(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outArgs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__13,2,0) {(void*) boxptr_TplCodegen_fun__13,0}};
#define boxvar_TplCodegen_fun__13 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__13)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__12(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__12,2,0) {(void*) boxptr_TplCodegen_lm__12,0}};
#define boxvar_TplCodegen_lm__12 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__12)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__11(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_TplCodegen_fun__11(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__11,2,0) {(void*) boxptr_TplCodegen_fun__11,0}};
#define boxvar_TplCodegen_fun__11 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__11)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__9(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_statements, modelica_metatype _in_a_mf_locals, modelica_metatype _in_a_mf_outArgs, modelica_metatype _in_a_mf_inArgs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__9,2,0) {(void*) boxptr_TplCodegen_fun__9,0}};
#define boxvar_TplCodegen_fun__9 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__9)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__8(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_TplCodegen_fun__8(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__8,2,0) {(void*) boxptr_TplCodegen_fun__8,0}};
#define boxvar_TplCodegen_fun__8 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__8)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__7(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__7,2,0) {(void*) boxptr_TplCodegen_lm__7,0}};
#define boxvar_TplCodegen_lm__7 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__7)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__6(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_TplCodegen_fun__6(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__6,2,0) {(void*) boxptr_TplCodegen_fun__6,0}};
#define boxvar_TplCodegen_fun__6 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__6)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__5(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mf_locals);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_fun__5,2,0) {(void*) boxptr_TplCodegen_fun__5,0}};
#define boxvar_TplCodegen_fun__5 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_fun__5)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__3(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_TplCodegen_lm__3,2,0) {(void*) boxptr_TplCodegen_lm__3,0}};
#define boxvar_TplCodegen_lm__3 MMC_REFSTRUCTLIT(boxvar_lit_TplCodegen_lm__3)
DLLExport
modelica_metatype omc_TplCodegen_sActualMMParams(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_argValues)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT6);
_out_txt = omc_TplCodegen_lm__70(threadData, _out_txt, _a_argValues);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT8);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__70(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
{
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_mexp = NULL;
modelica_metatype _i_ts = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_mexp = tmpMeta8;
_i_ts = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_ts);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_TplCodegen_mmExp(threadData, _txt, _i_mexp, _OMC_LIT11);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_sFunSignature(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_iargs, modelica_metatype _a_oargs)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_TplCodegen_pathIdent(threadData, _txt, _a_name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1);
_out_txt = omc_TplCodegen_sTypedIdents(threadData, _out_txt, _a_iargs);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT13);
_out_txt = omc_TplCodegen_sTypedIdents(threadData, _out_txt, _a_oargs);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT8);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_TplCodegen_sTypedIdents(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_args)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT6);
_out_txt = omc_TplCodegen_lm__67(threadData, _out_txt, _a_args);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__67(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
{
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_fid = NULL;
modelica_metatype _i_ts = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_fid = tmpMeta8;
_i_ts = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_ts);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_fid);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_sConstStringToken(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_sl = NULL;
modelica_string _i_line = NULL;
modelica_string _i_value = NULL;
modelica_boolean _ret_0;
int tmp4;
{
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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT15);
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_value = tmpMeta5;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _i_value, 1);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
goto tmp3_done;
}
case 5: {
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_line = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _i_line, 1);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_sl = tmpMeta7;
_txt = tmp4_1;
_ret_0 = omc_TplAbsyn_canBeOnOneLine(threadData, _i_sl);
tmpMeta1 = omc_TplCodegen_fun__65(threadData, _txt, _ret_0, _i_sl);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
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_TplCodegen_fun__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_sl)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_sl;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sl = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_sl = tmp4_3;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT18);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_TplCodegen_lm__61(threadData, _txt, _a_sl);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sl = tmp4_3;
_ret_0 = omc_TplAbsyn_canBeEscapedUnquoted(threadData, _a_sl);
tmpMeta1 = omc_TplCodegen_fun__64(threadData, _txt, _ret_0, _a_sl);
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_TplCodegen_fun__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_sl)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_TplCodegen_fun__65(threadData, _in_txt, tmp1, _in_a_sl);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__64(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_sl)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_sl;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sl = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_sl = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_TplCodegen_lm__62(threadData, _txt, _a_sl);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sl = tmp4_3;
tmpMeta1 = omc_TplCodegen_lm__63(threadData, _txt, _a_sl);
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_TplCodegen_fun__64(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_sl)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_TplCodegen_fun__64(threadData, _in_txt, tmp1, _in_a_sl);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__63(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _i_it, 1);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_lm__62(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _i_it, 1);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_lm__61(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _i_it, 0);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_sTemplateDef(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it, modelica_string _in_a_templId)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
tmp4_3 = _in_a_templId;
{
modelica_metatype _txt = NULL;
modelica_string _a_templId = NULL;
modelica_metatype _i_value = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
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_value = tmpMeta6;
_txt = tmp4_1;
_a_templId = tmp4_3;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_templId);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT20);
tmpMeta1 = omc_TplCodegen_sConstStringToken(threadData, _txt, _i_value);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_sRecordTypeDef(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_id, modelica_metatype _a_fields)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_id);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT10);
_out_txt = omc_TplCodegen_fun__58(threadData, _out_txt, _a_fields);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT24);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_id);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT26);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__58(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fields)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fields;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_fields = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_fields = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_TplCodegen_lm__57(threadData, _txt, _i_fields);
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_TplCodegen_lm__57(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
{
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_fid = NULL;
modelica_metatype _i_ts = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_fid = tmpMeta8;
_i_ts = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_ts);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_fid);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_sASTDefType(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_id, modelica_metatype _a_info)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_TplCodegen_fun__55(threadData, _txt, _a_info, _a_id);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__55(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_info, modelica_string _in_a_id)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_info;
tmp4_3 = _in_a_id;
{
modelica_metatype _txt = NULL;
modelica_string _a_id = NULL;
modelica_metatype _i_constType = NULL;
modelica_metatype _i_outArgs = NULL;
modelica_metatype _i_inArgs = NULL;
modelica_metatype _i_aliasType = NULL;
modelica_metatype _i_fields = NULL;
modelica_metatype _i_recTags = NULL;
int tmp4;
{
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_recTags = tmpMeta5;
_txt = tmp4_1;
_a_id = tmp4_3;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_id);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT31);
_txt = omc_TplCodegen_lm__52(threadData, _txt, _i_recTags);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT24);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_id);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
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_fields = tmpMeta6;
_txt = tmp4_1;
_a_id = tmp4_3;
tmpMeta1 = omc_TplCodegen_sRecordTypeDef(threadData, _txt, _a_id, _i_fields);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_aliasType = tmpMeta7;
_txt = tmp4_1;
_a_id = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT33);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_id);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT20);
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_aliasType);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,3) == 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_inArgs = tmpMeta8;
_i_outArgs = tmpMeta9;
_txt = tmp4_1;
_a_id = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT35);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_id);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_TplCodegen_lm__53(threadData, _txt, _i_inArgs);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_TplCodegen_lm__54(threadData, _txt, _i_outArgs);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT24);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_id);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_constType = tmpMeta10;
_txt = tmp4_1;
_a_id = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT37);
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_constType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_id);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
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_TplCodegen_lm__54(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
{
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_aid = NULL;
modelica_metatype _i_ts = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_aid = tmpMeta8;
_i_ts = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT39);
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_ts);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_aid);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_lm__53(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
{
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_aid = NULL;
modelica_metatype _i_ts = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_aid = tmpMeta8;
_i_ts = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT41);
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_ts);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_aid);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_lm__52(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
{
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_tids = NULL;
modelica_string _i_rid = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_rid = tmpMeta8;
_i_tids = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_sRecordTypeDef(threadData, _txt, _i_rid, _i_tids);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_sTemplPackage(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_templateDefs = NULL;
modelica_metatype _i_astDefs = NULL;
modelica_metatype _i_name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
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_astDefs = tmpMeta7;
_i_templateDefs = tmpMeta8;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT43);
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_name);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT31);
_txt = omc_TplCodegen_lm__49(threadData, _txt, _i_astDefs);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT49);
_txt = omc_TplCodegen_lm__50(threadData, _txt, _i_templateDefs);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT24);
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
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_TplCodegen_lm__50(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
{
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_id = NULL;
modelica_metatype _i_def = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_id = tmpMeta8;
_i_def = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_sTemplateDef(threadData, _txt, _i_def, _i_id);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_lm__49(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
{
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_types = NULL;
modelica_metatype _i_importPackage = NULL;
modelica_boolean _i_isDefault;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
modelica_metatype tmpMeta11;
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), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
tmp10 = mmc_unbox_integer(tmpMeta9);
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 4));
_i_importPackage = tmpMeta8;
_i_isDefault = tmp10;
_i_types = tmpMeta11;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_fun__47(threadData, _txt, _i_isDefault);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_importPackage);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT49);
_txt = omc_TplCodegen_lm__48(threadData, _txt, _i_types);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT24);
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_importPackage);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta12 = MMC_CAR(tmp4_2);
tmpMeta13 = MMC_CDR(tmp4_2);
_rest = tmpMeta13;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_lm__48(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
{
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_tinfo = NULL;
modelica_string _i_id = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_id = tmpMeta8;
_i_tinfo = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_sASTDefType(threadData, _txt, _i_id, _i_tinfo);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_fun__47(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isDefault)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isDefault;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
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 boxptr_TplCodegen_fun__47(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isDefault)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isDefault);
_out_txt = omc_TplCodegen_fun__47(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_TplCodegen_mmStatements(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_stmts)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT31);
_out_txt = omc_TplCodegen_lm__45(threadData, _out_txt, _a_stmts);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__45(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmExp(threadData, _txt, _i_it, _OMC_LIT11);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_mmMatchingExp(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
{
modelica_metatype _txt = NULL;
modelica_string _i_value_1 = NULL;
modelica_metatype _i_rest = NULL;
modelica_metatype _i_head = NULL;
modelica_metatype _i_listElts = NULL;
modelica_metatype _i_tupleArgs = NULL;
modelica_metatype _i_value = NULL;
modelica_metatype _i_fieldMatchings = NULL;
modelica_metatype _i_tagName = NULL;
modelica_metatype _i_matchingExp = NULL;
modelica_string _i_bindIdent = NULL;
int tmp4;
{
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_bindIdent = tmpMeta5;
_i_matchingExp = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_bindIdent);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
_txt = omc_TplCodegen_mmMatchingExp(threadData, _txt, _i_matchingExp);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT8);
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_bindIdent = tmpMeta7;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_bindIdent);
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_tagName = tmpMeta8;
_i_fieldMatchings = tmpMeta9;
_txt = tmp4_1;
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_tagName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT6);
_txt = omc_TplCodegen_lm__41(threadData, _txt, _i_fieldMatchings);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT8);
goto tmp3_done;
}
case 6: {
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 = tmpMeta10;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT57);
_txt = omc_TplCodegen_mmMatchingExp(threadData, _txt, _i_value);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT8);
goto tmp3_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT59);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_tupleArgs = tmpMeta11;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT6);
_txt = omc_TplCodegen_lm__42(threadData, _txt, _i_tupleArgs);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT8);
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_listElts = tmpMeta12;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT61);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT6);
_txt = omc_TplCodegen_lm__43(threadData, _txt, _i_listElts);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT63);
goto tmp3_done;
}
case 10: {
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,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_head = tmpMeta13;
_i_rest = tmpMeta14;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmMatchingExp(threadData, _txt, _i_head);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT65);
_in_txt = _txt;
_in_a_it = _i_rest;
goto _tailrecursive;
goto tmp3_done;
}
case 11: {
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,1) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_value_1 = tmpMeta15;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _i_value_1, 1);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
goto tmp3_done;
}
case 12: {
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,2) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_value_1 = tmpMeta16;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_value_1);
goto tmp3_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT67);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
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_TplCodegen_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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmMatchingExp(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_lm__42(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmMatchingExp(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_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
{
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_mexp = NULL;
modelica_string _i_field = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_field = tmpMeta8;
_i_mexp = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_field);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT20);
_txt = omc_TplCodegen_mmMatchingExp(threadData, _txt, _i_mexp);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_mmExp(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it, modelica_string _in_a_assignStr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
tmp4_3 = _in_a_assignStr;
{
modelica_metatype _txt = NULL;
modelica_string _a_assignStr = NULL;
modelica_string _i_value_1 = NULL;
modelica_metatype _i_value = NULL;
modelica_metatype _i_ident = NULL;
modelica_metatype _i_args = NULL;
modelica_metatype _i_fnName = NULL;
modelica_metatype _i_rhs = NULL;
modelica_metatype _i_lhsArgs = NULL;
int tmp4;
{
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_lhsArgs = tmpMeta5;
_i_rhs = tmpMeta6;
_txt = tmp4_1;
_a_assignStr = tmp4_3;
_txt = omc_TplCodegen_fun__38(threadData, _txt, _i_lhsArgs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_assignStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_in_txt = _txt;
_in_a_it = _i_rhs;
_in_a_assignStr = _a_assignStr;
goto _tailrecursive;
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_fnName = tmpMeta7;
_i_args = tmpMeta8;
_txt = tmp4_1;
_a_assignStr = tmp4_3;
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_fnName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT6);
_txt = omc_TplCodegen_lm__39(threadData, _txt, _i_args, _a_assignStr);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT8);
goto tmp3_done;
}
case 5: {
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_ident = tmpMeta9;
_txt = tmp4_1;
tmpMeta1 = omc_TplCodegen_pathIdent(threadData, _txt, _i_ident);
goto tmp3_done;
}
case 6: {
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 = tmpMeta10;
_txt = tmp4_1;
tmpMeta1 = omc_TplCodegen_mmStringTokenConstant(threadData, _txt, _i_value);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_value_1 = tmpMeta11;
_txt = tmp4_1;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT18);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _i_value_1, 0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_value_1 = tmpMeta12;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_value_1);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
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_TplCodegen_lm__39(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_string _in_a_assignStr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_assignStr;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _a_assignStr = NULL;
modelica_metatype _i_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_assignStr = tmp4_3;
_txt = omc_TplCodegen_mmExp(threadData, _txt, _i_it, _a_assignStr);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_assignStr = _a_assignStr;
goto _tailrecursive;
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_TplCodegen_fun__38(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhsArgs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_lhsArgs;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_args = NULL;
modelica_string _i_id = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
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);
if (!listEmpty(tmpMeta7)) goto tmp3_end;
_i_id = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_id);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_args = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT6);
_txt = omc_TplCodegen_lm__37(threadData, _txt, _i_args);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT8);
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_TplCodegen_lm__37(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_mmEscapeStringConst(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_internalValue, modelica_boolean _a_escapeNewLine)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = stringListStringChar(_a_internalValue);
_out_txt = omc_TplCodegen_lm__35(threadData, _txt, _ret_0, _a_escapeNewLine);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_TplCodegen_mmEscapeStringConst(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_internalValue, modelica_metatype _a_escapeNewLine)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_escapeNewLine);
_out_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _a_internalValue, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__35(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_boolean _in_a_escapeNewLine)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_escapeNewLine;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_boolean _a_escapeNewLine;
modelica_string _i_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_escapeNewLine = tmp4_3;
_txt = omc_TplCodegen_fun__34(threadData, _txt, _i_it, _a_escapeNewLine);
_in_txt = _txt;
_in_items = _rest;
_in_a_escapeNewLine = _a_escapeNewLine;
goto _tailrecursive;
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_TplCodegen_lm__35(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_escapeNewLine)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_escapeNewLine);
_out_txt = omc_TplCodegen_lm__35(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__34(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_it, modelica_boolean _in_a_escapeNewLine)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
tmp4_3 = _in_a_escapeNewLine;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_escapeNewLine;
modelica_string _i_c = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT76), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT69);
goto tmp3_done;
}
case 1: {
if (1 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT77), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT71);
goto tmp3_done;
}
case 2: {
if (1 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT16), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT73);
goto tmp3_done;
}
case 3: {
if (1 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT44), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_escapeNewLine = tmp4_3;
tmpMeta1 = omc_TplCodegen_fun__33(threadData, _txt, _a_escapeNewLine);
goto tmp3_done;
}
case 4: {
if (1 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT78), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT75);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
_i_c = tmp4_2;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_c);
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_TplCodegen_fun__34(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it, modelica_metatype _in_a_escapeNewLine)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_escapeNewLine);
_out_txt = omc_TplCodegen_fun__34(threadData, _in_txt, _in_a_it, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__33(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_escapeNewLine)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_escapeNewLine;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT15);
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_TplCodegen_fun__33(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_escapeNewLine)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_escapeNewLine);
_out_txt = omc_TplCodegen_fun__33(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_TplCodegen_mmStringTokenConstant(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
{
modelica_metatype _txt = NULL;
modelica_boolean _i_lastHasNewLine;
modelica_metatype _i_strList = NULL;
modelica_string _i_line = NULL;
modelica_string _i_value = NULL;
int tmp4;
{
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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT80);
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_value = tmpMeta5;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT82);
_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _i_value, 1);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);
goto tmp3_done;
}
case 5: {
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_line = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);
_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _i_line, 1);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp9 = mmc_unbox_integer(tmpMeta8);
_i_strList = tmpMeta7;
_i_lastHasNewLine = tmp9;
_txt = tmp4_1;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT87);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT90);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT94);
_txt = omc_TplCodegen_lm__31(threadData, _txt, _i_strList);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);
_txt = omc_Tpl_writeStr(threadData, _txt, omc_Tpl_booleanString(threadData, _i_lastHasNewLine));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT8);
tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
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_TplCodegen_lm__31(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_TplCodegen_mmEscapeStringConst(threadData, _txt, _i_it, 1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_typeSig(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
{
modelica_metatype _txt = NULL;
modelica_string _i_reason = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_ofTypes = NULL;
modelica_metatype _i_ofType = NULL;
int tmp4;
{
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_ofType = tmpMeta5;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_ofType);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT100);
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_ofType = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT102);
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_ofType);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT100);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ofType = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT104);
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_ofType);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT100);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ofTypes = tmpMeta8;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT106);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT6);
_txt = omc_TplCodegen_lm__29(threadData, _txt, _i_ofTypes);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT100);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta9;
_txt = tmp4_1;
tmpMeta1 = omc_TplCodegen_pathIdent(threadData, _txt, _i_name);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT108);
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT110);
goto tmp3_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT112);
goto tmp3_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT114);
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT116);
goto tmp3_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT118);
goto tmp3_done;
}
case 14: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_reason = tmpMeta10;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT120);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_reason);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT122);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
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_TplCodegen_lm__29(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_typedIdentsEx(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_decls, modelica_string _a_typePrfx, modelica_string _a_idPrfx)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT31);
_out_txt = omc_TplCodegen_lm__27(threadData, _out_txt, _a_decls, _a_idPrfx, _a_typePrfx);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__27(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_string _in_a_idPrfx, modelica_string _in_a_typePrfx)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_idPrfx;
tmp4_4 = _in_a_typePrfx;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _a_idPrfx = NULL;
modelica_string _a_typePrfx = NULL;
modelica_string _i_id = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_id = tmpMeta8;
_i_ty = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_idPrfx = tmp4_3;
_a_typePrfx = tmp4_4;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_typePrfx);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_idPrfx);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_id);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_idPrfx = _a_idPrfx;
_in_a_typePrfx = _a_typePrfx;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_typedIdents(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_decls)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT31);
_out_txt = omc_TplCodegen_lm__25(threadData, _out_txt, _a_decls);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_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
{
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_id = NULL;
modelica_metatype _i_ts = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_id = tmpMeta8;
_i_ts = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_ts);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_id);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_mmPublic(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_it)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT124);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT126);
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_TplCodegen_mmPublic(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_it);
_out_txt = omc_TplCodegen_mmPublic(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_TplCodegen_pathIdent(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
{
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;
modelica_string _i_ident = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; 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_ident = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_ident);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (7 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT129), MMC_STRINGDATA(tmpMeta7)) != 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_path = tmpMeta8;
_txt = tmp4_1;
_in_txt = _txt;
_in_a_path = _i_path;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,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_ident = tmpMeta9;
_i_path = tmpMeta10;
_txt = tmp4_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT128);
_in_txt = _txt;
_in_a_path = _i_path;
goto _tailrecursive;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
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;
}
DLLExport
modelica_metatype omc_TplCodegen_mmMatchFunBody(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_inArgs, modelica_metatype _a_outArgs, modelica_metatype _a_locals, modelica_metatype _a_matchCases)
{
modelica_metatype _out_txt = NULL;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_out_txt = omc_TplCodegen_typedIdentsEx(threadData, _out_txt, _a_inArgs, _OMC_LIT130, _OMC_LIT131);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT5);
_out_txt = omc_TplCodegen_typedIdentsEx(threadData, _out_txt, _a_outArgs, _OMC_LIT132, _OMC_LIT133);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT135);
_ret_0 = omc_Tpl_debugSusan(threadData);
_out_txt = omc_TplCodegen_fun__11(threadData, _out_txt, _ret_0);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT27);
_out_txt = omc_TplCodegen_fun__13(threadData, _out_txt, _a_outArgs);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT140);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT6);
_out_txt = omc_TplCodegen_lm__14(threadData, _out_txt, _a_inArgs);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT145);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT90);
_out_txt = omc_TplCodegen_typedIdents(threadData, _out_txt, _a_locals);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT31);
_out_txt = omc_TplCodegen_lm__20(threadData, _out_txt, _a_matchCases, _a_outArgs);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT147);
_ret_1 = omc_Tpl_debugSusan(threadData);
_out_txt = omc_TplCodegen_fun__21(threadData, _out_txt, _ret_1);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__21(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
{
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;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT155);
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_TplCodegen_fun__21(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_TplCodegen_fun__21(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__20(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_outArgs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_outArgs;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_outArgs = NULL;
modelica_metatype _i_statements = NULL;
modelica_metatype _i_mexps = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_mexps = tmpMeta8;
_i_statements = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_outArgs = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT157);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT87);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT94);
_txt = omc_TplCodegen_lm__15(threadData, _txt, _i_mexps);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_TplCodegen_fun__17(threadData, _txt, _i_statements);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_TplCodegen_fun__19(threadData, _txt, _a_outArgs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_outArgs = _a_outArgs;
goto _tailrecursive;
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_TplCodegen_fun__19(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outArgs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outArgs;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_oas = NULL;
modelica_string _i_nm = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
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));
if (!listEmpty(tmpMeta7)) goto tmp3_end;
_i_nm = tmpMeta8;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_nm);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_oas = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT6);
_txt = omc_TplCodegen_lm__18(threadData, _txt, _i_oas);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT8);
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_TplCodegen_lm__18(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
{
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_nm = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
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));
_i_nm = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_nm);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_fun__17(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_statements)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_statements;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_statements = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_statements = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT163);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT31);
_txt = omc_TplCodegen_lm__16(threadData, _txt, _i_statements);
_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_TplCodegen_lm__16(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmExp(threadData, _txt, _i_it, _OMC_LIT11);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_lm__15(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmMatchingExp(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_lm__14(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
{
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_nm = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
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));
_i_nm = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT164);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_nm);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_fun__13(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outArgs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outArgs;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_outArgs = NULL;
modelica_string _i_nm = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
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));
if (!listEmpty(tmpMeta7)) goto tmp3_end;
_i_nm = tmpMeta8;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT165);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_nm);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_outArgs = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT6);
_txt = omc_TplCodegen_lm__12(threadData, _txt, _i_outArgs);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT8);
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_TplCodegen_lm__12(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
{
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_nm = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
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));
_i_nm = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT165);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_nm);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_fun__11(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
{
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;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
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_TplCodegen_fun__11(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_TplCodegen_fun__11(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_TplCodegen_mmDeclaration(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_mf_locals = NULL;
modelica_metatype _i_mf_outArgs = NULL;
modelica_metatype _i_mf_inArgs = NULL;
modelica_metatype _i_statements = NULL;
modelica_string _i_value_1 = NULL;
modelica_metatype _i_litType = NULL;
modelica_metatype _i_value = NULL;
modelica_string _i_name = NULL;
modelica_metatype _i_packageName = NULL;
modelica_boolean _i_isPublic;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 7; 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), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (3 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT178), MMC_STRINGDATA(tmpMeta7)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,0,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
if (7 != MMC_STRLEN(tmpMeta9) || strcmp(MMC_STRINGDATA(_OMC_LIT129), MMC_STRINGDATA(tmpMeta9)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
modelica_integer tmp11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp11 = mmc_unbox_integer(tmpMeta10);
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_isPublic = tmp11;
_i_packageName = tmpMeta12;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmPublic(threadData, _txt, _i_isPublic);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT171);
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_packageName);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta13;
modelica_integer tmp14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp14 = mmc_unbox_integer(tmpMeta13);
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_isPublic = tmp14;
_i_name = tmpMeta15;
_i_value = tmpMeta16;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_txt = omc_TplCodegen_mmPublic(threadData, _txt, _i_isPublic);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT173);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT20);
_txt = omc_TplCodegen_mmStringTokenConstant(threadData, _txt, _i_value);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta17;
modelica_integer tmp18;
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp18 = mmc_unbox_integer(tmpMeta17);
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_isPublic = tmp18;
_i_name = tmpMeta19;
_i_value_1 = tmpMeta20;
_i_litType = tmpMeta21;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_txt = omc_TplCodegen_mmPublic(threadData, _txt, _i_isPublic);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT175);
_txt = omc_TplCodegen_typeSig(threadData, _txt, _i_litType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT10);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT20);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_value_1);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta22;
modelica_integer tmp23;
modelica_metatype tmpMeta24;
modelica_metatype tmpMeta25;
modelica_metatype tmpMeta26;
modelica_metatype tmpMeta27;
modelica_metatype tmpMeta28;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,7) == 0) goto tmp3_end;
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp23 = mmc_unbox_integer(tmpMeta22);
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta27 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_isPublic = tmp23;
_i_name = tmpMeta24;
_i_mf_inArgs = tmpMeta25;
_i_mf_outArgs = tmpMeta26;
_i_mf_locals = tmpMeta27;
_i_statements = tmpMeta28;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_txt = omc_TplCodegen_mmPublic(threadData, _txt, _i_isPublic);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT177);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_TplCodegen_fun__9(threadData, _txt, _i_statements, _i_mf_locals, _i_mf_outArgs, _i_mf_inArgs);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT24);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
goto tmp3_done;
}
case 6: {
_txt = tmp4_1;
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_TplCodegen_fun__9(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_statements, modelica_metatype _in_a_mf_locals, modelica_metatype _in_a_mf_outArgs, modelica_metatype _in_a_mf_inArgs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
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_statements;
tmp4_3 = _in_a_mf_locals;
tmp4_4 = _in_a_mf_outArgs;
tmp4_5 = _in_a_mf_inArgs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_mf_locals = NULL;
modelica_metatype _a_mf_outArgs = NULL;
modelica_metatype _a_mf_inArgs = NULL;
modelica_metatype _i_sts = NULL;
modelica_metatype _i_c_matchCases = NULL;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,6,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (!listEmpty(tmpMeta7)) goto tmp3_end;
_i_c_matchCases = tmpMeta8;
_txt = tmp4_1;
_a_mf_locals = tmp4_3;
_a_mf_outArgs = tmp4_4;
_a_mf_inArgs = tmp4_5;
tmpMeta1 = omc_TplCodegen_mmMatchFunBody(threadData, _txt, _a_mf_inArgs, _a_mf_outArgs, _a_mf_locals, _i_c_matchCases);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_sts = tmp4_2;
_a_mf_locals = tmp4_3;
_a_mf_outArgs = tmp4_4;
_a_mf_inArgs = tmp4_5;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_TplCodegen_typedIdentsEx(threadData, _txt, _a_mf_inArgs, _OMC_LIT130, _OMC_LIT179);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_txt = omc_TplCodegen_typedIdentsEx(threadData, _txt, _a_mf_outArgs, _OMC_LIT132, _OMC_LIT133);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_TplCodegen_fun__5(threadData, _txt, _a_mf_locals);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT135);
_ret_0 = omc_Tpl_debugSusan(threadData);
_txt = omc_TplCodegen_fun__6(threadData, _txt, _ret_0);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT31);
_txt = omc_TplCodegen_lm__7(threadData, _txt, _i_sts);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_ret_1 = omc_Tpl_debugSusan(threadData);
tmpMeta1 = omc_TplCodegen_fun__8(threadData, _txt, _ret_1);
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_TplCodegen_fun__8(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
{
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;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT180);
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_TplCodegen_fun__8(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_TplCodegen_fun__8(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_lm__7(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmExp(threadData, _txt, _i_it, _OMC_LIT181);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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_TplCodegen_fun__6(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
{
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;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
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_TplCodegen_fun__6(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_TplCodegen_fun__6(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_TplCodegen_fun__5(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mf_locals)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_mf_locals;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_mf_locals = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_mf_locals = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT183);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_TplCodegen_typedIdents(threadData, _txt, _i_mf_locals);
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;
}
DLLExport
modelica_metatype omc_TplCodegen_mmPackage(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_it)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_it;
{
modelica_metatype _txt = NULL;
modelica_string _i_annotationFooter = NULL;
modelica_metatype _i_mmDeclarations = NULL;
modelica_metatype _i_name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
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_mmDeclarations = tmpMeta7;
_i_annotationFooter = tmpMeta8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT185);
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_name);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT187);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT27);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT189);
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT194);
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_name);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT196);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT201);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT31);
_txt = omc_TplCodegen_lm__3(threadData, _txt, _i_mmDeclarations);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_annotationFooter);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT24);
_txt = omc_TplCodegen_pathIdent(threadData, _txt, _i_name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT26);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
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_TplCodegen_lm__3(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
{
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_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
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_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_TplCodegen_mmDeclaration(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
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;
}
