#ifdef OMC_BASE_FILE
#define OMC_FILE OMC_BASE_FILE
#else
#define OMC_FILE "SCodeDumpTpl.c"
#endif
#include "omc_simulation_settings.h"
#include "SCodeDumpTpl.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,1,_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,3,3) {&Tpl_Text_MEM__TEXT__desc,MMC_REFSTRUCTLIT(mmc_nil),MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT4 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT4)
#define _OMC_LIT5_data "builtin"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT5,7,_OMC_LIT5_data);
#define _OMC_LIT5 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT5)
#define _OMC_LIT6_data ", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT6,2,_OMC_LIT6_data);
#define _OMC_LIT6 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT6)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT7,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT6}};
#define _OMC_LIT7 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT7)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT8,1,1) {_OMC_LIT7}};
#define _OMC_LIT8 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT8)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT9,1,3) {&Tpl_StringToken_ST__NEW__LINE__desc,}};
#define _OMC_LIT9 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT9)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT10,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT8,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT9,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT9}};
#define _OMC_LIT10 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT10)
#define _OMC_LIT11_data "external"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT11,8,_OMC_LIT11_data);
#define _OMC_LIT11 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT11)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT12,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT11}};
#define _OMC_LIT12 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT12)
#define _OMC_LIT13_data ";"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT13,1,_OMC_LIT13_data);
#define _OMC_LIT13 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT13)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT14,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT13}};
#define _OMC_LIT14 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT14)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT15,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT15 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT15)
#define _OMC_LIT16_data " ="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT16,2,_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)
#define _OMC_LIT18_data "("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT18,1,_OMC_LIT18_data);
#define _OMC_LIT18 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT18)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT19,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT18}};
#define _OMC_LIT19 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT19)
#define _OMC_LIT20_data ")"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT20,1,_OMC_LIT20_data);
#define _OMC_LIT20 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT20)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT21,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT20}};
#define _OMC_LIT21 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT21)
#define _OMC_LIT22_data "annotation"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT22,10,_OMC_LIT22_data);
#define _OMC_LIT22 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT22)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT23,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT22}};
#define _OMC_LIT23 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT23)
#define _OMC_LIT24_data "input "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT24,6,_OMC_LIT24_data);
#define _OMC_LIT24 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT24)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT25,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT24}};
#define _OMC_LIT25 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT25)
#define _OMC_LIT26_data "output "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT26,7,_OMC_LIT26_data);
#define _OMC_LIT26 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT26)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT27,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT26}};
#define _OMC_LIT27 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT27)
#define _OMC_LIT28_data "input output "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT28,13,_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)
#define _OMC_LIT30_data "discrete "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT30,9,_OMC_LIT30_data);
#define _OMC_LIT30 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT30)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT31,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT30}};
#define _OMC_LIT31 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT31)
#define _OMC_LIT32_data "parameter "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT32,10,_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 "constant "
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 "parglobal "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT36,10,_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 "parlocal "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT38,9,_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 "flow "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT40,5,_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 "stream "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT42,7,_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 "choices"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT44,7,_OMC_LIT44_data);
#define _OMC_LIT44 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT44)
#define _OMC_LIT45_data "Documentation"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT45,13,_OMC_LIT45_data);
#define _OMC_LIT45 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT45)
#define _OMC_LIT46_data "Dialog"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT46,6,_OMC_LIT46_data);
#define _OMC_LIT46 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT46)
#define _OMC_LIT47_data "Diagram"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT47,7,_OMC_LIT47_data);
#define _OMC_LIT47 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT47)
#define _OMC_LIT48_data "Icon"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT48,4,_OMC_LIT48_data);
#define _OMC_LIT48 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT48)
#define _OMC_LIT49_data "Line"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT49,4,_OMC_LIT49_data);
#define _OMC_LIT49 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT49)
#define _OMC_LIT50_data "Placement"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT50,9,_OMC_LIT50_data);
#define _OMC_LIT50 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT50)
#define _OMC_LIT51_data "preferredView"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT51,13,_OMC_LIT51_data);
#define _OMC_LIT51 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT51)
#define _OMC_LIT52_data "conversion"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT52,10,_OMC_LIT52_data);
#define _OMC_LIT52 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT52)
#define _OMC_LIT53_data "defaultComponentName"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT53,20,_OMC_LIT53_data);
#define _OMC_LIT53 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT53)
#define _OMC_LIT54_data "revisionId"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT54,10,_OMC_LIT54_data);
#define _OMC_LIT54 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT54)
#define _OMC_LIT55_data "uses"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT55,4,_OMC_LIT55_data);
#define _OMC_LIT55 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT55)
#define _OMC_LIT56_data "= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT56,2,_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 "operator function"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT58,17,_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 "function"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT60,8,_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 "SCodeDump.dumpFunctionRestriction: Unknown Function restriction."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT62,64,_OMC_LIT62_data);
#define _OMC_LIT62 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT62)
#define _OMC_LIT63_data "impure function"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT63,15,_OMC_LIT63_data);
#define _OMC_LIT63 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT63)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT64,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT63}};
#define _OMC_LIT64 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT64)
#define _OMC_LIT65_data "<"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT65,1,_OMC_LIT65_data);
#define _OMC_LIT65 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT65)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT66,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT65}};
#define _OMC_LIT66 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT66)
#define _OMC_LIT67_data ","
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT67,1,_OMC_LIT67_data);
#define _OMC_LIT67 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT67)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT68,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT67}};
#define _OMC_LIT68 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT68)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT69,1,1) {_OMC_LIT68}};
#define _OMC_LIT69 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT69)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT70,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT69,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT9,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT9}};
#define _OMC_LIT70 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT70)
#define _OMC_LIT71_data ">"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT71,1,_OMC_LIT71_data);
#define _OMC_LIT71 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT71)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT72,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT71}};
#define _OMC_LIT72 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT72)
#define _OMC_LIT73_data "class"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT73,5,_OMC_LIT73_data);
#define _OMC_LIT73 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT73)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT74,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT73}};
#define _OMC_LIT74 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT74)
#define _OMC_LIT75_data "optimization"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT75,12,_OMC_LIT75_data);
#define _OMC_LIT75 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT75)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT76,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT75}};
#define _OMC_LIT76 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT76)
#define _OMC_LIT77_data "model"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT77,5,_OMC_LIT77_data);
#define _OMC_LIT77 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT77)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT78,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT77}};
#define _OMC_LIT78 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT78)
#define _OMC_LIT79_data "operator"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT79,8,_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 "block"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT81,5,_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 "type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT83,4,_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 "package"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT85,7,_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)
#define _OMC_LIT87_data "enumeration"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT87,11,_OMC_LIT87_data);
#define _OMC_LIT87 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT87)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT88,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT87}};
#define _OMC_LIT88 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT88)
#define _OMC_LIT89_data "IntegerType"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT89,11,_OMC_LIT89_data);
#define _OMC_LIT89 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT89)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT90,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT89}};
#define _OMC_LIT90 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT90)
#define _OMC_LIT91_data "RealType"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT91,8,_OMC_LIT91_data);
#define _OMC_LIT91 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT91)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT92,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT91}};
#define _OMC_LIT92 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT92)
#define _OMC_LIT93_data "StringType"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT93,10,_OMC_LIT93_data);
#define _OMC_LIT93 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT93)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT94,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT93}};
#define _OMC_LIT94 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT94)
#define _OMC_LIT95_data "BooleanType"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT95,11,_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 "EnumType"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT97,8,_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 "record"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT99,6,_OMC_LIT99_data);
#define _OMC_LIT99 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT99)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT100,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT99}};
#define _OMC_LIT100 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT100)
#define _OMC_LIT101_data "uniontype"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT101,9,_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 "SCodeDump.dumpRestriction: Unknown restriction."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT103,47,_OMC_LIT103_data);
#define _OMC_LIT103 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT103)
#define _OMC_LIT104_data "connector"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT104,9,_OMC_LIT104_data);
#define _OMC_LIT104 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT104)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT105,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT104}};
#define _OMC_LIT105 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT105)
#define _OMC_LIT106_data "expandable connector"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT106,20,_OMC_LIT106_data);
#define _OMC_LIT106 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT106)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT107,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT106}};
#define _OMC_LIT107 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT107)
#define _OMC_LIT108_data "operator record"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT108,15,_OMC_LIT108_data);
#define _OMC_LIT108 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT108)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT109,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT108}};
#define _OMC_LIT109 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT109)
#define _OMC_LIT110_data "partial "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT110,8,_OMC_LIT110_data);
#define _OMC_LIT110 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT110)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT111,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT110}};
#define _OMC_LIT111 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT111)
#define _OMC_LIT112_data "encapsulated "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT112,13,_OMC_LIT112_data);
#define _OMC_LIT112 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT112)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT113,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT112}};
#define _OMC_LIT113 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT113)
#define _OMC_LIT114_data "each "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT114,5,_OMC_LIT114_data);
#define _OMC_LIT114 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT114)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT115,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT114}};
#define _OMC_LIT115 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT115)
#define _OMC_LIT116_data "constrainedby "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT116,14,_OMC_LIT116_data);
#define _OMC_LIT116 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT116)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT117,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT116}};
#define _OMC_LIT117 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT117)
#define _OMC_LIT118_data "replaceable "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT118,12,_OMC_LIT118_data);
#define _OMC_LIT118 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT118)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT119,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT118}};
#define _OMC_LIT119 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT119)
#define _OMC_LIT120_data "inner "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT120,6,_OMC_LIT120_data);
#define _OMC_LIT120 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT120)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT121,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT120}};
#define _OMC_LIT121 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT121)
#define _OMC_LIT122_data "outer "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT122,6,_OMC_LIT122_data);
#define _OMC_LIT122 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT122)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT123,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT122}};
#define _OMC_LIT123 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT123)
#define _OMC_LIT124_data "inner outer "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT124,12,_OMC_LIT124_data);
#define _OMC_LIT124 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT124)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT125,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT124}};
#define _OMC_LIT125 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT125)
#define _OMC_LIT126_data "final "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT126,6,_OMC_LIT126_data);
#define _OMC_LIT126 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT126)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT127,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT126}};
#define _OMC_LIT127 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT127)
#define _OMC_LIT128_data "redeclare "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT128,10,_OMC_LIT128_data);
#define _OMC_LIT128 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT128)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT129,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT128}};
#define _OMC_LIT129 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT129)
#define _OMC_LIT130_data "protected "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT130,10,_OMC_LIT130_data);
#define _OMC_LIT130 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT130)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT131,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT130}};
#define _OMC_LIT131 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT131)
#define _OMC_LIT132_data "try\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT132,4,_OMC_LIT132_data);
#define _OMC_LIT132 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT132)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT133,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT132}};
#define _OMC_LIT133 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT133)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT134,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2))}};
#define _OMC_LIT134 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT134)
#define _OMC_LIT135_data "else\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT135,5,_OMC_LIT135_data);
#define _OMC_LIT135 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT135)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT136,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT135}};
#define _OMC_LIT136 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT136)
#define _OMC_LIT137_data "end try"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT137,7,_OMC_LIT137_data);
#define _OMC_LIT137 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT137)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT138,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT137}};
#define _OMC_LIT138 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT138)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT139,1,1) {_OMC_LIT9}};
#define _OMC_LIT139 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT139)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT140,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT139,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT9,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT9}};
#define _OMC_LIT140 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT140)
#define _OMC_LIT141_data "when "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT141,5,_OMC_LIT141_data);
#define _OMC_LIT141 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT141)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT142,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT141}};
#define _OMC_LIT142 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT142)
#define _OMC_LIT143_data " then\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT143,6,_OMC_LIT143_data);
#define _OMC_LIT143 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT143)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT144,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT143}};
#define _OMC_LIT144 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT144)
#define _OMC_LIT145_data "end when"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT145,8,_OMC_LIT145_data);
#define _OMC_LIT145 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT145)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT146,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT145}};
#define _OMC_LIT146 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT146)
#define _OMC_LIT147_data "elsewhen "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT147,9,_OMC_LIT147_data);
#define _OMC_LIT147 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT147)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT148,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT147}};
#define _OMC_LIT148 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT148)
#define _OMC_LIT149_data "while "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT149,6,_OMC_LIT149_data);
#define _OMC_LIT149 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT149)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT150,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT149}};
#define _OMC_LIT150 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT150)
#define _OMC_LIT151_data " loop\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT151,6,_OMC_LIT151_data);
#define _OMC_LIT151 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT151)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT152,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT151}};
#define _OMC_LIT152 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT152)
#define _OMC_LIT153_data "end while"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT153,9,_OMC_LIT153_data);
#define _OMC_LIT153 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT153)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT154,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT153}};
#define _OMC_LIT154 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT154)
#define _OMC_LIT155_data "for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT155,4,_OMC_LIT155_data);
#define _OMC_LIT155 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT155)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT156,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT155}};
#define _OMC_LIT156 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT156)
#define _OMC_LIT157_data " in "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT157,4,_OMC_LIT157_data);
#define _OMC_LIT157 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT157)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT158,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT157}};
#define _OMC_LIT158 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT158)
#define _OMC_LIT159_data "end for"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT159,7,_OMC_LIT159_data);
#define _OMC_LIT159 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT159)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT160,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT159}};
#define _OMC_LIT160 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT160)
#define _OMC_LIT161_data "elseif "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT161,7,_OMC_LIT161_data);
#define _OMC_LIT161 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT161)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT162,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT161}};
#define _OMC_LIT162 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT162)
#define _OMC_LIT163_data "if "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT163,3,_OMC_LIT163_data);
#define _OMC_LIT163 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT163)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT164,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT163}};
#define _OMC_LIT164 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT164)
#define _OMC_LIT165_data "end if"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT165,6,_OMC_LIT165_data);
#define _OMC_LIT165 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT165)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT166,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT165}};
#define _OMC_LIT166 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT166)
#define _OMC_LIT167_data " := "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT167,4,_OMC_LIT167_data);
#define _OMC_LIT167 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT167)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT168,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT167}};
#define _OMC_LIT168 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT168)
#define _OMC_LIT169_data "assert("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT169,7,_OMC_LIT169_data);
#define _OMC_LIT169 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT169)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT170,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT169}};
#define _OMC_LIT170 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT170)
#define _OMC_LIT171_data ");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT171,2,_OMC_LIT171_data);
#define _OMC_LIT171 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT171)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT172,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT171}};
#define _OMC_LIT172 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT172)
#define _OMC_LIT173_data "terminate("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT173,10,_OMC_LIT173_data);
#define _OMC_LIT173 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT173)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT174,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT173}};
#define _OMC_LIT174 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT174)
#define _OMC_LIT175_data "reinit("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT175,7,_OMC_LIT175_data);
#define _OMC_LIT175 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT175)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT176,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT175}};
#define _OMC_LIT176 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT176)
#define _OMC_LIT177_data "return"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT177,6,_OMC_LIT177_data);
#define _OMC_LIT177 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT177)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT178,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT177}};
#define _OMC_LIT178 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT178)
#define _OMC_LIT179_data "break"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT179,5,_OMC_LIT179_data);
#define _OMC_LIT179 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT179)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT180,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT179}};
#define _OMC_LIT180 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT180)
#define _OMC_LIT181_data "failure("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT181,8,_OMC_LIT181_data);
#define _OMC_LIT181 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT181)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT182,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT181}};
#define _OMC_LIT182 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT182)
#define _OMC_LIT183_data "continue"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT183,8,_OMC_LIT183_data);
#define _OMC_LIT183 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT183)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT184,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT183}};
#define _OMC_LIT184 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT184)
#define _OMC_LIT185_data "SCodeDump.dumpStatement: Unknown statement."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT185,43,_OMC_LIT185_data);
#define _OMC_LIT185 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT185)
#define _OMC_LIT186_data "AssertionLevel"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT186,14,_OMC_LIT186_data);
#define _OMC_LIT186 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT186)
#define _OMC_LIT187_data "error"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT187,5,_OMC_LIT187_data);
#define _OMC_LIT187 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT187)
#define _OMC_LIT188_data " = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT188,3,_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 "connect("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT190,8,_OMC_LIT190_data);
#define _OMC_LIT190 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT190)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT191,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT190}};
#define _OMC_LIT191 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT191)
#define _OMC_LIT192_data "SCodeDump.dumpEquation: Unknown Equation."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT192,41,_OMC_LIT192_data);
#define _OMC_LIT192 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT192)
#define _OMC_LIT193_data "defineunit "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT193,11,_OMC_LIT193_data);
#define _OMC_LIT193 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT193)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT194,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT193}};
#define _OMC_LIT194 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT194)
#define _OMC_LIT195_data "weight = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT195,9,_OMC_LIT195_data);
#define _OMC_LIT195 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT195)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT196,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT195}};
#define _OMC_LIT196 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT196)
#define _OMC_LIT197_data "exp = \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT197,7,_OMC_LIT197_data);
#define _OMC_LIT197 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT197)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT198,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT197}};
#define _OMC_LIT198 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT198)
#define _OMC_LIT199_data " end "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT199,5,_OMC_LIT199_data);
#define _OMC_LIT199 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT199)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT200,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT199}};
#define _OMC_LIT200 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT200)
#define _OMC_LIT201_data "end "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT201,4,_OMC_LIT201_data);
#define _OMC_LIT201 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT201)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT202,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT201}};
#define _OMC_LIT202 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT202)
#define _OMC_LIT203_data ""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT203,0,_OMC_LIT203_data);
#define _OMC_LIT203 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT203)
#define _OMC_LIT204_data "equation"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT204,8,_OMC_LIT204_data);
#define _OMC_LIT204 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT204)
#define _OMC_LIT205_data "initial equation"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT205,16,_OMC_LIT205_data);
#define _OMC_LIT205 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT205)
#define _OMC_LIT206_data "= enumeration("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT206,14,_OMC_LIT206_data);
#define _OMC_LIT206 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT206)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT207,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT206}};
#define _OMC_LIT207 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT207)
#define _OMC_LIT208_data "= der("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT208,6,_OMC_LIT208_data);
#define _OMC_LIT208 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT208)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT209,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT208}};
#define _OMC_LIT209 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT209)
#define _OMC_LIT210_data "= overload("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT210,11,_OMC_LIT210_data);
#define _OMC_LIT210 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT210)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT211,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT210}};
#define _OMC_LIT211 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT211)
#define _OMC_LIT212_data "SCodeDump.dumpClassDef: Unknown class definition."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT212,49,_OMC_LIT212_data);
#define _OMC_LIT212 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT212)
#define _OMC_LIT213_data ":"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT213,1,_OMC_LIT213_data);
#define _OMC_LIT213 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT213)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT214,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT213}};
#define _OMC_LIT214 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT214)
#define _OMC_LIT215_data "initial algorithm"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT215,17,_OMC_LIT215_data);
#define _OMC_LIT215 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT215)
#define _OMC_LIT216_data "algorithm"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT216,9,_OMC_LIT216_data);
#define _OMC_LIT216 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT216)
#define _OMC_LIT217_data "extends "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT217,8,_OMC_LIT217_data);
#define _OMC_LIT217 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT217)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT218,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT217}};
#define _OMC_LIT218 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT218)
#define _OMC_LIT219_data "import "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT219,7,_OMC_LIT219_data);
#define _OMC_LIT219 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT219)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT220,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT219}};
#define _OMC_LIT220 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT220)
#define _OMC_LIT221_data ".*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT221,2,_OMC_LIT221_data);
#define _OMC_LIT221 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT221)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT222,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT221}};
#define _OMC_LIT222 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT222)
#define _OMC_LIT223_data "SCodeDump.dumpImport: Unknown import."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT223,37,_OMC_LIT223_data);
#define _OMC_LIT223 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT223)
#define _OMC_LIT224_data "protected"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT224,9,_OMC_LIT224_data);
#define _OMC_LIT224 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT224)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT225,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT224}};
#define _OMC_LIT225 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT225)
#define _OMC_LIT226_data "public"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT226,6,_OMC_LIT226_data);
#define _OMC_LIT226 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT226)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT227,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT226}};
#define _OMC_LIT227 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT227)
#define _OMC_LIT228_data "SCodeDump.dumpElement: Unknown element."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT228,39,_OMC_LIT228_data);
#define _OMC_LIT228 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT228)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT229,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),MMC_REFSTRUCTLIT(mmc_none),MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT9,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT9}};
#define _OMC_LIT229 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT229)
#include "util/modelica.h"
#include "SCodeDumpTpl_includes.h"
#if !defined(PROTECTED_FUNCTION_STATIC)
#define PROTECTED_FUNCTION_STATIC
#endif
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__150(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_comment);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__150,2,0) {(void*) boxptr_SCodeDumpTpl_fun__150,0}};
#define boxvar_SCodeDumpTpl_fun__150 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__150)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__149(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comment);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__149,2,0) {(void*) boxptr_SCodeDumpTpl_fun__149,0}};
#define boxvar_SCodeDumpTpl_fun__149 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__149)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__145(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_externalDecl, modelica_metatype _in_a_options, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__145,2,0) {(void*) boxptr_SCodeDumpTpl_fun__145,0}};
#define boxvar_SCodeDumpTpl_fun__145 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__145)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__144(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__144,2,0) {(void*) boxptr_SCodeDumpTpl_fun__144,0}};
#define boxvar_SCodeDumpTpl_fun__144 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__144)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__143(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_externalDecl, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__143,2,0) {(void*) boxptr_SCodeDumpTpl_fun__143,0}};
#define boxvar_SCodeDumpTpl_fun__143 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__143)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__142(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_output__);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__142,2,0) {(void*) boxptr_SCodeDumpTpl_fun__142,0}};
#define boxvar_SCodeDumpTpl_fun__142 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__142)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__141(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lang);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__141,2,0) {(void*) boxptr_SCodeDumpTpl_fun__141,0}};
#define boxvar_SCodeDumpTpl_fun__141 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__141)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__140(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_func__name__str, modelica_metatype _in_a_func__args__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__140,2,0) {(void*) boxptr_SCodeDumpTpl_fun__140,0}};
#define boxvar_SCodeDumpTpl_fun__140 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__140)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__139(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__139,2,0) {(void*) boxptr_SCodeDumpTpl_lm__139,0}};
#define boxvar_SCodeDumpTpl_lm__139 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__139)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__138(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_funcName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__138,2,0) {(void*) boxptr_SCodeDumpTpl_fun__138,0}};
#define boxvar_SCodeDumpTpl_fun__138 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__138)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__135(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_annstr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__135,2,0) {(void*) boxptr_SCodeDumpTpl_fun__135,0}};
#define boxvar_SCodeDumpTpl_fun__135 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__135)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__133(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_modifStr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__133,2,0) {(void*) boxptr_SCodeDumpTpl_fun__133,0}};
#define boxvar_SCodeDumpTpl_fun__133 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__133)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__124(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_mod, modelica_metatype _in_a_options, modelica_metatype _in_a_nameMod, modelica_string _in_a_ident);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__124(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_mod, modelica_metatype _in_a_options, modelica_metatype _in_a_nameMod, modelica_metatype _in_a_ident);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__124,2,0) {(void*) boxptr_SCodeDumpTpl_fun__124,0}};
#define boxvar_SCodeDumpTpl_fun__124 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__124)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__123(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ident, modelica_metatype _in_a_options, modelica_metatype _in_a_nameMod);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__123,2,0) {(void*) boxptr_SCodeDumpTpl_fun__123,0}};
#define boxvar_SCodeDumpTpl_fun__123 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__123)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__117(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_text);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__117,2,0) {(void*) boxptr_SCodeDumpTpl_fun__117,0}};
#define boxvar_SCodeDumpTpl_fun__117 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__117)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__116(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__116,2,0) {(void*) boxptr_SCodeDumpTpl_lm__116,0}};
#define boxvar_SCodeDumpTpl_lm__116 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__116)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__114(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subModLst, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__114,2,0) {(void*) boxptr_SCodeDumpTpl_fun__114,0}};
#define boxvar_SCodeDumpTpl_fun__114 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__114)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__113(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__113,2,0) {(void*) boxptr_SCodeDumpTpl_lm__113,0}};
#define boxvar_SCodeDumpTpl_lm__113 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__113)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__111(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isImpure);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__111(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isImpure);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__111,2,0) {(void*) boxptr_SCodeDumpTpl_fun__111,0}};
#define boxvar_SCodeDumpTpl_fun__111 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__111)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__110(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isImpure);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__110(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isImpure);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__110,2,0) {(void*) boxptr_SCodeDumpTpl_fun__110,0}};
#define boxvar_SCodeDumpTpl_fun__110 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__110)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__108(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_typeVars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__108,2,0) {(void*) boxptr_SCodeDumpTpl_fun__108,0}};
#define boxvar_SCodeDumpTpl_fun__108 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__108)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__107(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__107,2,0) {(void*) boxptr_SCodeDumpTpl_lm__107,0}};
#define boxvar_SCodeDumpTpl_lm__107 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__107)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__105(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isExpandable);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__105(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isExpandable);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__105,2,0) {(void*) boxptr_SCodeDumpTpl_fun__105,0}};
#define boxvar_SCodeDumpTpl_fun__105 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__105)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__104(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isOperator);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__104(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isOperator);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__104,2,0) {(void*) boxptr_SCodeDumpTpl_fun__104,0}};
#define boxvar_SCodeDumpTpl_fun__104 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__104)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__91,2,0) {(void*) boxptr_SCodeDumpTpl_lm__91,0}};
#define boxvar_SCodeDumpTpl_lm__91 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__91)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__87(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__87,2,0) {(void*) boxptr_SCodeDumpTpl_lm__87,0}};
#define boxvar_SCodeDumpTpl_lm__87 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__87)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__83(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__83,2,0) {(void*) boxptr_SCodeDumpTpl_lm__83,0}};
#define boxvar_SCodeDumpTpl_lm__83 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__83)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__80(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__80,2,0) {(void*) boxptr_SCodeDumpTpl_lm__80,0}};
#define boxvar_SCodeDumpTpl_lm__80 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__80)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__77,2,0) {(void*) boxptr_SCodeDumpTpl_lm__77,0}};
#define boxvar_SCodeDumpTpl_lm__77 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__77)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__76(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__76,2,0) {(void*) boxptr_SCodeDumpTpl_lm__76,0}};
#define boxvar_SCodeDumpTpl_lm__76 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__76)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__75(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__75,2,0) {(void*) boxptr_SCodeDumpTpl_lm__75,0}};
#define boxvar_SCodeDumpTpl_lm__75 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__75)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__73(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__73,2,0) {(void*) boxptr_SCodeDumpTpl_lm__73,0}};
#define boxvar_SCodeDumpTpl_lm__73 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__73)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__72(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__72,2,0) {(void*) boxptr_SCodeDumpTpl_lm__72,0}};
#define boxvar_SCodeDumpTpl_lm__72 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__72)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__70(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_branches, modelica_metatype _in_a_rest__conds, modelica_metatype _in_a_options, modelica_metatype _in_a_cond);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__70,2,0) {(void*) boxptr_SCodeDumpTpl_fun__70,0}};
#define boxvar_SCodeDumpTpl_fun__70 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__70)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__69(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__69,2,0) {(void*) boxptr_SCodeDumpTpl_lm__69,0}};
#define boxvar_SCodeDumpTpl_lm__69 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__69)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__67(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_elseBranch, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__67,2,0) {(void*) boxptr_SCodeDumpTpl_fun__67,0}};
#define boxvar_SCodeDumpTpl_fun__67 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__67)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__66(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__66,2,0) {(void*) boxptr_SCodeDumpTpl_lm__66,0}};
#define boxvar_SCodeDumpTpl_lm__66 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__66)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__65,2,0) {(void*) boxptr_SCodeDumpTpl_lm__65,0}};
#define boxvar_SCodeDumpTpl_lm__65 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__65)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__62(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__62,2,0) {(void*) boxptr_SCodeDumpTpl_lm__62,0}};
#define boxvar_SCodeDumpTpl_lm__62 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__62)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__59(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__59,2,0) {(void*) boxptr_SCodeDumpTpl_fun__59,0}};
#define boxvar_SCodeDumpTpl_fun__59 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__59)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__58(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__58,2,0) {(void*) boxptr_SCodeDumpTpl_fun__58,0}};
#define boxvar_SCodeDumpTpl_fun__58 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__58)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_smf__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_it);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_smf__57,2,0) {(void*) boxptr_SCodeDumpTpl_smf__57,0}};
#define boxvar_SCodeDumpTpl_smf__57 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_smf__57)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_smf__56(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_it);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_smf__56,2,0) {(void*) boxptr_SCodeDumpTpl_smf__56,0}};
#define boxvar_SCodeDumpTpl_smf__56 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_smf__56)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__55(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_weight);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__55,2,0) {(void*) boxptr_SCodeDumpTpl_fun__55,0}};
#define boxvar_SCodeDumpTpl_fun__55 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__55)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__54(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__54,2,0) {(void*) boxptr_SCodeDumpTpl_fun__54,0}};
#define boxvar_SCodeDumpTpl_fun__54 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__54)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__52(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_condition);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__52,2,0) {(void*) boxptr_SCodeDumpTpl_fun__52,0}};
#define boxvar_SCodeDumpTpl_fun__52 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__52)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__51(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_attributes, modelica_metatype _in_a_mod__str1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__51,2,0) {(void*) boxptr_SCodeDumpTpl_fun__51,0}};
#define boxvar_SCodeDumpTpl_fun__51 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__51)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__50(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attributes, modelica_metatype _in_a_mod__str1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__50,2,0) {(void*) boxptr_SCodeDumpTpl_fun__50,0}};
#define boxvar_SCodeDumpTpl_fun__50 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__50)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__46(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_cdefStr, modelica_string _in_a_cc__str, modelica_string _in_a_name, modelica_metatype _in_a_annstr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__46,2,0) {(void*) boxptr_SCodeDumpTpl_fun__46,0}};
#define boxvar_SCodeDumpTpl_fun__46 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__46)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__45(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_annstr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__45,2,0) {(void*) boxptr_SCodeDumpTpl_fun__45,0}};
#define boxvar_SCodeDumpTpl_fun__45 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__45)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__44(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ann);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__44,2,0) {(void*) boxptr_SCodeDumpTpl_fun__44,0}};
#define boxvar_SCodeDumpTpl_fun__44 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__44)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__42(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__42,2,0) {(void*) boxptr_SCodeDumpTpl_lm__42,0}};
#define boxvar_SCodeDumpTpl_lm__42 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__42)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__41(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__41,2,0) {(void*) boxptr_SCodeDumpTpl_lm__41,0}};
#define boxvar_SCodeDumpTpl_lm__41 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__41)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__40(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_enumLst, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__40,2,0) {(void*) boxptr_SCodeDumpTpl_fun__40,0}};
#define boxvar_SCodeDumpTpl_fun__40 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__40)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__39(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__39,2,0) {(void*) boxptr_SCodeDumpTpl_lm__39,0}};
#define boxvar_SCodeDumpTpl_lm__39 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__39)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__38(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_p_initialAlgorithmLst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__38,2,0) {(void*) boxptr_SCodeDumpTpl_fun__38,0}};
#define boxvar_SCodeDumpTpl_fun__38 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__38)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__37(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_p_normalAlgorithmLst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__37,2,0) {(void*) boxptr_SCodeDumpTpl_fun__37,0}};
#define boxvar_SCodeDumpTpl_fun__37 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__37)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__32(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_imp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__32,2,0) {(void*) boxptr_SCodeDumpTpl_fun__32,0}};
#define boxvar_SCodeDumpTpl_fun__32 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__32)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__30(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_inPublicSection);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__30(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inPublicSection);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__30,2,0) {(void*) boxptr_SCodeDumpTpl_fun__30,0}};
#define boxvar_SCodeDumpTpl_fun__30 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__30)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__29(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_inPublicSection);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__29(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inPublicSection);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__29,2,0) {(void*) boxptr_SCodeDumpTpl_fun__29,0}};
#define boxvar_SCodeDumpTpl_fun__29 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__29)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__26(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_element, modelica_metatype _in_a_options);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__26,2,0) {(void*) boxptr_SCodeDumpTpl_fun__26,0}};
#define boxvar_SCodeDumpTpl_fun__26 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__26)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__25(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_element);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__25,2,0) {(void*) boxptr_SCodeDumpTpl_fun__25,0}};
#define boxvar_SCodeDumpTpl_fun__25 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__25)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__21(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_prevSpacing, modelica_string _in_a_curSpacing);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__21(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_prevSpacing, modelica_metatype _in_a_curSpacing);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__21,2,0) {(void*) boxptr_SCodeDumpTpl_fun__21,0}};
#define boxvar_SCodeDumpTpl_fun__21 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__21)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__19(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_boolean _in_a_indent, modelica_integer _in_a_numElements, modelica_metatype _in_a_inPublicSection, modelica_metatype _in_a_options, modelica_metatype _in_a_prevSpacing);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_lm__19(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_indent, modelica_metatype _in_a_numElements, modelica_metatype _in_a_inPublicSection, modelica_metatype _in_a_options, modelica_metatype _in_a_prevSpacing);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__19,2,0) {(void*) boxptr_SCodeDumpTpl_lm__19,0}};
#define boxvar_SCodeDumpTpl_lm__19 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_lm__19)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__18(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_indent, modelica_metatype _in_a_post__spacing, modelica_metatype _in_a_el__str, modelica_metatype _in_a_vis__str, modelica_metatype _in_a_pre__spacing);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__18(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_indent, modelica_metatype _in_a_post__spacing, modelica_metatype _in_a_el__str, modelica_metatype _in_a_vis__str, modelica_metatype _in_a_pre__spacing);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__18,2,0) {(void*) boxptr_SCodeDumpTpl_fun__18,0}};
#define boxvar_SCodeDumpTpl_fun__18 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__18)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__17(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_spacing, modelica_metatype _in_a_prevSpacing);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__17(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_spacing, modelica_metatype _in_a_prevSpacing);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__17,2,0) {(void*) boxptr_SCodeDumpTpl_fun__17,0}};
#define boxvar_SCodeDumpTpl_fun__17 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__17)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__16(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_spacing, modelica_metatype _in_a_prevSpacing);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__16,2,0) {(void*) boxptr_SCodeDumpTpl_fun__16,0}};
#define boxvar_SCodeDumpTpl_fun__16 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__16)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__15(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_vis__str, modelica_metatype _in_a_inPublicSection);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__15,2,0) {(void*) boxptr_SCodeDumpTpl_fun__15,0}};
#define boxvar_SCodeDumpTpl_fun__15 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__15)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__14(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_prevSpacing, modelica_metatype _in_a_spacing);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__14(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_prevSpacing, modelica_metatype _in_a_spacing);
static const MMC_DEFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__14,2,0) {(void*) boxptr_SCodeDumpTpl_fun__14,0}};
#define boxvar_SCodeDumpTpl_fun__14 MMC_REFSTRUCTLIT(boxvar_lit_SCodeDumpTpl_fun__14)
DLLExport
modelica_metatype omc_SCodeDumpTpl_errorMsg(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_errMessage)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
omc_Tpl_addTemplateError(threadData, _a_errMessage);
_out_txt = omc_Tpl_writeStr(threadData, _txt, _a_errMessage);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpCommentStr(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_comment, modelica_metatype _a_options)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_SCodeDumpTpl_fun__150(threadData, _txt, _a_options, _a_comment);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__150(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_comment)
{
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_a_options;
tmp4_3 = _in_a_comment;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_comment = 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_integer tmp7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (0 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_comment = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_fun__149(threadData, _txt, _a_comment);
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_SCodeDumpTpl_fun__149(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comment)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_comment;
{
modelica_metatype _txt = NULL;
modelica_string _i_cmt = NULL;
modelica_string _ret_0 = 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 (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_cmt = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
_ret_0 = omc_System_escapedString(threadData, _i_cmt, 0);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
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_SCodeDumpTpl_dumpComment(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comment, modelica_metatype _in_a_options)
{
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_a_comment;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_annotation__ = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_ann__str = 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;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_txt = tmp4_1;
_i_annotation__ = tmpMeta6;
_i_comment = tmpMeta7;
_a_options = tmp4_3;
_l_ann__str = omc_SCodeDumpTpl_dumpAnnotationOpt(threadData, _OMC_LIT4, _i_annotation__, _a_options);
_l_cmt__str = omc_SCodeDumpTpl_dumpCommentStr(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_ann__str);
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_SCodeDumpTpl_dumpCommentOpt(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comment, modelica_metatype _in_a_options)
{
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_a_comment;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_cmt = 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 (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_cmt = tmpMeta6;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpComment(threadData, _txt, _i_cmt, _a_options);
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_SCodeDumpTpl_dumpExternalDecl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_externalDecl, modelica_metatype _a_options)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_res = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_res = omc_SCodeDumpTpl_fun__143(threadData, _OMC_LIT4, _a_externalDecl, _a_options);
_out_txt = omc_SCodeDumpTpl_fun__145(threadData, _txt, _a_externalDecl, _a_options, _l_res);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__145(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_externalDecl, modelica_metatype _in_a_options, modelica_metatype _in_a_res)
{
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_externalDecl;
tmp4_3 = _in_a_options;
tmp4_4 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _a_res = 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;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
if (7 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT5), MMC_STRINGDATA(tmpMeta7)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_4;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_res);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_options = tmp4_3;
_a_res = tmp4_4;
tmpMeta1 = omc_SCodeDumpTpl_fun__144(threadData, _txt, _a_options, _a_res);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__144(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_res)
{
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_a_options;
tmp4_3 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = 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_integer tmp7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 9));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (0 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_res);
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_SCodeDumpTpl_fun__143(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_externalDecl, modelica_metatype _in_a_options)
{
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_a_externalDecl;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_output__ = NULL;
modelica_metatype _i_annotation__ = NULL;
modelica_metatype _i_lang = NULL;
modelica_metatype _i_args = NULL;
modelica_metatype _i_funcName = NULL;
modelica_metatype _l_output__str = NULL;
modelica_metatype _l_ann__str = NULL;
modelica_metatype _l_lang__str = NULL;
modelica_metatype _l_func__str = NULL;
modelica_metatype _l_func__args__str = NULL;
modelica_metatype _l_func__name__str = 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;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_txt = tmp4_1;
_i_funcName = tmpMeta6;
_i_lang = tmpMeta7;
_i_output__ = tmpMeta8;
_i_args = tmpMeta9;
_i_annotation__ = tmpMeta10;
_a_options = tmp4_3;
_l_func__name__str = omc_SCodeDumpTpl_fun__138(threadData, _OMC_LIT4, _i_funcName);
_l_func__args__str = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT10);
_l_func__args__str = omc_SCodeDumpTpl_lm__139(threadData, _l_func__args__str, _i_args);
_l_func__args__str = omc_Tpl_popIter(threadData, _l_func__args__str);
_l_func__str = omc_SCodeDumpTpl_fun__140(threadData, _OMC_LIT4, _l_func__name__str, _l_func__args__str);
_l_lang__str = omc_SCodeDumpTpl_fun__141(threadData, _OMC_LIT4, _i_lang);
_l_ann__str = omc_SCodeDumpTpl_dumpAnnotationOpt(threadData, _OMC_LIT4, _i_annotation__, _a_options);
_l_output__str = omc_SCodeDumpTpl_fun__142(threadData, _OMC_LIT4, _i_output__);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT12);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lang__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_output__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ann__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
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_SCodeDumpTpl_fun__142(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_output__)
{
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_output__;
{
modelica_metatype _txt = 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;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_name = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT15);
_txt = omc_AbsynDumpTpl_dumpCref(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
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_SCodeDumpTpl_fun__141(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lang)
{
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_lang;
{
modelica_metatype _txt = NULL;
modelica_string _i_l = 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 (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_l = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT15);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_l);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
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_SCodeDumpTpl_fun__140(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_func__name__str, modelica_metatype _in_a_func__args__str)
{
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_a_func__name__str;
tmp4_3 = _in_a_func__args__str;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_func__args__str = NULL;
modelica_metatype _i_func__name__str = 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,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_func__name__str = tmp4_2;
_a_func__args__str = tmp4_3;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT15);
_txt = omc_Tpl_writeText(threadData, _txt, _i_func__name__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT19);
_txt = omc_Tpl_writeText(threadData, _txt, _a_func__args__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
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_SCodeDumpTpl_lm__139(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_arg = 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_arg = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_AbsynDumpTpl_dumpExp(threadData, _txt, _i_arg);
_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_SCodeDumpTpl_fun__138(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_funcName)
{
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_funcName;
{
modelica_metatype _txt = NULL;
modelica_string _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;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_name = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_name);
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_SCodeDumpTpl_dumpExternalDeclOpt(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_externalDecl, modelica_metatype _in_a_options)
{
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_a_externalDecl;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_extdecl = 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 (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_extdecl = tmpMeta6;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpExternalDecl(threadData, _txt, _i_extdecl, _a_options);
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_SCodeDumpTpl_dumpAnnotationElement(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_annotation, modelica_metatype _a_options)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_annstr = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_annstr = omc_SCodeDumpTpl_dumpAnnotation(threadData, _OMC_LIT4, _a_annotation, _a_options);
_out_txt = omc_SCodeDumpTpl_fun__135(threadData, _txt, _l_annstr);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__135(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_annstr)
{
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_annstr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_annstr = 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,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_annstr = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_writeText(threadData, _txt, _i_annstr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_dumpAnnotation(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_annotation, modelica_metatype _in_a_options)
{
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_a_annotation;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_modification = NULL;
modelica_metatype _l_modifStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_txt = tmp4_1;
_i_modification = tmpMeta6;
_a_options = tmp4_3;
_l_modifStr = omc_SCodeDumpTpl_dumpAnnotationModifier(threadData, _OMC_LIT4, _i_modification, _a_options);
tmpMeta1 = omc_SCodeDumpTpl_fun__133(threadData, _txt, _l_modifStr);
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_SCodeDumpTpl_fun__133(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_modifStr)
{
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_modifStr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_modifStr = 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,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_modifStr = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT23);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _i_modifStr);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_dumpAnnotationOpt(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_annotation, modelica_metatype _in_a_options)
{
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_a_annotation;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_ann = 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 (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_ann = tmpMeta6;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpAnnotation(threadData, _txt, _i_ann, _a_options);
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_SCodeDumpTpl_dumpAttributeDim(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attributes)
{
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_attributes;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_arrayDims = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_txt = tmp4_1;
_i_arrayDims = tmpMeta6;
tmpMeta1 = omc_AbsynDumpTpl_dumpSubscripts(threadData, _txt, _i_arrayDims);
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_SCodeDumpTpl_dumpDirection(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_direction)
{
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_direction;
{
modelica_metatype _txt = 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_LIT25);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT27);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
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;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpVariability(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_variability)
{
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_variability;
{
modelica_metatype _txt = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT31);
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT33);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT35);
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;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpParallelism(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_parallelism)
{
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_parallelism;
{
modelica_metatype _txt = 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_LIT37);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT39);
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;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpConnectorType(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_connectorType)
{
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_connectorType;
{
modelica_metatype _txt = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT41);
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT43);
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;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpAttributes(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attributes)
{
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_attributes;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_direction = NULL;
modelica_metatype _i_variability = NULL;
modelica_metatype _i_parallelism = NULL;
modelica_metatype _i_connectorType = NULL;
modelica_metatype _l_dir__str = NULL;
modelica_metatype _l_var__str = NULL;
modelica_metatype _l_prl__str = NULL;
modelica_metatype _l_ct__str = 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;
modelica_metatype tmpMeta9;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_txt = tmp4_1;
_i_connectorType = tmpMeta6;
_i_parallelism = tmpMeta7;
_i_variability = tmpMeta8;
_i_direction = tmpMeta9;
_l_ct__str = omc_SCodeDumpTpl_dumpConnectorType(threadData, _OMC_LIT4, _i_connectorType);
_l_prl__str = omc_SCodeDumpTpl_dumpParallelism(threadData, _OMC_LIT4, _i_parallelism);
_l_var__str = omc_SCodeDumpTpl_dumpVariability(threadData, _OMC_LIT4, _i_variability);
_l_dir__str = omc_SCodeDumpTpl_dumpDirection(threadData, _OMC_LIT4, _i_direction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_prl__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dir__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_ct__str);
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_SCodeDumpTpl_dumpAnnotationSubModifier(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_submod, modelica_metatype _in_a_options)
{
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_a_submod;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_mod = NULL;
modelica_metatype _i_nameMod = NULL;
modelica_string _i_ident = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,0,5) == 0) goto tmp3_end;
_i_ident = tmpMeta6;
_i_nameMod = tmpMeta7;
_i_mod = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_ret_0 = omc_Config_showAnnotations(threadData);
tmpMeta1 = omc_SCodeDumpTpl_fun__124(threadData, _txt, _ret_0, _i_mod, _a_options, _i_nameMod, _i_ident);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,1,3) == 0) goto tmp3_end;
_i_mod = tmpMeta8;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpRedeclModifier(threadData, _txt, _i_mod, _a_options);
goto tmp3_done;
}
case 2: {
_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_SCodeDumpTpl_fun__124(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_mod, modelica_metatype _in_a_options, modelica_metatype _in_a_nameMod, modelica_string _in_a_ident)
{
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;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_string tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_mod;
tmp4_4 = _in_a_options;
tmp4_5 = _in_a_nameMod;
tmp4_6 = _in_a_ident;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_mod = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _a_nameMod = NULL;
modelica_string _a_ident = 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_options = tmp4_4;
_a_nameMod = tmp4_5;
_a_ident = tmp4_6;
tmpMeta1 = omc_SCodeDumpTpl_fun__123(threadData, _txt, _a_ident, _a_options, _a_nameMod);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_mod = tmp4_3;
_a_options = tmp4_4;
_a_nameMod = tmp4_5;
_a_ident = tmp4_6;
_txt = omc_SCodeDumpTpl_dumpModifierPrefix(threadData, _txt, _a_mod);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_ident);
tmpMeta1 = omc_SCodeDumpTpl_dumpAnnotationModifier(threadData, _txt, _a_nameMod, _a_options);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__124(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_mod, modelica_metatype _in_a_options, modelica_metatype _in_a_nameMod, modelica_metatype _in_a_ident)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_SCodeDumpTpl_fun__124(threadData, _in_txt, tmp1, _in_a_mod, _in_a_options, _in_a_nameMod, _in_a_ident);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__123(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ident, modelica_metatype _in_a_options, modelica_metatype _in_a_nameMod)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ident;
tmp4_3 = _in_a_options;
tmp4_4 = _in_a_nameMod;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _a_nameMod = NULL;
modelica_string _i_ident = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(stringHashDjb2Mod(tmp4_2,256))) {
case 195 /* choices */: {
if (7 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT44), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 255 /* Documentation */: {
if (13 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT45), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 85 /* Dialog */: {
if (6 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT46), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 122 /* Diagram */: {
if (7 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT47), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 14 /* Icon */: {
if (4 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT48), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 141 /* Line */: {
if (4 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT49), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 190 /* Placement */: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT50), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 191 /* preferredView */: {
if (13 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT51), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 11 /* conversion */: {
if (10 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT52), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 62 /* defaultComponentName */: {
if (20 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT53), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 65 /* revisionId */: {
if (10 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT54), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 133 /* uses */: {
if (4 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT55), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_default;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_i_ident = tmp4_2;
_a_options = tmp4_3;
_a_nameMod = tmp4_4;
_txt = omc_SCodeDumpTpl_dumpModifierPrefix(threadData, _txt, _a_nameMod);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_ident);
tmpMeta1 = omc_SCodeDumpTpl_dumpAnnotationModifier(threadData, _txt, _a_nameMod, _a_options);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpSubModifier(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_submod, modelica_metatype _in_a_options)
{
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_a_submod;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_string _i_ident = NULL;
modelica_metatype _i_mod = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,0,5) == 0) goto tmp3_end;
_i_ident = tmpMeta6;
_i_mod = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpModifierPrefix(threadData, _txt, _i_mod);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_ident);
tmpMeta1 = omc_SCodeDumpTpl_dumpModifier(threadData, _txt, _i_mod, _a_options);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,1,3) == 0) goto tmp3_end;
_i_mod = tmpMeta8;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpRedeclModifier(threadData, _txt, _i_mod, _a_options);
goto tmp3_done;
}
case 2: {
_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_SCodeDumpTpl_dumpModifierBinding(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_binding)
{
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_binding;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_exp = 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 (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT57);
tmpMeta1 = omc_AbsynDumpTpl_dumpExp(threadData, _txt, _i_exp);
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_SCodeDumpTpl_dumpRedeclModifier(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_modifier, modelica_metatype _in_a_options)
{
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_a_modifier;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_element = NULL;
modelica_metatype _i_eachPrefix = NULL;
modelica_metatype _l_each__str = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_eachPrefix = tmpMeta6;
_i_element = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_each__str = omc_SCodeDumpTpl_dumpEach(threadData, _OMC_LIT4, _i_eachPrefix);
tmpMeta1 = omc_SCodeDumpTpl_dumpElement(threadData, _txt, _i_element, omc_Tpl_textString(threadData, _l_each__str), _a_options);
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_SCodeDumpTpl_dumpModifierPrefix(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_modifier)
{
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_modifier;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_eachPrefix = NULL;
modelica_metatype _i_finalPrefix = NULL;
modelica_metatype _l_each__str = NULL;
modelica_metatype _l_final__str = 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,5) == 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_finalPrefix = tmpMeta5;
_i_eachPrefix = tmpMeta6;
_txt = tmp4_1;
_l_final__str = omc_SCodeDumpTpl_dumpFinal(threadData, _OMC_LIT4, _i_finalPrefix);
_l_each__str = omc_SCodeDumpTpl_dumpEach(threadData, _OMC_LIT4, _i_eachPrefix);
_txt = omc_Tpl_writeText(threadData, _txt, _l_each__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_final__str);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_finalPrefix = tmpMeta7;
_i_eachPrefix = tmpMeta8;
_txt = tmp4_1;
_l_final__str = omc_SCodeDumpTpl_dumpFinal(threadData, _OMC_LIT4, _i_finalPrefix);
_l_each__str = omc_SCodeDumpTpl_dumpEach(threadData, _OMC_LIT4, _i_eachPrefix);
_txt = omc_Tpl_writeText(threadData, _txt, _l_each__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_final__str);
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;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpAnnotationModifier(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_modifier, modelica_metatype _in_a_options)
{
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_a_modifier;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_subModLst = NULL;
modelica_metatype _i_binding = NULL;
modelica_metatype _l_submod__str = NULL;
modelica_metatype _l_text = NULL;
modelica_metatype _l_binding__str = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_subModLst = tmpMeta6;
_i_binding = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_binding__str = omc_SCodeDumpTpl_dumpModifierBinding(threadData, _OMC_LIT4, _i_binding);
_l_text = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT10);
_l_text = omc_SCodeDumpTpl_lm__116(threadData, _l_text, _i_subModLst, _a_options);
_l_text = omc_Tpl_popIter(threadData, _l_text);
_l_submod__str = omc_SCodeDumpTpl_fun__117(threadData, _OMC_LIT4, _l_text);
_txt = omc_Tpl_writeText(threadData, _txt, _l_submod__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_binding__str);
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_SCodeDumpTpl_fun__117(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_text)
{
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_text;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_text = 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,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_text = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT19);
_txt = omc_Tpl_writeText(threadData, _txt, _i_text);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_lm__116(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_submod = 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_submod = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpAnnotationSubModifier(threadData, _txt, _i_submod, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpModifier(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_modifier, modelica_metatype _in_a_options)
{
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_a_modifier;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_subModLst = NULL;
modelica_metatype _i_binding = NULL;
modelica_metatype _l_submod__str = NULL;
modelica_metatype _l_binding__str = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_subModLst = tmpMeta6;
_i_binding = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_binding__str = omc_SCodeDumpTpl_dumpModifierBinding(threadData, _OMC_LIT4, _i_binding);
_l_submod__str = omc_SCodeDumpTpl_fun__114(threadData, _OMC_LIT4, _i_subModLst, _a_options);
_txt = omc_Tpl_writeText(threadData, _txt, _l_submod__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_binding__str);
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_SCodeDumpTpl_fun__114(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subModLst, modelica_metatype _in_a_options)
{
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_a_subModLst;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_subModLst = 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_subModLst = tmp4_2;
_a_options = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT19);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT10);
_txt = omc_SCodeDumpTpl_lm__113(threadData, _txt, _i_subModLst, _a_options);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_lm__113(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_submod = 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_submod = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpSubModifier(threadData, _txt, _i_submod, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpFunctionRestriction(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_funcRest)
{
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_funcRest;
{
modelica_metatype _txt = NULL;
modelica_boolean _i_isImpure;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_metatype tmpMeta5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta5);
_i_isImpure = tmp6;
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_fun__110(threadData, _txt, _i_isImpure);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta7;
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp8 = mmc_unbox_integer(tmpMeta7);
_i_isImpure = tmp8;
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_fun__111(threadData, _txt, _i_isImpure);
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT59);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT61);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_errorMsg(threadData, _txt, _OMC_LIT62);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__111(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isImpure)
{
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_isImpure;
{
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_LIT61);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT64);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__111(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isImpure)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isImpure);
_out_txt = omc_SCodeDumpTpl_fun__111(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__110(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isImpure)
{
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_isImpure;
{
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_LIT61);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT64);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__110(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isImpure)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isImpure);
_out_txt = omc_SCodeDumpTpl_fun__110(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpRestrictionTypeVars(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_restriction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_restriction;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_typeVars = 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,18,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_typeVars = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_fun__108(threadData, _txt, _i_typeVars);
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_SCodeDumpTpl_fun__108(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_typeVars)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_typeVars;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_typeVars = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
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_typeVars = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT66);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT70);
_txt = omc_SCodeDumpTpl_lm__107(threadData, _txt, _i_typeVars);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT72);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_lm__107(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_tv = 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_tv = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_tv);
_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_SCodeDumpTpl_dumpRestriction(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_restriction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_restriction;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_functionRestriction = NULL;
modelica_boolean _i_isExpandable;
modelica_boolean _i_isOperator;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 20; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT74);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT76);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp7 = mmc_unbox_integer(tmpMeta6);
_i_isOperator = tmp7;
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_fun__104(threadData, _txt, _i_isOperator);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT80);
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT82);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta8;
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp9 = mmc_unbox_integer(tmpMeta8);
_i_isExpandable = tmp9;
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_fun__105(threadData, _txt, _i_isExpandable);
goto tmp3_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT80);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);
goto tmp3_done;
}
case 10: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_functionRestriction = tmpMeta10;
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_dumpFunctionRestriction(threadData, _txt, _i_functionRestriction);
goto tmp3_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT90);
goto tmp3_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT92);
goto tmp3_done;
}
case 14: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);
goto tmp3_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);
goto tmp3_done;
}
case 16: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 17: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT100);
goto tmp3_done;
}
case 18: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT102);
goto tmp3_done;
}
case 19: {
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_errorMsg(threadData, _txt, _OMC_LIT103);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__105(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isExpandable)
{
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_isExpandable;
{
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_LIT105);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__105(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isExpandable)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isExpandable);
_out_txt = omc_SCodeDumpTpl_fun__105(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__104(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isOperator)
{
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_isOperator;
{
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_LIT100);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT109);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__104(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isOperator)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isOperator);
_out_txt = omc_SCodeDumpTpl_fun__104(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpPartial(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_partial)
{
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_partial;
{
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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
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_SCodeDumpTpl_dumpEncapsulated(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_encapsulated)
{
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_encapsulated;
{
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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
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_SCodeDumpTpl_dumpEach(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_each)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_each;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT115);
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_SCodeDumpTpl_dumpReplaceableConstrainClass(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_replaceable, modelica_metatype _in_a_options)
{
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_a_replaceable;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_cc__mod = NULL;
modelica_metatype _i_cc__path = NULL;
modelica_metatype _l_mod__str = NULL;
modelica_metatype _l_path__str = 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;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (optionNone(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 3));
_i_cc__path = tmpMeta9;
_i_cc__mod = tmpMeta10;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_path__str = omc_AbsynDumpTpl_dumpPath(threadData, _OMC_LIT4, _i_cc__path);
_l_mod__str = omc_SCodeDumpTpl_dumpModifier(threadData, _OMC_LIT4, _i_cc__mod, _a_options);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT15);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT117);
_txt = omc_Tpl_writeText(threadData, _txt, _l_path__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_mod__str);
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;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpReplaceable(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_replaceable)
{
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_replaceable;
{
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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT119);
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_SCodeDumpTpl_dumpInnerOuter(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_innerOuter)
{
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_innerOuter;
{
modelica_metatype _txt = 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_LIT121);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT125);
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;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpFinal(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_final)
{
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_final;
{
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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT127);
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_SCodeDumpTpl_dumpRedeclare(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_redeclare)
{
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_redeclare;
{
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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
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_SCodeDumpTpl_dumpVisibility(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility)
{
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_visibility;
{
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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
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_SCodeDumpTpl_dumpPrefixes(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_prefixes, modelica_string _in_a_each)
{
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_prefixes;
tmp4_3 = _in_a_each;
{
modelica_metatype _txt = NULL;
modelica_string _a_each = NULL;
modelica_metatype _i_replaceablePrefix = NULL;
modelica_metatype _i_innerOuter = NULL;
modelica_metatype _i_finalPrefix = NULL;
modelica_metatype _i_redeclarePrefix = NULL;
modelica_metatype _l_replaceable__str = NULL;
modelica_metatype _l_io__str = NULL;
modelica_metatype _l_final__str = NULL;
modelica_metatype _l_redeclare__str = 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;
modelica_metatype tmpMeta9;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_txt = tmp4_1;
_i_redeclarePrefix = tmpMeta6;
_i_finalPrefix = tmpMeta7;
_i_innerOuter = tmpMeta8;
_i_replaceablePrefix = tmpMeta9;
_a_each = tmp4_3;
_l_redeclare__str = omc_SCodeDumpTpl_dumpRedeclare(threadData, _OMC_LIT4, _i_redeclarePrefix);
_l_final__str = omc_SCodeDumpTpl_dumpFinal(threadData, _OMC_LIT4, _i_finalPrefix);
_l_io__str = omc_SCodeDumpTpl_dumpInnerOuter(threadData, _OMC_LIT4, _i_innerOuter);
_l_replaceable__str = omc_SCodeDumpTpl_dumpReplaceable(threadData, _OMC_LIT4, _i_replaceablePrefix);
_txt = omc_Tpl_writeText(threadData, _txt, _l_redeclare__str);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_each);
_txt = omc_Tpl_writeText(threadData, _txt, _l_final__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_io__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_replaceable__str);
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_SCodeDumpTpl_dumpTryStatement(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_try__statement, modelica_metatype _in_a_options)
{
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_a_try__statement;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_elseBody = NULL;
modelica_metatype _i_body = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _l_algs2 = NULL;
modelica_metatype _l_algs1 = NULL;
modelica_metatype _l_cmt__str = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_body = tmpMeta6;
_i_elseBody = tmpMeta7;
_i_comment = tmpMeta8;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_l_algs1 = omc_SCodeDumpTpl_dumpStatements(threadData, _OMC_LIT4, _i_body, _a_options);
_l_algs2 = omc_SCodeDumpTpl_dumpStatements(threadData, _OMC_LIT4, _i_elseBody, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT133);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_algs1);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT136);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_algs2);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
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_SCodeDumpTpl_dumpWhenStatement(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_when__statement, modelica_metatype _in_a_options)
{
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_a_when__statement;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_elsewhens = NULL;
modelica_metatype _i_when__body = NULL;
modelica_metatype _i_when__cond = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_elsewhen__str = NULL;
modelica_metatype _l_when__body__str = NULL;
modelica_metatype _l_when__cond__str = 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;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (listEmpty(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_CAR(tmpMeta6);
tmpMeta8 = MMC_CDR(tmpMeta6);
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_when__cond = tmpMeta9;
_i_when__body = tmpMeta10;
_i_elsewhens = tmpMeta8;
_i_comment = tmpMeta11;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_when__cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_when__cond);
_l_when__body__str = omc_SCodeDumpTpl_dumpStatements(threadData, _OMC_LIT4, _i_when__body, _a_options);
_l_elsewhen__str = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT140);
_l_elsewhen__str = omc_SCodeDumpTpl_lm__91(threadData, _l_elsewhen__str, _i_elsewhens, _a_options);
_l_elsewhen__str = omc_Tpl_popIter(threadData, _l_elsewhen__str);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT142);
_txt = omc_Tpl_writeText(threadData, _txt, _l_when__cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT144);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_when__body__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_elsewhen__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT146);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
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_SCodeDumpTpl_lm__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_ew__body = NULL;
modelica_metatype _i_ew__cond = NULL;
modelica_metatype _l_ew__body__str = NULL;
modelica_metatype _l_ew__cond__str = 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_ew__cond = tmpMeta8;
_i_ew__body = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_ew__cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_ew__cond);
_l_ew__body__str = omc_SCodeDumpTpl_dumpStatements(threadData, _OMC_LIT4, _i_ew__body, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT148);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ew__cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT144);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ew__body__str);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpWhileStatement(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_while__statement, modelica_metatype _in_a_options)
{
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_a_while__statement;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_whileBody = NULL;
modelica_metatype _i_boolExpr = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_body__str = NULL;
modelica_metatype _l_cond__str = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_boolExpr = tmpMeta6;
_i_whileBody = tmpMeta7;
_i_comment = tmpMeta8;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_boolExpr);
_l_body__str = omc_SCodeDumpTpl_dumpStatements(threadData, _OMC_LIT4, _i_whileBody, _a_options);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT150);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT152);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_body__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT154);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
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_SCodeDumpTpl_dumpForStatement(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_for__statement, modelica_metatype _in_a_options)
{
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_a_for__statement;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_string _i_index = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_forBody = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_body__str = NULL;
modelica_metatype _l_range__str = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (optionNone(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_index = tmpMeta6;
_i_e = tmpMeta8;
_i_forBody = tmpMeta9;
_i_comment = tmpMeta10;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_range__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_e);
_l_body__str = omc_SCodeDumpTpl_dumpStatements(threadData, _OMC_LIT4, _i_forBody, _a_options);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT156);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_writeText(threadData, _txt, _l_range__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT152);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_body__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT160);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,5) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_index = tmpMeta11;
_i_forBody = tmpMeta12;
_i_comment = tmpMeta13;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_body__str = omc_SCodeDumpTpl_dumpStatements(threadData, _OMC_LIT4, _i_forBody, _a_options);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT156);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT152);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_body__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT160);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 2: {
_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_SCodeDumpTpl_dumpElseIfStatements(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_else__if, modelica_metatype _a_options)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT140);
_out_txt = omc_SCodeDumpTpl_lm__87(threadData, _out_txt, _a_else__if, _a_options);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__87(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_body = NULL;
modelica_metatype _i_cond = NULL;
modelica_metatype _l_body__str = NULL;
modelica_metatype _l_cond__str = 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_cond = tmpMeta8;
_i_body = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_cond);
_l_body__str = omc_SCodeDumpTpl_dumpStatements(threadData, _OMC_LIT4, _i_body, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT162);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT144);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_body__str);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpIfStatement(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_if__statement, modelica_metatype _in_a_options)
{
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_a_if__statement;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_elseBranch = NULL;
modelica_metatype _i_elseIfBranch = NULL;
modelica_metatype _i_trueBranch = NULL;
modelica_metatype _i_boolExpr = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_else__branch__str = NULL;
modelica_metatype _l_else__if__str = NULL;
modelica_metatype _l_true__branch__str = NULL;
modelica_metatype _l_cond__str = 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;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_boolExpr = tmpMeta6;
_i_trueBranch = tmpMeta7;
_i_elseIfBranch = tmpMeta8;
_i_elseBranch = tmpMeta9;
_i_comment = tmpMeta10;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_boolExpr);
_l_true__branch__str = omc_SCodeDumpTpl_dumpStatements(threadData, _OMC_LIT4, _i_trueBranch, _a_options);
_l_else__if__str = omc_SCodeDumpTpl_dumpElseIfStatements(threadData, _OMC_LIT4, _i_elseIfBranch, _a_options);
_l_else__branch__str = omc_SCodeDumpTpl_dumpStatements(threadData, _OMC_LIT4, _i_elseBranch, _a_options);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT164);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT144);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_true__branch__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else__if__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT136);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else__branch__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT166);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
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_SCodeDumpTpl_dumpStatement(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_statement, modelica_metatype _in_a_options)
{
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_a_statement;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_stmt = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_newValue = NULL;
modelica_metatype _i_cref = NULL;
modelica_metatype _i_level = NULL;
modelica_metatype _i_message = NULL;
modelica_metatype _i_condition = NULL;
modelica_metatype _i_statement = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_value = NULL;
modelica_metatype _i_assignComponent = NULL;
modelica_metatype _l_exp__str = NULL;
modelica_metatype _l_cr__str = NULL;
modelica_metatype _l_lvl__str = NULL;
modelica_metatype _l_msg__str = NULL;
modelica_metatype _l_cond__str = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_rhs__str = NULL;
modelica_metatype _l_lhs__str = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 15; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_assignComponent = tmpMeta6;
_i_value = tmpMeta7;
_i_comment = tmpMeta8;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_lhs__str = omc_AbsynDumpTpl_dumpLhsExp(threadData, _OMC_LIT4, _i_assignComponent);
_l_rhs__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_value);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lhs__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT168);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,6) == 0) goto tmp3_end;
_i_statement = tmp4_2;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpIfStatement(threadData, _txt, _i_statement, _a_options);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,5) == 0) goto tmp3_end;
_i_statement = tmp4_2;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpForStatement(threadData, _txt, _i_statement, _a_options);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,4) == 0) goto tmp3_end;
_i_statement = tmp4_2;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpWhileStatement(threadData, _txt, _i_statement, _a_options);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,3) == 0) goto tmp3_end;
_i_statement = tmp4_2;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpWhenStatement(threadData, _txt, _i_statement, _a_options);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,5) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_condition = tmpMeta9;
_i_message = tmpMeta10;
_i_level = tmpMeta11;
_txt = tmp4_1;
_l_cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_condition);
_l_msg__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_message);
_l_lvl__str = omc_SCodeDumpTpl_dumpAssertionLevel(threadData, _OMC_LIT4, _i_level);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT170);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT7);
_txt = omc_Tpl_writeText(threadData, _txt, _l_msg__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lvl__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT172);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,3) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_message = tmpMeta12;
_txt = tmp4_1;
_l_msg__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_message);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT174);
_txt = omc_Tpl_writeText(threadData, _txt, _l_msg__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT172);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,4) == 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_cref = tmpMeta13;
_i_newValue = tmpMeta14;
_txt = tmp4_1;
_l_cr__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_cref);
_l_exp__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_newValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT176);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cr__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT7);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT172);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_exp = tmpMeta15;
_i_comment = tmpMeta16;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_exp__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_exp);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,2) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_comment = tmpMeta17;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT178);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 10: {
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,2) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_comment = tmpMeta18;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT180);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 11: {
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,3) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (listEmpty(tmpMeta19)) goto tmp3_end;
tmpMeta20 = MMC_CAR(tmpMeta19);
tmpMeta21 = MMC_CDR(tmpMeta19);
if (!listEmpty(tmpMeta21)) goto tmp3_end;
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_stmt = tmpMeta20;
_i_comment = tmpMeta22;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT182);
_txt = omc_SCodeDumpTpl_dumpStatement(threadData, _txt, _i_stmt, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,4) == 0) goto tmp3_end;
_i_statement = tmp4_2;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpTryStatement(threadData, _txt, _i_statement, _a_options);
goto tmp3_done;
}
case 13: {
modelica_metatype tmpMeta23;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_comment = tmpMeta23;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT184);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 14: {
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_errorMsg(threadData, _txt, _OMC_LIT185);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_dumpStatements(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_statements, modelica_metatype _a_options)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT140);
_out_txt = omc_SCodeDumpTpl_lm__83(threadData, _out_txt, _a_statements, _a_options);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__83(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_s = 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_s = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpStatement(threadData, _txt, _i_s, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpAlgorithmSection(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_algorithm, modelica_metatype _in_a_options)
{
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_a_algorithm;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = 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: {
modelica_metatype tmpMeta6;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_txt = tmp4_1;
_i_statements = tmpMeta6;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpStatements(threadData, _txt, _i_statements, _a_options);
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_SCodeDumpTpl_dumpAlgorithmSections(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_algorithms, modelica_string _in_a_label, modelica_metatype _in_a_options)
{
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_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_algorithms;
tmp4_3 = _in_a_label;
tmp4_4 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_string _a_label = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_algorithms = 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_algorithms = tmp4_2;
_a_label = tmp4_3;
_a_options = tmp4_4;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_label);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT140);
_txt = omc_SCodeDumpTpl_lm__80(threadData, _txt, _i_algorithms, _a_options);
_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_SCodeDumpTpl_lm__80(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_al = 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_al = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpAlgorithmSection(threadData, _txt, _i_al, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpAssertionLevel(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp)
{
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_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,1,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (14 != MMC_STRLEN(tmpMeta8) || strcmp(MMC_STRINGDATA(_OMC_LIT186), MMC_STRINGDATA(tmpMeta8)) != 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,2,2) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 2));
if (5 != MMC_STRLEN(tmpMeta10) || strcmp(MMC_STRINGDATA(_OMC_LIT187), MMC_STRINGDATA(tmpMeta10)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,1,3) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 2));
if (14 != MMC_STRLEN(tmpMeta12) || strcmp(MMC_STRINGDATA(_OMC_LIT186), MMC_STRINGDATA(tmpMeta12)) != 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,2,2) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta13), 2));
if (5 != MMC_STRLEN(tmpMeta14) || strcmp(MMC_STRINGDATA(_OMC_LIT187), MMC_STRINGDATA(tmpMeta14)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_i_exp = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT7);
tmpMeta1 = omc_AbsynDumpTpl_dumpExp(threadData, _txt, _i_exp);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_dumpWhenEquation(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_when__equation, modelica_metatype _in_a_options)
{
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_a_when__equation;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_elseBranches = NULL;
modelica_metatype _i_eEquationLst = NULL;
modelica_metatype _i_condition = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_else__str = NULL;
modelica_metatype _l_body__str = NULL;
modelica_metatype _l_cond__str = 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;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_condition = tmpMeta6;
_i_eEquationLst = tmpMeta7;
_i_elseBranches = tmpMeta8;
_i_comment = tmpMeta9;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_condition);
_l_body__str = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT140);
_l_body__str = omc_SCodeDumpTpl_lm__75(threadData, _l_body__str, _i_eEquationLst, _a_options);
_l_body__str = omc_Tpl_popIter(threadData, _l_body__str);
_l_else__str = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT140);
_l_else__str = omc_SCodeDumpTpl_lm__77(threadData, _l_else__str, _i_elseBranches, _a_options);
_l_else__str = omc_Tpl_popIter(threadData, _l_else__str);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT142);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT144);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_body__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT146);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
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_SCodeDumpTpl_lm__77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_else__body = NULL;
modelica_metatype _i_else__cond = NULL;
modelica_metatype _l_else__body__str = NULL;
modelica_metatype _l_else__cond__str = 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_else__cond = tmpMeta8;
_i_else__body = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_else__cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_else__cond);
_l_else__body__str = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT140);
_l_else__body__str = omc_SCodeDumpTpl_lm__76(threadData, _l_else__body__str, _i_else__body, _a_options);
_l_else__body__str = omc_Tpl_popIter(threadData, _l_else__body__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT148);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else__cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT144);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else__body__str);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_lm__76(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_e = 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_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpEquation(threadData, _txt, _i_e, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_lm__75(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_e = 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_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpEquation(threadData, _txt, _i_e, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpForEquation(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_for__equation, modelica_metatype _in_a_options)
{
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_a_for__equation;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_string _i_index = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_eEquationLst = NULL;
modelica_metatype _i_range = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_eq__str = NULL;
modelica_metatype _l_range__str = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (optionNone(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_index = tmpMeta6;
_i_range = tmpMeta8;
_i_eEquationLst = tmpMeta9;
_i_comment = tmpMeta10;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_range__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_range);
_l_eq__str = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT140);
_l_eq__str = omc_SCodeDumpTpl_lm__72(threadData, _l_eq__str, _i_eEquationLst, _a_options);
_l_eq__str = omc_Tpl_popIter(threadData, _l_eq__str);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT156);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_writeText(threadData, _txt, _l_range__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT152);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_eq__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT160);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_index = tmpMeta11;
_i_eEquationLst = tmpMeta12;
_i_comment = tmpMeta13;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_eq__str = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT140);
_l_eq__str = omc_SCodeDumpTpl_lm__73(threadData, _l_eq__str, _i_eEquationLst, _a_options);
_l_eq__str = omc_Tpl_popIter(threadData, _l_eq__str);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT156);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT152);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_eq__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT160);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 2: {
_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_SCodeDumpTpl_lm__73(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_e = 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_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpEquation(threadData, _txt, _i_e, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_lm__72(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_e = 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_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpEquation(threadData, _txt, _i_e, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpElseIfEquation(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_condition, modelica_metatype _in_a_branches, modelica_metatype _in_a_options)
{
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_condition;
tmp4_3 = _in_a_branches;
tmp4_4 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_branches = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_rest__conds = NULL;
modelica_metatype _i_cond = 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);
_i_cond = tmpMeta6;
_i_rest__conds = tmpMeta7;
_txt = tmp4_1;
_a_branches = tmp4_3;
_a_options = tmp4_4;
tmpMeta1 = omc_SCodeDumpTpl_fun__70(threadData, _txt, _a_branches, _i_rest__conds, _a_options, _i_cond);
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_SCodeDumpTpl_fun__70(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_branches, modelica_metatype _in_a_rest__conds, modelica_metatype _in_a_options, modelica_metatype _in_a_cond)
{
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_branches;
tmp4_3 = _in_a_rest__conds;
tmp4_4 = _in_a_options;
tmp4_5 = _in_a_cond;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rest__conds = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _a_cond = NULL;
modelica_metatype _i_rest__branches = NULL;
modelica_metatype _i_branch = NULL;
modelica_metatype _l_rest__str = NULL;
modelica_metatype _l_branch__str = NULL;
modelica_metatype _l_cond__str = 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);
_i_branch = tmpMeta6;
_i_rest__branches = tmpMeta7;
_txt = tmp4_1;
_a_rest__conds = tmp4_3;
_a_options = tmp4_4;
_a_cond = tmp4_5;
_l_cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _a_cond);
_l_branch__str = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT140);
_l_branch__str = omc_SCodeDumpTpl_lm__69(threadData, _l_branch__str, _i_branch, _a_options);
_l_branch__str = omc_Tpl_popIter(threadData, _l_branch__str);
_l_rest__str = omc_SCodeDumpTpl_dumpElseIfEquation(threadData, _OMC_LIT4, _a_rest__conds, _i_rest__branches, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT162);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT144);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_branch__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_rest__str);
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_SCodeDumpTpl_lm__69(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_e = 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_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpEquation(threadData, _txt, _i_e, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpIfEquation(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ifequation, modelica_metatype _in_a_options)
{
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_a_ifequation;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_elseBranch = NULL;
modelica_metatype _i_elseif__branches = NULL;
modelica_metatype _i_elseif__conds = NULL;
modelica_metatype _i_if__branch = NULL;
modelica_metatype _i_if__cond = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_else__str = NULL;
modelica_metatype _l_elseif__str = NULL;
modelica_metatype _l_if__branch__str = NULL;
modelica_metatype _l_if__cond__str = 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;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (listEmpty(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_CAR(tmpMeta6);
tmpMeta8 = MMC_CDR(tmpMeta6);
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta9)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmpMeta9);
tmpMeta11 = MMC_CDR(tmpMeta9);
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_if__cond = tmpMeta7;
_i_elseif__conds = tmpMeta8;
_i_if__branch = tmpMeta10;
_i_elseif__branches = tmpMeta11;
_i_elseBranch = tmpMeta12;
_i_comment = tmpMeta13;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_if__cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_if__cond);
_l_if__branch__str = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT140);
_l_if__branch__str = omc_SCodeDumpTpl_lm__65(threadData, _l_if__branch__str, _i_if__branch, _a_options);
_l_if__branch__str = omc_Tpl_popIter(threadData, _l_if__branch__str);
_l_elseif__str = omc_SCodeDumpTpl_dumpElseIfEquation(threadData, _OMC_LIT4, _i_elseif__conds, _i_elseif__branches, _a_options);
_l_else__str = omc_SCodeDumpTpl_fun__67(threadData, _OMC_LIT4, _i_elseBranch, _a_options);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT164);
_txt = omc_Tpl_writeText(threadData, _txt, _l_if__cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT144);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _l_if__branch__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_elseif__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT166);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
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_SCodeDumpTpl_fun__67(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_elseBranch, modelica_metatype _in_a_options)
{
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_a_elseBranch;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_elseBranch = 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_elseBranch = tmp4_2;
_a_options = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT136);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT140);
_txt = omc_SCodeDumpTpl_lm__66(threadData, _txt, _i_elseBranch, _a_options);
_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_SCodeDumpTpl_lm__66(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_e = 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_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpEquation(threadData, _txt, _i_e, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_lm__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_e = 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_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpEquation(threadData, _txt, _i_e, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpEquation(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_equation, modelica_metatype _in_a_options)
{
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_a_equation;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_expReinit = NULL;
modelica_metatype _i_cref = NULL;
modelica_metatype _i_level = NULL;
modelica_metatype _i_message = NULL;
modelica_metatype _i_condition = NULL;
modelica_metatype _i_crefRight = NULL;
modelica_metatype _i_crefLeft = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_expRight = NULL;
modelica_metatype _i_expLeft = NULL;
modelica_metatype _i_equation = NULL;
modelica_metatype _l_exp__str = NULL;
modelica_metatype _l_cref__str = NULL;
modelica_metatype _l_lvl__str = NULL;
modelica_metatype _l_msg__str = NULL;
modelica_metatype _l_cond__str = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_rhs__str = NULL;
modelica_metatype _l_lhs__str = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 10; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,5) == 0) goto tmp3_end;
_i_equation = tmp4_2;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpIfEquation(threadData, _txt, _i_equation, _a_options);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_expLeft = tmpMeta6;
_i_expRight = tmpMeta7;
_i_comment = tmpMeta8;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_lhs__str = omc_AbsynDumpTpl_dumpLhsExp(threadData, _OMC_LIT4, _i_expLeft);
_l_rhs__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_expRight);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lhs__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT189);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,4) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_crefLeft = tmpMeta9;
_i_crefRight = tmpMeta10;
_i_comment = tmpMeta11;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_lhs__str = omc_AbsynDumpTpl_dumpCref(threadData, _OMC_LIT4, _i_crefLeft);
_l_rhs__str = omc_AbsynDumpTpl_dumpCref(threadData, _OMC_LIT4, _i_crefRight);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT191);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lhs__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT7);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
_i_equation = tmp4_2;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpForEquation(threadData, _txt, _i_equation, _a_options);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_i_equation = tmp4_2;
_txt = tmp4_1;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpWhenEquation(threadData, _txt, _i_equation, _a_options);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,5) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_condition = tmpMeta12;
_i_message = tmpMeta13;
_i_level = tmpMeta14;
_i_comment = tmpMeta15;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cond__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_condition);
_l_msg__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_message);
_l_lvl__str = omc_SCodeDumpTpl_dumpAssertionLevel(threadData, _OMC_LIT4, _i_level);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT170);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT7);
_txt = omc_Tpl_writeText(threadData, _txt, _l_msg__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lvl__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,3) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_message = tmpMeta16;
_i_comment = tmpMeta17;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_msg__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_message);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT174);
_txt = omc_Tpl_writeText(threadData, _txt, _l_msg__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,4) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_cref = tmpMeta18;
_i_expReinit = tmpMeta19;
_i_comment = tmpMeta20;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_cref__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_cref);
_l_exp__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_expReinit);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT176);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cref__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT7);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_exp = tmpMeta21;
_i_comment = tmpMeta22;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_exp__str = omc_AbsynDumpTpl_dumpExp(threadData, _OMC_LIT4, _i_exp);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
case 9: {
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_errorMsg(threadData, _txt, _OMC_LIT192);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_dumpEquations(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_equations, modelica_string _in_a_label, modelica_metatype _in_a_options)
{
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_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_equations;
tmp4_3 = _in_a_label;
tmp4_4 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_string _a_label = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_equations = 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_equations = tmp4_2;
_a_label = tmp4_3;
_a_options = tmp4_4;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_label);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT140);
_txt = omc_SCodeDumpTpl_lm__62(threadData, _txt, _i_equations, _a_options);
_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_SCodeDumpTpl_lm__62(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_eq = 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_eq = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpEquation(threadData, _txt, _i_eq, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_dumpEnumLiteral(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_enum, modelica_metatype _in_a_options)
{
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_a_enum;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_string _i_literal = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _l_cmt__str = 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;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_txt = tmp4_1;
_i_literal = tmpMeta6;
_i_comment = tmpMeta7;
_a_options = tmp4_3;
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_literal);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
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_SCodeDumpTpl_dumpDefineUnit(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defineUnit)
{
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_defineUnit;
{
modelica_metatype _txt = NULL;
modelica_string _i_name = NULL;
modelica_metatype _i_weight = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_visibility = NULL;
modelica_metatype _l_pe = NULL;
modelica_metatype _l_pb = NULL;
modelica_metatype _l_args__str = NULL;
modelica_metatype _l_weight__str = NULL;
modelica_metatype _l_exp__str = 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;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_name = tmpMeta6;
_i_visibility = tmpMeta7;
_i_exp = tmpMeta8;
_i_weight = tmpMeta9;
_txt = tmp4_1;
omc_SCodeDumpTpl_dumpVisibility(threadData, _OMC_LIT4, _i_visibility);
_l_exp__str = omc_SCodeDumpTpl_fun__54(threadData, _OMC_LIT4, _i_exp);
_l_weight__str = omc_SCodeDumpTpl_fun__55(threadData, _OMC_LIT4, _i_weight);
_l_args__str = omc_Tpl_pushIter(threadData, _OMC_LIT4, _OMC_LIT10);
_l_args__str = omc_SCodeDumpTpl_smf__56(threadData, _l_args__str, _l_exp__str);
_l_args__str = omc_SCodeDumpTpl_smf__57(threadData, _l_args__str, _l_weight__str);
_l_args__str = omc_Tpl_popIter(threadData, _l_args__str);
_l_pb = omc_SCodeDumpTpl_fun__58(threadData, _OMC_LIT4, _l_args__str);
_l_pe = omc_SCodeDumpTpl_fun__59(threadData, _OMC_LIT4, _l_args__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT194);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeText(threadData, _txt, _l_pb);
_txt = omc_Tpl_writeText(threadData, _txt, _l_args__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_pe);
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_SCodeDumpTpl_fun__59(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_args__str;
{
modelica_metatype _txt = 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,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__58(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args__str)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_args__str;
{
modelica_metatype _txt = 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,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT19);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_smf__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_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_it;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 1; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
_txt = tmp4_1;
_i_it = tmp4_2;
_txt = omc_Tpl_writeText(threadData, _txt, _i_it);
tmpMeta1 = omc_Tpl_nextIter(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_SCodeDumpTpl_smf__56(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_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_it;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_it = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 1; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
_txt = tmp4_1;
_i_it = tmp4_2;
_txt = omc_Tpl_writeText(threadData, _txt, _i_it);
tmpMeta1 = omc_Tpl_nextIter(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_SCodeDumpTpl_fun__55(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_weight)
{
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_weight;
{
modelica_metatype _txt = NULL;
modelica_real _i_w;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_real tmp7;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmp7 = mmc_unbox_real(tmpMeta6);
_i_w = tmp7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT196);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, realString(_i_w));
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_SCodeDumpTpl_fun__54(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp)
{
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_exp;
{
modelica_metatype _txt = NULL;
modelica_string _i_e = 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 (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_e = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT198);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_e);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
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_SCodeDumpTpl_dumpComponent(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_component, modelica_string _in_a_each, modelica_metatype _in_a_options)
{
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_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_component;
tmp4_3 = _in_a_each;
tmp4_4 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_string _a_each = NULL;
modelica_metatype _a_options = NULL;
modelica_string _i_name = NULL;
modelica_metatype _i_comment = NULL;
modelica_metatype _i_condition = NULL;
modelica_metatype _i_modifications = NULL;
modelica_metatype _i_typeSpec = NULL;
modelica_metatype _i_attributes = NULL;
modelica_metatype _i_prefixes = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_cond__str = NULL;
modelica_metatype _l_mod__str = NULL;
modelica_metatype _l_mod__str1 = NULL;
modelica_metatype _l_type__str = NULL;
modelica_metatype _l_attr__dim__str = NULL;
modelica_metatype _l_attr__pre__str = NULL;
modelica_metatype _l_cc__str = NULL;
modelica_metatype _l_prefix__str = 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;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,8) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
_i_name = tmpMeta6;
_i_prefixes = tmpMeta7;
_i_attributes = tmpMeta8;
_i_typeSpec = tmpMeta9;
_i_modifications = tmpMeta10;
_i_comment = tmpMeta11;
_i_condition = tmpMeta12;
_txt = tmp4_1;
_a_each = tmp4_3;
_a_options = tmp4_4;
_l_prefix__str = omc_SCodeDumpTpl_dumpPrefixes(threadData, _OMC_LIT4, _i_prefixes, _a_each);
_l_cc__str = omc_SCodeDumpTpl_dumpReplaceableConstrainClass(threadData, _OMC_LIT4, _i_prefixes, _a_options);
_l_attr__pre__str = omc_SCodeDumpTpl_dumpAttributes(threadData, _OMC_LIT4, _i_attributes);
_l_attr__dim__str = omc_SCodeDumpTpl_dumpAttributeDim(threadData, _OMC_LIT4, _i_attributes);
_l_type__str = omc_AbsynDumpTpl_dumpTypeSpec(threadData, _OMC_LIT4, _i_typeSpec);
_l_mod__str1 = omc_SCodeDumpTpl_dumpModifier(threadData, _OMC_LIT4, _i_modifications, _a_options);
_l_mod__str = omc_SCodeDumpTpl_fun__51(threadData, _OMC_LIT4, _a_options, _i_attributes, _l_mod__str1);
_l_cond__str = omc_SCodeDumpTpl_fun__52(threadData, _OMC_LIT4, _i_condition);
_l_cmt__str = omc_SCodeDumpTpl_dumpComment(threadData, _OMC_LIT4, _i_comment, _a_options);
_txt = omc_Tpl_writeText(threadData, _txt, _l_prefix__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_attr__pre__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_attr__dim__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeText(threadData, _txt, _l_mod__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cond__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cc__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_cmt__str);
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_SCodeDumpTpl_fun__52(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_condition)
{
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_condition;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_cond = 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 (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_cond = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT15);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT164);
_txt = omc_AbsynDumpTpl_dumpExp(threadData, _txt, _i_cond);
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_SCodeDumpTpl_fun__51(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_attributes, modelica_metatype _in_a_mod__str1)
{
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_options;
tmp4_3 = _in_a_attributes;
tmp4_4 = _in_a_mod__str1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_attributes = NULL;
modelica_metatype _a_mod__str1 = 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_integer tmp7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 10));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (0 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_mod__str1 = tmp4_4;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_mod__str1);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_attributes = tmp4_3;
_a_mod__str1 = tmp4_4;
tmpMeta1 = omc_SCodeDumpTpl_fun__50(threadData, _txt, _a_attributes, _a_mod__str1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__50(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attributes, modelica_metatype _in_a_mod__str1)
{
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_a_attributes;
tmp4_3 = _in_a_mod__str1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_mod__str1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_mod__str1 = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_mod__str1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_dumpClassAnnotation(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comment, modelica_metatype _in_a_options)
{
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_a_comment;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_annotation__ = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_txt = tmp4_1;
_i_annotation__ = tmpMeta6;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpAnnotationOpt(threadData, _txt, _i_annotation__, _a_options);
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_SCodeDumpTpl_dumpClassComment(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_comment, modelica_metatype _in_a_options)
{
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_a_comment;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_comment = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_txt = tmp4_1;
_i_comment = tmpMeta6;
_a_options = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpCommentStr(threadData, _txt, _i_comment, _a_options);
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_SCodeDumpTpl_dumpClassFooter(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_classDef, modelica_string _in_a_cdefStr, modelica_string _in_a_name, modelica_string _in_a_cmt, modelica_string _in_a_ann, modelica_string _in_a_cc__str)
{
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;modelica_string tmp4_5;modelica_string tmp4_6;modelica_string tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_classDef;
tmp4_3 = _in_a_cdefStr;
tmp4_4 = _in_a_name;
tmp4_5 = _in_a_cmt;
tmp4_6 = _in_a_ann;
tmp4_7 = _in_a_cc__str;
{
modelica_metatype _txt = NULL;
modelica_string _a_cdefStr = NULL;
modelica_string _a_name = NULL;
modelica_string _a_cmt = NULL;
modelica_string _a_ann = NULL;
modelica_string _a_cc__str = NULL;
modelica_metatype _l_annstr = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,3) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_cdefStr = tmp4_3;
_a_cmt = tmp4_5;
_a_ann = tmp4_6;
_a_cc__str = tmp4_7;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_cdefStr);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_cmt);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_ann);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_cc__str);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_cdefStr = tmp4_3;
_a_cmt = tmp4_5;
_a_ann = tmp4_6;
_a_cc__str = tmp4_7;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_cdefStr);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_cmt);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_ann);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_cc__str);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_cdefStr = tmp4_3;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_cdefStr);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_cdefStr = tmp4_3;
_a_name = tmp4_4;
_a_ann = tmp4_6;
_a_cc__str = tmp4_7;
_l_annstr = omc_SCodeDumpTpl_fun__44(threadData, _OMC_LIT4, _a_ann);
tmpMeta1 = omc_SCodeDumpTpl_fun__46(threadData, _txt, _a_cdefStr, _a_cc__str, _a_name, _l_annstr);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__46(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_cdefStr, modelica_string _in_a_cc__str, modelica_string _in_a_name, modelica_metatype _in_a_annstr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_cdefStr;
tmp4_3 = _in_a_cc__str;
tmp4_4 = _in_a_name;
tmp4_5 = _in_a_annstr;
{
modelica_metatype _txt = NULL;
modelica_string _a_cc__str = NULL;
modelica_string _a_name = NULL;
modelica_metatype _a_annstr = NULL;
modelica_string _i_cdefStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT203), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_cc__str = tmp4_3;
_a_name = tmp4_4;
_a_annstr = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_annstr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_name);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_cc__str);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_cdefStr = tmp4_2;
_a_cc__str = tmp4_3;
_a_name = tmp4_4;
_a_annstr = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT9);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_cdefStr);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_SCodeDumpTpl_fun__45(threadData, _txt, _a_annstr);
_txt = omc_Tpl_writeText(threadData, _txt, _a_annstr);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT202);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_name);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_cc__str);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__45(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_annstr)
{
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_annstr;
{
modelica_metatype _txt = 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,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__44(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ann)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ann;
{
modelica_metatype _txt = NULL;
modelica_string _i_ann = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT203), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ann = tmp4_2;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_ann);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_dumpClassDef(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_classDef, modelica_metatype _in_a_options)
{
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_a_classDef;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_pathLst = NULL;
modelica_metatype _i_derivedVariables = NULL;
modelica_metatype _i_functionPath = NULL;
modelica_metatype _i_enumLst = NULL;
modelica_metatype _i_attributes = NULL;
modelica_metatype _i_typeSpec = NULL;
modelica_metatype _i_composition = NULL;
modelica_metatype _i_modifications = NULL;
modelica_metatype _i_p_externalDecl = NULL;
modelica_metatype _i_p_initialAlgorithmLst = NULL;
modelica_metatype _i_p_normalAlgorithmLst = NULL;
modelica_metatype _i_initialEquationLst = NULL;
modelica_metatype _i_normalEquationLst = NULL;
modelica_metatype _i_elementLst = NULL;
modelica_metatype _l_func__str = NULL;
modelica_metatype _l_enum__str = NULL;
modelica_metatype _l_attr__str = NULL;
modelica_metatype _l_type__str = NULL;
modelica_metatype _l_mod__str = NULL;
modelica_metatype _l_cdef__str = NULL;
modelica_metatype _l_extdecl__str = NULL;
modelica_metatype _l_ial__str = NULL;
modelica_metatype _l_nal__str = NULL;
modelica_metatype _l_ieq__str = NULL;
modelica_metatype _l_neq__str = NULL;
modelica_metatype _l_el__str = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_metatype tmpMeta5;
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,8) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 9));
_i_elementLst = tmpMeta5;
_i_normalEquationLst = tmpMeta6;
_i_initialEquationLst = tmpMeta7;
_i_p_normalAlgorithmLst = tmpMeta8;
_i_p_initialAlgorithmLst = tmpMeta9;
_i_p_externalDecl = tmpMeta10;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_el__str = omc_SCodeDumpTpl_dumpElements(threadData, _OMC_LIT4, _i_elementLst, 1, _a_options);
_l_neq__str = omc_SCodeDumpTpl_dumpEquations(threadData, _OMC_LIT4, _i_normalEquationLst, _OMC_LIT204, _a_options);
_l_ieq__str = omc_SCodeDumpTpl_dumpEquations(threadData, _OMC_LIT4, _i_initialEquationLst, _OMC_LIT205, _a_options);
_l_nal__str = omc_SCodeDumpTpl_fun__37(threadData, _OMC_LIT4, _a_options, _i_p_normalAlgorithmLst);
_l_ial__str = omc_SCodeDumpTpl_fun__38(threadData, _OMC_LIT4, _a_options, _i_p_initialAlgorithmLst);
_l_extdecl__str = omc_SCodeDumpTpl_dumpExternalDeclOpt(threadData, _OMC_LIT4, _i_p_externalDecl, _a_options);
_l_cdef__str = omc_Tpl_writeText(threadData, _OMC_LIT4, _l_el__str);
_l_cdef__str = omc_Tpl_softNewLine(threadData, _l_cdef__str);
_l_cdef__str = omc_Tpl_writeText(threadData, _l_cdef__str, _l_ieq__str);
_l_cdef__str = omc_Tpl_softNewLine(threadData, _l_cdef__str);
_l_cdef__str = omc_Tpl_writeText(threadData, _l_cdef__str, _l_ial__str);
_l_cdef__str = omc_Tpl_softNewLine(threadData, _l_cdef__str);
_l_cdef__str = omc_Tpl_writeText(threadData, _l_cdef__str, _l_neq__str);
_l_cdef__str = omc_Tpl_softNewLine(threadData, _l_cdef__str);
_l_cdef__str = omc_Tpl_writeText(threadData, _l_cdef__str, _l_nal__str);
_l_cdef__str = omc_Tpl_softNewLine(threadData, _l_cdef__str);
_l_cdef__str = omc_Tpl_pushBlock(threadData, _l_cdef__str, _OMC_LIT134);
_l_cdef__str = omc_Tpl_writeText(threadData, _l_cdef__str, _l_extdecl__str);
_l_cdef__str = omc_Tpl_popBlock(threadData, _l_cdef__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_cdef__str);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_modifications = tmpMeta11;
_i_composition = tmpMeta12;
_txt = tmp4_1;
_a_options = tmp4_3;
omc_SCodeDumpTpl_dumpModifier(threadData, _OMC_LIT4, _i_modifications, _a_options);
_l_cdef__str = omc_SCodeDumpTpl_dumpClassDef(threadData, _OMC_LIT4, _i_composition, _a_options);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_cdef__str);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,3) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_typeSpec = tmpMeta13;
_i_modifications = tmpMeta14;
_i_attributes = tmpMeta15;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_type__str = omc_AbsynDumpTpl_dumpTypeSpec(threadData, _OMC_LIT4, _i_typeSpec);
_l_mod__str = omc_SCodeDumpTpl_dumpModifier(threadData, _OMC_LIT4, _i_modifications, _a_options);
_l_attr__str = omc_SCodeDumpTpl_dumpAttributes(threadData, _OMC_LIT4, _i_attributes);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT15);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT57);
_txt = omc_Tpl_writeText(threadData, _txt, _l_attr__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_mod__str);
tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_enumLst = tmpMeta16;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_enum__str = omc_SCodeDumpTpl_fun__40(threadData, _OMC_LIT4, _i_enumLst, _a_options);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT15);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT207);
_txt = omc_Tpl_writeText(threadData, _txt, _l_enum__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_functionPath = tmpMeta17;
_i_derivedVariables = tmpMeta18;
_txt = tmp4_1;
_l_func__str = omc_AbsynDumpTpl_dumpPath(threadData, _OMC_LIT4, _i_functionPath);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT15);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT209);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT7);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT10);
_txt = omc_SCodeDumpTpl_lm__41(threadData, _txt, _i_derivedVariables);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_pathLst = tmpMeta19;
_txt = tmp4_1;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT15);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT211);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT10);
_txt = omc_SCodeDumpTpl_lm__42(threadData, _txt, _i_pathLst);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT21);
tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_errorMsg(threadData, _txt, _OMC_LIT212);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_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_path = 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_path = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_AbsynDumpTpl_dumpPath(threadData, _txt, _i_path);
_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_SCodeDumpTpl_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_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;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__40(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_enumLst, modelica_metatype _in_a_options)
{
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_a_enumLst;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_enumLst = 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 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT214);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_enumLst = tmp4_2;
_a_options = tmp4_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT10);
_txt = omc_SCodeDumpTpl_lm__39(threadData, _txt, _i_enumLst, _a_options);
tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__39(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_options)
{
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_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_enum = 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_enum = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_options = tmp4_3;
_txt = omc_SCodeDumpTpl_dumpEnumLiteral(threadData, _txt, _i_enum, _a_options);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_options = _a_options;
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_SCodeDumpTpl_fun__38(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_p_initialAlgorithmLst)
{
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_a_options;
tmp4_3 = _in_a_p_initialAlgorithmLst;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_p_initialAlgorithmLst = NULL;
modelica_metatype _i_options = 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_integer tmp7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (0 != tmp7) goto tmp3_end;
_i_options = tmp4_2;
_txt = tmp4_1;
_a_p_initialAlgorithmLst = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpAlgorithmSections(threadData, _txt, _a_p_initialAlgorithmLst, _OMC_LIT215, _i_options);
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_SCodeDumpTpl_fun__37(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_p_normalAlgorithmLst)
{
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_a_options;
tmp4_3 = _in_a_p_normalAlgorithmLst;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_p_normalAlgorithmLst = NULL;
modelica_metatype _i_options = 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_integer tmp7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (0 != tmp7) goto tmp3_end;
_i_options = tmp4_2;
_txt = tmp4_1;
_a_p_normalAlgorithmLst = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpAlgorithmSections(threadData, _txt, _a_p_normalAlgorithmLst, _OMC_LIT216, _i_options);
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_SCodeDumpTpl_dumpClassHeader(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_classDef, modelica_string _in_a_name, modelica_metatype _in_a_restr, modelica_string _in_a_cmt, modelica_metatype _in_a_options)
{
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_metatype tmp4_4;modelica_string tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_classDef;
tmp4_3 = _in_a_name;
tmp4_4 = _in_a_restr;
tmp4_5 = _in_a_cmt;
tmp4_6 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_string _a_name = NULL;
modelica_metatype _a_restr = NULL;
modelica_string _a_cmt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_modifications = NULL;
modelica_metatype _l_mod__str = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_modifications = tmpMeta5;
_txt = tmp4_1;
_a_name = tmp4_3;
_a_cmt = tmp4_5;
_a_options = tmp4_6;
_l_mod__str = omc_SCodeDumpTpl_dumpModifier(threadData, _OMC_LIT4, _i_modifications, _a_options);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT218);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_name);
_txt = omc_Tpl_writeText(threadData, _txt, _l_mod__str);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_cmt);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,8) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_name = tmp4_3;
_a_restr = tmp4_4;
_a_cmt = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_name);
_txt = omc_SCodeDumpTpl_dumpRestrictionTypeVars(threadData, _txt, _a_restr);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_cmt);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_name = tmp4_3;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpClass(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_class, modelica_string _in_a_each, modelica_metatype _in_a_options)
{
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_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_class;
tmp4_3 = _in_a_each;
tmp4_4 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_string _a_each = NULL;
modelica_metatype _a_options = NULL;
modelica_string _i_name = NULL;
modelica_metatype _i_cmt = NULL;
modelica_metatype _i_classDef = NULL;
modelica_metatype _i_restriction = NULL;
modelica_metatype _i_partialPrefix = NULL;
modelica_metatype _i_encapsulatedPrefix = NULL;
modelica_metatype _i_prefixes = NULL;
modelica_metatype _l_footer__str = NULL;
modelica_metatype _l_header__str = NULL;
modelica_metatype _l_cc__str = NULL;
modelica_metatype _l_ann__str = NULL;
modelica_metatype _l_cmt__str = NULL;
modelica_metatype _l_cdef__str = NULL;
modelica_metatype _l_prefixes__str = NULL;
modelica_metatype _l_res__str = NULL;
modelica_metatype _l_partial__str = NULL;
modelica_metatype _l_enc__str = NULL;
modelica_metatype _l_prefix__str = 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;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,8) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
_i_name = tmpMeta6;
_i_prefixes = tmpMeta7;
_i_encapsulatedPrefix = tmpMeta8;
_i_partialPrefix = tmpMeta9;
_i_restriction = tmpMeta10;
_i_classDef = tmpMeta11;
_i_cmt = tmpMeta12;
_txt = tmp4_1;
_a_each = tmp4_3;
_a_options = tmp4_4;
_l_prefix__str = omc_SCodeDumpTpl_dumpPrefixes(threadData, _OMC_LIT4, _i_prefixes, _a_each);
_l_enc__str = omc_SCodeDumpTpl_dumpEncapsulated(threadData, _OMC_LIT4, _i_encapsulatedPrefix);
_l_partial__str = omc_SCodeDumpTpl_dumpPartial(threadData, _OMC_LIT4, _i_partialPrefix);
_l_res__str = omc_SCodeDumpTpl_dumpRestriction(threadData, _OMC_LIT4, _i_restriction);
_l_prefixes__str = omc_Tpl_writeText(threadData, _OMC_LIT4, _l_prefix__str);
_l_prefixes__str = omc_Tpl_writeText(threadData, _l_prefixes__str, _l_enc__str);
_l_prefixes__str = omc_Tpl_writeText(threadData, _l_prefixes__str, _l_partial__str);
_l_prefixes__str = omc_Tpl_writeText(threadData, _l_prefixes__str, _l_res__str);
_l_cdef__str = omc_SCodeDumpTpl_dumpClassDef(threadData, _OMC_LIT4, _i_classDef, _a_options);
_l_cmt__str = omc_SCodeDumpTpl_dumpClassComment(threadData, _OMC_LIT4, _i_cmt, _a_options);
_l_ann__str = omc_SCodeDumpTpl_dumpClassAnnotation(threadData, _OMC_LIT4, _i_cmt, _a_options);
_l_cc__str = omc_SCodeDumpTpl_dumpReplaceableConstrainClass(threadData, _OMC_LIT4, _i_prefixes, _a_options);
_l_header__str = omc_SCodeDumpTpl_dumpClassHeader(threadData, _OMC_LIT4, _i_classDef, _i_name, _i_restriction, omc_Tpl_textString(threadData, _l_cmt__str), _a_options);
_l_footer__str = omc_SCodeDumpTpl_dumpClassFooter(threadData, _OMC_LIT4, _i_classDef, omc_Tpl_textString(threadData, _l_cdef__str), _i_name, omc_Tpl_textString(threadData, _l_cmt__str), omc_Tpl_textString(threadData, _l_ann__str), omc_Tpl_textString(threadData, _l_cc__str));
_txt = omc_Tpl_writeText(threadData, _txt, _l_prefixes__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
_txt = omc_Tpl_writeText(threadData, _txt, _l_header__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_footer__str);
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_SCodeDumpTpl_dumpExtends(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extends, modelica_metatype _in_a_options)
{
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_a_extends;
tmp4_3 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_ann = NULL;
modelica_metatype _i_modifications = NULL;
modelica_metatype _i_visibility = NULL;
modelica_metatype _i_baseClassPath = NULL;
modelica_metatype _l_ann__str = NULL;
modelica_metatype _l_mod__str = NULL;
modelica_metatype _l_visibility__str = NULL;
modelica_metatype _l_bc__str = 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;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_baseClassPath = tmpMeta6;
_i_visibility = tmpMeta7;
_i_modifications = tmpMeta8;
_i_ann = tmpMeta9;
_txt = tmp4_1;
_a_options = tmp4_3;
_l_bc__str = omc_AbsynDumpTpl_dumpPath(threadData, _OMC_LIT4, _i_baseClassPath);
_l_visibility__str = omc_SCodeDumpTpl_dumpVisibility(threadData, _OMC_LIT4, _i_visibility);
_l_mod__str = omc_SCodeDumpTpl_dumpModifier(threadData, _OMC_LIT4, _i_modifications, _a_options);
_l_ann__str = omc_SCodeDumpTpl_dumpAnnotationOpt(threadData, _OMC_LIT4, _i_ann, _a_options);
_txt = omc_Tpl_writeText(threadData, _txt, _l_visibility__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT218);
_txt = omc_Tpl_writeText(threadData, _txt, _l_bc__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_mod__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_ann__str);
goto tmp3_done;
}
case 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_SCodeDumpTpl_dumpImport(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_import)
{
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_import;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_imp = NULL;
modelica_metatype _i_visibility = NULL;
modelica_metatype _l_import__str = NULL;
modelica_metatype _l_visibility__str = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_imp = tmpMeta6;
_i_visibility = tmpMeta7;
_txt = tmp4_1;
_l_visibility__str = omc_SCodeDumpTpl_dumpVisibility(threadData, _OMC_LIT4, _i_visibility);
_l_import__str = omc_SCodeDumpTpl_fun__32(threadData, _OMC_LIT4, _i_imp);
_txt = omc_Tpl_writeText(threadData, _txt, _l_visibility__str);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_import__str);
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_SCodeDumpTpl_fun__32(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_imp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_imp;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_path = NULL;
modelica_string _i_name = 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_name = tmpMeta5;
_i_path = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT220);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT189);
tmpMeta1 = omc_AbsynDumpTpl_dumpPath(threadData, _txt, _i_path);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_path = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT220);
tmpMeta1 = omc_AbsynDumpTpl_dumpPath(threadData, _txt, _i_path);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_path = tmpMeta8;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT220);
_txt = omc_AbsynDumpTpl_dumpPath(threadData, _txt, _i_path);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT222);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_errorMsg(threadData, _txt, _OMC_LIT223);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_dumpSectionVisibility(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_boolean _in_a_inPublicSection)
{
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_a_visibility;
tmp4_3 = _in_a_inPublicSection;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_inPublicSection;
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;
_a_inPublicSection = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_fun__29(threadData, _txt, _a_inPublicSection);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_inPublicSection = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_fun__30(threadData, _txt, _a_inPublicSection);
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;
}
modelica_metatype boxptr_SCodeDumpTpl_dumpSectionVisibility(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_inPublicSection)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inPublicSection);
_out_txt = omc_SCodeDumpTpl_dumpSectionVisibility(threadData, _in_txt, _in_a_visibility, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__30(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_inPublicSection)
{
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_inPublicSection;
{
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;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT225);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT9);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__30(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inPublicSection)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inPublicSection);
_out_txt = omc_SCodeDumpTpl_fun__30(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__29(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_inPublicSection)
{
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_inPublicSection;
{
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;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT227);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT9);
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 boxptr_SCodeDumpTpl_fun__29(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inPublicSection)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inPublicSection);
_out_txt = omc_SCodeDumpTpl_fun__29(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpElementVisibility(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_element, modelica_boolean _in_a_inPublicSection)
{
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_a_element;
tmp4_3 = _in_a_inPublicSection;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_inPublicSection;
modelica_metatype _i_vis = NULL;
modelica_metatype _i_visibility = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_visibility = tmpMeta6;
_txt = tmp4_1;
_a_inPublicSection = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpSectionVisibility(threadData, _txt, _i_visibility, _a_inPublicSection);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,5) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_visibility = tmpMeta7;
_txt = tmp4_1;
_a_inPublicSection = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpSectionVisibility(threadData, _txt, _i_visibility, _a_inPublicSection);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,8) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
_i_vis = tmpMeta9;
_txt = tmp4_1;
_a_inPublicSection = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpSectionVisibility(threadData, _txt, _i_vis, _a_inPublicSection);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,8) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 2));
_i_vis = tmpMeta11;
_txt = tmp4_1;
_a_inPublicSection = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpSectionVisibility(threadData, _txt, _i_vis, _a_inPublicSection);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_visibility = tmpMeta12;
_txt = tmp4_1;
_a_inPublicSection = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpSectionVisibility(threadData, _txt, _i_visibility, _a_inPublicSection);
goto tmp3_done;
}
case 5: {
_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;
}
modelica_metatype boxptr_SCodeDumpTpl_dumpElementVisibility(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_element, modelica_metatype _in_a_inPublicSection)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inPublicSection);
_out_txt = omc_SCodeDumpTpl_dumpElementVisibility(threadData, _in_txt, _in_a_element, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpElement(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_element, modelica_string _in_a_each, modelica_metatype _in_a_options)
{
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_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_element;
tmp4_3 = _in_a_each;
tmp4_4 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_string _a_each = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _i_element = NULL;
modelica_metatype _i_visibility = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_element = tmp4_2;
_i_visibility = tmpMeta6;
_txt = tmp4_1;
_a_options = tmp4_4;
tmpMeta1 = omc_SCodeDumpTpl_fun__26(threadData, _txt, _i_visibility, _i_element, _a_options);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,5) == 0) goto tmp3_end;
_i_element = tmp4_2;
_txt = tmp4_1;
_a_options = tmp4_4;
tmpMeta1 = omc_SCodeDumpTpl_dumpExtends(threadData, _txt, _i_element, _a_options);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,8) == 0) goto tmp3_end;
_i_element = tmp4_2;
_txt = tmp4_1;
_a_each = tmp4_3;
_a_options = tmp4_4;
tmpMeta1 = omc_SCodeDumpTpl_dumpClass(threadData, _txt, _i_element, _a_each, _a_options);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,8) == 0) goto tmp3_end;
_i_element = tmp4_2;
_txt = tmp4_1;
_a_each = tmp4_3;
_a_options = tmp4_4;
tmpMeta1 = omc_SCodeDumpTpl_dumpComponent(threadData, _txt, _i_element, _a_each, _a_options);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
_i_element = tmp4_2;
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_dumpDefineUnit(threadData, _txt, _i_element);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_errorMsg(threadData, _txt, _OMC_LIT228);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__26(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_element, modelica_metatype _in_a_options)
{
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_visibility;
tmp4_3 = _in_a_element;
tmp4_4 = _in_a_options;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_element = NULL;
modelica_metatype _a_options = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_element = tmp4_3;
_a_options = tmp4_4;
tmpMeta1 = omc_SCodeDumpTpl_fun__25(threadData, _txt, _a_options, _a_element);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_element = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpImport(threadData, _txt, _a_element);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__25(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_options, modelica_metatype _in_a_element)
{
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_a_options;
tmp4_3 = _in_a_element;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_element = 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_integer tmp7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (1 != tmp7) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_element = tmp4_3;
tmpMeta1 = omc_SCodeDumpTpl_dumpImport(threadData, _txt, _a_element);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_dumpClassDefSpacing(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_classDef)
{
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_classDef;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_composition = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_composition = tmpMeta5;
_txt = tmp4_1;
_in_txt = _txt;
_in_a_classDef = _i_composition;
goto _tailrecursive;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,8) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT9);
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;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpElementSpacing(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_element)
{
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_element;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_classDef = 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,2,8) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_classDef = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_SCodeDumpTpl_dumpClassDefSpacing(threadData, _txt, _i_classDef);
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_SCodeDumpTpl_dumpPreElementSpacing(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_curSpacing, modelica_boolean _a_prevSpacing)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_SCodeDumpTpl_fun__21(threadData, _txt, _a_prevSpacing, _a_curSpacing);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_SCodeDumpTpl_dumpPreElementSpacing(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_curSpacing, modelica_metatype _a_prevSpacing)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_prevSpacing);
_out_txt = omc_SCodeDumpTpl_dumpPreElementSpacing(threadData, _txt, _a_curSpacing, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__21(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_prevSpacing, modelica_string _in_a_curSpacing)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_prevSpacing;
tmp4_3 = _in_a_curSpacing;
{
modelica_metatype _txt = NULL;
modelica_string _a_curSpacing = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_curSpacing = tmp4_3;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_curSpacing);
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 boxptr_SCodeDumpTpl_fun__21(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_prevSpacing, modelica_metatype _in_a_curSpacing)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_prevSpacing);
_out_txt = omc_SCodeDumpTpl_fun__21(threadData, _in_txt, tmp1, _in_a_curSpacing);
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpElements3(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_elements, modelica_integer _a_numElements, modelica_metatype _a_prevSpacing, modelica_boolean _a_indent, modelica_metatype _a_inPublicSection, modelica_metatype _a_options)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT229);
_out_txt = omc_SCodeDumpTpl_lm__19(threadData, _out_txt, _a_elements, _a_indent, _a_numElements, _a_inPublicSection, _a_options, _a_prevSpacing);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_SCodeDumpTpl_dumpElements3(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_elements, modelica_metatype _a_numElements, modelica_metatype _a_prevSpacing, modelica_metatype _a_indent, modelica_metatype _a_inPublicSection, modelica_metatype _a_options)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_numElements);
tmp2 = mmc_unbox_integer(_a_indent);
_out_txt = omc_SCodeDumpTpl_dumpElements3(threadData, _txt, _a_elements, tmp1, _a_prevSpacing, tmp2, _a_inPublicSection, _a_options);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_lm__19(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_boolean _in_a_indent, modelica_integer _in_a_numElements, modelica_metatype _in_a_inPublicSection, modelica_metatype _in_a_options, modelica_metatype _in_a_prevSpacing)
{
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;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_indent;
tmp4_4 = _in_a_numElements;
tmp4_5 = _in_a_inPublicSection;
tmp4_6 = _in_a_options;
tmp4_7 = _in_a_prevSpacing;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_boolean _a_indent;
modelica_integer _a_numElements;
modelica_metatype _a_inPublicSection = NULL;
modelica_metatype _a_options = NULL;
modelica_metatype _a_prevSpacing = NULL;
modelica_integer _x_i1;
modelica_metatype _i_el = NULL;
modelica_boolean _ret_10;
modelica_boolean _ret_9;
modelica_metatype _l_post__spacing = NULL;
modelica_boolean _ret_6;
modelica_metatype _l_vis__str = NULL;
modelica_metatype _l_el__str = NULL;
modelica_boolean _ret_3;
modelica_boolean _ret_2;
modelica_metatype _l_pre__spacing = NULL;
modelica_metatype _l_spacing = 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_el = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_indent = tmp4_3;
_a_numElements = tmp4_4;
_a_inPublicSection = tmp4_5;
_a_options = tmp4_6;
_a_prevSpacing = tmp4_7;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_spacing = omc_SCodeDumpTpl_dumpElementSpacing(threadData, _OMC_LIT4, _i_el);
_ret_2 = (((modelica_integer) 1) == _x_i1);
_ret_3 = (!_ret_2);
_l_pre__spacing = omc_SCodeDumpTpl_fun__14(threadData, _OMC_LIT4, _ret_3, _a_prevSpacing, _l_spacing);
_l_el__str = omc_SCodeDumpTpl_dumpElement(threadData, _OMC_LIT4, _i_el, _OMC_LIT203, _a_options);
_ret_6 = omc_Util_getStatefulBoolean(threadData, _a_inPublicSection);
_l_vis__str = omc_SCodeDumpTpl_dumpElementVisibility(threadData, _OMC_LIT4, _i_el, _ret_6);
omc_SCodeDumpTpl_fun__15(threadData, _OMC_LIT4, _l_vis__str, _a_inPublicSection);
_ret_9 = (_x_i1 == _a_numElements);
_ret_10 = (!_ret_9);
_l_post__spacing = omc_SCodeDumpTpl_fun__17(threadData, _OMC_LIT4, _ret_10, _l_spacing, _a_prevSpacing);
_txt = omc_SCodeDumpTpl_fun__18(threadData, _txt, _a_indent, _l_post__spacing, _l_el__str, _l_vis__str, _l_pre__spacing);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_indent = _a_indent;
_in_a_numElements = _a_numElements;
_in_a_inPublicSection = _a_inPublicSection;
_in_a_options = _a_options;
_in_a_prevSpacing = _a_prevSpacing;
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_SCodeDumpTpl_lm__19(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_indent, modelica_metatype _in_a_numElements, modelica_metatype _in_a_inPublicSection, modelica_metatype _in_a_options, modelica_metatype _in_a_prevSpacing)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_indent);
tmp2 = mmc_unbox_integer(_in_a_numElements);
_out_txt = omc_SCodeDumpTpl_lm__19(threadData, _in_txt, _in_items, tmp1, tmp2, _in_a_inPublicSection, _in_a_options, _in_a_prevSpacing);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__18(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_indent, modelica_metatype _in_a_post__spacing, modelica_metatype _in_a_el__str, modelica_metatype _in_a_vis__str, modelica_metatype _in_a_pre__spacing)
{
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;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_indent;
tmp4_3 = _in_a_post__spacing;
tmp4_4 = _in_a_el__str;
tmp4_5 = _in_a_vis__str;
tmp4_6 = _in_a_pre__spacing;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_post__spacing = NULL;
modelica_metatype _a_el__str = NULL;
modelica_metatype _a_vis__str = NULL;
modelica_metatype _a_pre__spacing = 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_post__spacing = tmp4_3;
_a_el__str = tmp4_4;
_a_vis__str = tmp4_5;
_a_pre__spacing = tmp4_6;
_txt = omc_Tpl_writeText(threadData, _txt, _a_pre__spacing);
_txt = omc_Tpl_writeText(threadData, _txt, _a_vis__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_el__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
_txt = omc_Tpl_writeText(threadData, _txt, _a_post__spacing);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT9);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_post__spacing = tmp4_3;
_a_el__str = tmp4_4;
_a_vis__str = tmp4_5;
_a_pre__spacing = tmp4_6;
_txt = omc_Tpl_writeText(threadData, _txt, _a_pre__spacing);
_txt = omc_Tpl_writeText(threadData, _txt, _a_vis__str);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT134);
_txt = omc_Tpl_writeText(threadData, _txt, _a_el__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT14);
_txt = omc_Tpl_writeText(threadData, _txt, _a_post__spacing);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT9);
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 boxptr_SCodeDumpTpl_fun__18(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_indent, modelica_metatype _in_a_post__spacing, modelica_metatype _in_a_el__str, modelica_metatype _in_a_vis__str, modelica_metatype _in_a_pre__spacing)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_indent);
_out_txt = omc_SCodeDumpTpl_fun__18(threadData, _in_txt, tmp1, _in_a_post__spacing, _in_a_el__str, _in_a_vis__str, _in_a_pre__spacing);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__17(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_spacing, modelica_metatype _in_a_prevSpacing)
{
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;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_spacing;
tmp4_4 = _in_a_prevSpacing;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_spacing = NULL;
modelica_metatype _a_prevSpacing = 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_prevSpacing = tmp4_4;
omc_Util_setStatefulBoolean(threadData, _a_prevSpacing, 0);
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_spacing = tmp4_3;
_a_prevSpacing = tmp4_4;
tmpMeta1 = omc_SCodeDumpTpl_fun__16(threadData, _txt, _a_spacing, _a_prevSpacing);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_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_SCodeDumpTpl_fun__17(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_spacing, modelica_metatype _in_a_prevSpacing)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_SCodeDumpTpl_fun__17(threadData, _in_txt, tmp1, _in_a_spacing, _in_a_prevSpacing);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__16(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_spacing, modelica_metatype _in_a_prevSpacing)
{
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_a_spacing;
tmp4_3 = _in_a_prevSpacing;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prevSpacing = NULL;
modelica_metatype _i_spacing = 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,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_prevSpacing = tmp4_3;
omc_Util_setStatefulBoolean(threadData, _a_prevSpacing, 0);
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_spacing = tmp4_2;
_a_prevSpacing = tmp4_3;
omc_Util_setStatefulBoolean(threadData, _a_prevSpacing, 1);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _i_spacing);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_SCodeDumpTpl_fun__15(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_vis__str, modelica_metatype _in_a_inPublicSection)
{
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_a_vis__str;
tmp4_3 = _in_a_inPublicSection;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_inPublicSection = 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;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_inPublicSection = tmp4_3;
_ret_0 = omc_Util_getStatefulBoolean(threadData, _a_inPublicSection);
_ret_1 = (!_ret_0);
omc_Util_setStatefulBoolean(threadData, _a_inPublicSection, _ret_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_SCodeDumpTpl_fun__14(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_prevSpacing, modelica_metatype _in_a_spacing)
{
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;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_prevSpacing;
tmp4_4 = _in_a_spacing;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prevSpacing = NULL;
modelica_metatype _a_spacing = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_prevSpacing = tmp4_3;
_a_spacing = tmp4_4;
_ret_0 = omc_Util_getStatefulBoolean(threadData, _a_prevSpacing);
tmpMeta1 = omc_SCodeDumpTpl_dumpPreElementSpacing(threadData, _txt, omc_Tpl_textString(threadData, _a_spacing), _ret_0);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_SCodeDumpTpl_fun__14(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_prevSpacing, modelica_metatype _in_a_spacing)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_SCodeDumpTpl_fun__14(threadData, _in_txt, tmp1, _in_a_prevSpacing, _in_a_spacing);
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpElements2(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_elements, modelica_boolean _a_indent, modelica_metatype _a_options)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_integer _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = listLength(_a_elements);
_ret_1 = omc_Util_makeStatefulBoolean(threadData, 0);
_ret_2 = omc_Util_makeStatefulBoolean(threadData, 1);
_out_txt = omc_SCodeDumpTpl_dumpElements3(threadData, _txt, _a_elements, _ret_0, _ret_1, _a_indent, _ret_2, _a_options);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_SCodeDumpTpl_dumpElements2(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_elements, modelica_metatype _a_indent, modelica_metatype _a_options)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_indent);
_out_txt = omc_SCodeDumpTpl_dumpElements2(threadData, _txt, _a_elements, tmp1, _a_options);
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpElements(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_elements, modelica_boolean _a_indent, modelica_metatype _a_options)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_SCodeDump_filterElements(threadData, _a_elements, _a_options);
_out_txt = omc_SCodeDumpTpl_dumpElements2(threadData, _txt, _ret_0, _a_indent, _a_options);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_SCodeDumpTpl_dumpElements(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_elements, modelica_metatype _a_indent, modelica_metatype _a_options)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_indent);
_out_txt = omc_SCodeDumpTpl_dumpElements(threadData, _txt, _a_elements, tmp1, _a_options);
return _out_txt;
}
DLLExport
modelica_metatype omc_SCodeDumpTpl_dumpProgram(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_program, modelica_metatype _a_options)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_SCodeDumpTpl_dumpElements(threadData, _txt, _a_program, 0, _a_options);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
