#include "M3Runtime.h" typedef struct { int tc; char* str; int len; } TXT; PRIVATE TXT txt1 = { 3, "z@", 3}; PRIVATE TXT txt2 = { 3, "t@ z@;\012", 8}; #define t64 ADDRESS typedef int t7; #define TC64 TC_ADDRESS IMPORT TYPE TC_ADDRESS; IMPORT char VS_ADDRESS__30f7308738738b44; #line 19 "../Interfaces/M3.i3" #define t3 ADDRESS #define TC3 TC_M3__Temp IMPORT TYPE TC_M3__Temp; #line 19 IMPORT char VS_M3__Temp__450b691937f03dae; #line 30 "Temp.m3" #define t17 ADDRESS #define t78 ADDRESS #define t81 void typedef struct { TYPE self; int private; } t78_methods; #define t78_msize (sizeof (t78_methods)) typedef struct { ADDRESS methods; } t78_fields; #define t78_size (sizeof (t78_fields)) #define TC78 TC_UNTRACED_ROOT IMPORT TYPE TC_UNTRACED_ROOT; IMPORT char VS_UNTRACED_ROOT__3e0964513fd6da20; #line 16 "../Interfaces/M3.i3" #define t11 ADDRESS #define TC11 TC_M3__Expr IMPORT TYPE TC_M3__Expr; #line 16 IMPORT char VS_M3__Expr__8ae39aaa2d432477; #define t8 ADDRESS #define TC8 TC_M3__Type IMPORT TYPE TC_M3__Type; #line 18 IMPORT char VS_M3__Type__4d87bc25311f81d2; #line 15 #define t10 ADDRESS #define TC10 TC_M3__Value IMPORT TYPE TC_M3__Value; #line 15 IMPORT char VS_M3__Value__6f64cf9c2cae25fb; #line 33 "Temp.m3" typedef unsigned char t16; typedef unsigned char t5; #line 20 typedef struct { t7 _id; t11 _value; t8 _type; t7 _uses; t10 _obj; t16 _class; t11 _printE; t5 _lValue; t3 _d1; t3 _d2; } t18; PRIVATE void t17_PrintProc (); PRIVATE typecell t17_TC; PRIVATE typecell t17_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, 36, 0, NIL, 0, 0, (PROC)NIL, (PROC)NIL, t17_PrintProc, #line 30 "Temp#$%^_0001", 1629025837, 1027488190}; PRIVATE TYPE TC17 = &t17_TC; #define t33 ADDRESS #define TC33 TC_REFANY IMPORT TYPE TC_REFANY; IMPORT char VS_REFANY__4b8748e831fc107a; #line 17 "../Interfaces/Scope.i3" #define t43 ADDRESS typedef struct { #line 116 ".ROOT/.boots/corelib/Interfaces/Wr.i3" char* elts; int size[1]; } t67; #line 17 "../Interfaces/Scope.i3" #define t47 t67 #define TC43 TC_Scope__ValueList IMPORT TYPE TC_Scope__ValueList; #line 17 IMPORT char VS_Scope__ValueList__64bf053e22e4e53c; #line 16 "../Interfaces/Type.i3" #define t51 ADDRESS #define t1 t67 #define TC51 TC_Type__Map IMPORT TYPE TC_Type__Map; #line 16 IMPORT char VS_Type__Map__41dd9f4b33104fce; #line 14 "./Expr.i3" #define t54 ADDRESS #define t55 t67 #define TC54 TC_Expr__List IMPORT TYPE TC_Expr__List; #line 14 IMPORT char VS_Expr__List__3f87eceb2b9a246a; #line 17 "../Interfaces/Type.i3" #define t58 ADDRESS typedef struct { #line 17 t58 _next; t8 _type; } t59; #define TC58 TC_Type__List IMPORT TYPE TC_Type__List; #line 17 IMPORT char VS_Type__List__5791758e343becc1; #define t82 ADDRESS #define TC82 TC_NULL IMPORT TYPE TC_NULL; IMPORT char VS_NULL__fb50c7d53bec30dc; #line 36 "Temp.m3" #define t2 t67 typedef t81 (*t4)(); #line 186 typedef t5 (*t6)(); #line 112 typedef t3 (*t9)(); #line 37 typedef short t12; typedef struct { t7 elts[401]; } t13; #line 36 typedef short t14; typedef struct { t3 elts[10001]; } t15; #define t34 ADDRESS typedef struct { TYPE self; int private; } t34_methods; #define t34_msize (sizeof (t34_methods)) typedef struct { ADDRESS methods; } t34_fields; #define t34_size (sizeof (t34_fields)) #define TC34 TC_ROOT IMPORT TYPE TC_ROOT; IMPORT char VS_ROOT__349f58f628be0ac6; #define t34_MapProc TC_ROOT->mapProc #define t19 ADDRESS #define TC19 TC_Rd__T IMPORT TYPE TC_Rd__T; #line 83 ".ROOT/.boots/corelib/Interfaces/Rd.i3" IMPORT char VS_Rd__T__2555b70b3f7780b1; #define t19_MapProc TC_Rd__T->mapProc #define t20 ADDRESS #define TC20 TC_String__T IMPORT TYPE TC_String__T; #line 13 "../Interfaces/String.i3" IMPORT char VS_String__T__3a6c7dc12615e4ee; #line 15 "../Interfaces/Token.i3" typedef unsigned char t24; #line 45 typedef struct { int elts[4]; } t21; #define t22 ADDRESS #define TC22 TC_TEXT IMPORT TYPE TC_TEXT; IMPORT char VS_TEXT__b7a92447326386f5; #define t22_MapProc TC_TEXT->mapProc typedef t20 (*t23)(); #line 13 "../Interfaces/Scanner.i3" typedef struct { t24 _token; t20 _string; t7 _value; t7 _offset; } t25; typedef int t26; #line 249 ".ROOT/.boots/corelib/Interfaces/Rd.i3" typedef t26 (*t27)(); #line 220 typedef t22 (*t28)(); typedef unsigned char t29; #line 189 #define t30 t67 typedef t29 (*t31)(); #line 84 typedef unsigned char t32; #line 27 "../Interfaces/Emit.i3" typedef signed_char t35; #line 63 typedef t35 (*t36)(); #line 19 "../Interfaces/String.i3" typedef signed_char t62; #line 65 "../Interfaces/Token.i3" #define t60 t67 typedef struct { t20 elts[100]; } t63; #line 17 "../Interfaces/String.i3" typedef struct { t7 _top; t63 _stk; } t37; #line 16 "../Interfaces/Variable.i3" #define t38 ADDRESS #define TC38 TC_Variable__T IMPORT TYPE TC_Variable__T; #line 16 IMPORT char VS_Variable__T__be7ead4a3afd8be5; typedef double t39; #line 14 "../Interfaces/M3.i3" #define t40 ADDRESS #define TC40 TC_M3__Scope IMPORT TYPE TC_M3__Scope; #line 14 IMPORT char VS_M3__Scope__6e6d8848308d8a2d; #line 24 "../Interfaces/Variable.i3" typedef t38 (*t41)(); #line 14 "../Interfaces/Decl.i3" typedef struct { t20 _alias; t5 _isExternal; t5 _isInline; t5 _isUnused; t5 _isObsolete; } t42; #line 14 "../Interfaces/String.i3" typedef struct { t20 _module; t20 _item; } t44; #line 38 "../Interfaces/Scope.i3" typedef t10 (*t45)(); #line 31 typedef t40 (*t46)(); #line 45 "../Interfaces/Value.i3" typedef t8 (*t48)(); #line 44 typedef t11 (*t49)(); #line 90 ".ROOT/.boots/corelib/Interfaces/Wr.i3" #define t50 ADDRESS #define TC50 TC_Wr__T IMPORT TYPE TC_Wr__T; #line 90 IMPORT char VS_Wr__T__2555b70b3f7780b1; #define t50_MapProc TC_Wr__T->mapProc typedef unsigned char t52; #line 40 "../Interfaces/Value.i3" typedef t52 (*t53)(); #line 121 "../Interfaces/Type.i3" typedef t51 (*t56)(); #line 97 typedef t7 (*t57)(); #line 65 "../Interfaces/Token.i3" typedef struct { t20 elts[97]; } t61; #line 67 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef signed_char t65; typedef t65 (*t66)(); #line 91 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef unsigned char t68; #line 15 ".ROOT/.boots/corelib/Interfaces/Thread.i3" #define t69 ADDRESS #define TC69 TC_Thread__T IMPORT TYPE TC_Thread__T; #line 15 IMPORT char VS_Thread__T__2555b70b3f7780b1; #define t69_MapProc TC_Thread__T->mapProc typedef t33 (*t70)(); #define t71 ADDRESS #define TC71 TC_Thread__Condition IMPORT TYPE TC_Thread__Condition; #line 21 IMPORT char VS_Thread__Condition__26d5968239e08f4e; #define t71_MapProc TC_Thread__Condition->mapProc #define t72 ADDRESS #define TC72 TC_MUTEX IMPORT TYPE TC_MUTEX; IMPORT char VS_MUTEX__1f9d4e89391ab815; #define t72_MapProc TC_MUTEX->mapProc typedef t69 (*t73)(); #line 23 #define t74 ADDRESS #line 23 typedef struct { t70 _apply; } t74_methods; #define t74_msize (sizeof (t74_methods)) typedef struct { #line 23 int filler; } t74_fields; #define t74_size (sizeof (t74_fields)) #define TC74 TC_Thread__Closure IMPORT TYPE TC_Thread__Closure; #line 23 IMPORT char VS_Thread__Closure__7fb5c6232c5a658a; #define t74_MapProc TC_Thread__Closure->mapProc typedef t71 (*t75)(); typedef t72 (*t76)(); #line 28 #define t77 ADDRESS #line 28 typedef struct { int filler; } t77_methods; #define t77_msize (sizeof (t77_methods)) typedef struct { #line 28 t26 _stackSize; } t77_fields; #define t77_size (sizeof (t77_fields)) #define TC77 TC_Thread__SizedClosure IMPORT TYPE TC_Thread__SizedClosure; #line 28 IMPORT char VS_Thread__SizedClosure__8a46717d2eae7b07; #define t77_MapProc TC_Thread__SizedClosure->mapProc #define t79 ADDRESS #define TC79 TC_M3__Stmt IMPORT TYPE TC_M3__Stmt; #line 17 "../Interfaces/M3.i3" IMPORT char VS_M3__Stmt__376b307627fc1f2f; typedef CLOSURE t80; typedef float t83; #line 11 "Temp.m3" IMPORT INITLINK* Scanner__init; IMPORT INITLINK* Value__init; IMPORT INITLINK* Emit__init; IMPORT INITLINK* Type__init; IMPORT INITLINK* Expr__init; #line 11 IMPORT INITLINK* M3__init; IMPORT INITLINK* Temp__init; IMPORT t7 _Scanner__offset; IMPORT char VS_Scanner__offset__dfc05f042d8347f4; #line 11 IMPORT TYPE TC_Value__T; IMPORT char VS_Value__T__2446b70b3f7780a5; IMPORT t81 _Value__Write (); IMPORT char VS_Value__Write__d355e5303c98d83c; #line 11 IMPORT char VS_Emit__MaxStream__cf0a0e8934c9c9f3; IMPORT TYPE TC_Emit__Format; IMPORT char VS_Emit__Format__bc4a2b083b93bbd7; #line 11 IMPORT t81 _Emit__OpI (); IMPORT char VS_Emit__OpI__02cb878634bb9f49; IMPORT t81 _Emit__OpII (); IMPORT char VS_Emit__OpII__2247fe46332f901b; #line 11 IMPORT t35 _Emit__Switch (); IMPORT char VS_Emit__Switch__e69d0876372d3ad7; IMPORT TYPE TC_Type__T; IMPORT char VS_Type__T__2446b70b3f7780a5; #line 11 IMPORT t7 _Type__Name (); IMPORT char VS_Type__Name__f99416972257a869; IMPORT TYPE TC_Expr__T; IMPORT char VS_Expr__T__2446b70b3f7780a5; #line 11 IMPORT t8 _Expr__TypeOf (); IMPORT char VS_Expr__TypeOf__fef0a11b388c64fa; IMPORT t81 _Expr__Write (); IMPORT char VS_Expr__Write__99a50fe128e7a9a9; #line 11 IMPORT t5 _Expr__IsEqual (); IMPORT char VS_Expr__IsEqual__062d8b2c385e35a9; IMPORT TYPE TC_Temp__T; IMPORT char VS_Temp__T__3a6c7dc12615e4ee; #line 11 EXPORT t5 _Temp__LookUp (); EXPORT char VS_Temp__LookUp__2512b80c23ad6534 = '\0'; EXPORT t3 _Temp__AllocEmpty (); EXPORT char VS_Temp__AllocEmpty__20296f6d2a78c948 = '\0'; #line 11 EXPORT t3 _Temp__AllocMacro (); EXPORT char VS_Temp__AllocMacro__0d68005335e03ba8 = '\0'; EXPORT t3 _Temp__Alloc (); EXPORT char VS_Temp__Alloc__0b946c9d3ec0974e = '\0'; #line 11 EXPORT t81 _Temp__Free (); EXPORT char VS_Temp__Free__3b952a2225c26846 = '\0'; EXPORT t81 _Temp__Depend (); EXPORT char VS_Temp__Depend__11ca183d3fa8461d = '\0'; #line 11 EXPORT t3 _Temp__FromExpr (); EXPORT char VS_Temp__FromExpr__808b53eb2a7a6d33 = '\0'; EXPORT t3 _Temp__FromValue (); EXPORT char VS_Temp__FromValue__c79a4f6f291f20ac = '\0'; #line 11 EXPORT t5 _Temp__IsLValue (); EXPORT char VS_Temp__IsLValue__20003d7d3f6a672a = '\0'; EXPORT t81 _Temp__PushSet (); EXPORT char VS_Temp__PushSet__421e3799382982bc = '\0'; #line 11 EXPORT t81 _Temp__PopSet (); EXPORT char VS_Temp__PopSet__e0f9f19236e0186c = '\0'; EXPORT t81 _Temp__AssertAllFree (); EXPORT char VS_Temp__AssertAllFree__45ab104727248609 = '\0'; #line 11 EXPORT t81 _Temp__KillValues (); EXPORT char VS_Temp__KillValues__52fb8d5834172b56 = '\0'; EXPORT t81 _Temp__Write (); EXPORT char VS_Temp__Write__1a33b61039feaf76 = '\0'; #line 11 PRIVATE t15 _Temp__x; PRIVATE t13 _Temp__s; PRIVATE t7 _Temp__topX; PRIVATE t7 _Temp__topS; PRIVATE t3 _Temp__FindFree (); #line 11 EXPORT char VS_M3__Temp__8228f80530f41c9d = '\0'; #line 42 "Temp.m3" EXPORT t5 _Temp__LookUp (_e, _lValue, _t) t11 _e; t5 _lValue; t3 * _t; { t7 z3; t7 z1; t7 z2; t3 z4; t5 z5; t5 z0; t5 z6; #line 42 "Temp.m3" { auto t5 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; { int from, to, index; z3 = _Temp__topS - 1 ; z1 = z3; if ((z1 < 0) || (400 < z1)) RANGEFAULT; from = (_Temp__s.elts[z1]); #line 45 z2 = _Temp__topX - 1 ; to = z2; { auto t7 _i; { for (index = from; index <= to; index += 1) { _i = (t7) index; { t18 *with; z2 = _i; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; NILCHECKB (z4 = (_Temp__x.elts[z2])); with = &(*((t18*) z4)); #line 46 { auto t18 * _z; { _z = with; z5 = (((*_z)._class) == 1 ); z0 = 1; if (! z5) { z5 = (((*_z)._class) == 4 ); z0 = z5; }; z5 = 0; #line 47 if (z0) { z6 = (((*_z)._value) != 0); z5 = z6; }; z0 = 0; if (z5) { z5 = ! _lValue; z6 = 1; if (! z5) { #line 47 z6 = ((*_z)._lValue); }; z0 = z6; }; z5 = 0; if (z0) { z6 = _Expr__IsEqual (((*_z)._value), _e); #line 47 z5 = z6; }; if (z5) { z2 = _i; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; (*_t) = (_Temp__x.elts[z2]); ((*_z)._uses) += 1 ; __result = 1 ; return __result; }; } } }; } } }; }; __result = 0 ; return __result; } } }; #line 60 "Temp.m3" EXPORT t3 _Temp__Alloc (_e) t11 _e; { t8 z3; t3 z1; t5 z2; t3 z4; #line 60 "Temp.m3" { auto t3 _t; auto t3 __result; { z3 = _Expr__TypeOf (_e); z1 = _Temp__FindFree (z3); _t = z1; #line 60 CHECKSTACKOVERFLOW; z2 = (_e != 0); if (!z2) ASSERTFAULT; NILCHECKA (z4 = _t); ((*((t18*) z4))._class) = 1 ; NILCHECKA (z4 = _t); ((*((t18*) z4))._value) = _e; NILCHECKA (z4 = _t); ((*((t18*) z4))._lValue) = 0 ; __result = _t; return __result; } } }; #line 70 "Temp.m3" EXPORT t3 _Temp__AllocEmpty (_tipe, _lValue) t8 _tipe; t5 _lValue; { t3 z2; #line 70 "Temp.m3" { auto t3 _t; auto t3 __result; { z2 = _Temp__FindFree (_tipe); _t = z2; #line 70 CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); ((*((t18*) z2))._class) = 1 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._value) = (t11) 0; NILCHECKA (z2 = _t); ((*((t18*) z2))._lValue) = _lValue; __result = _t; return __result; } } }; #line 79 "Temp.m3" EXPORT t3 _Temp__AllocMacro (_e, _lValue) t11 _e; t5 _lValue; { t3 z2; t5 z3; #line 79 "Temp.m3" { auto t3 _t; auto t3 __result; { z2 = _Temp__FindFree (0); _t = z2; #line 79 CHECKSTACKOVERFLOW; z3 = (_e != 0); if (!z3) ASSERTFAULT; NILCHECKA (z2 = _t); ((*((t18*) z2))._class) = 4 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._value) = _e; NILCHECKA (z2 = _t); ((*((t18*) z2))._lValue) = _lValue; NILCHECKA (z2 = _t); ((*((t18*) z2))._printE) = _e; __result = _t; return __result; } } }; #line 90 "Temp.m3" EXPORT t3 _Temp__FromExpr (_e) t11 _e; { t3 z2; t5 z3; #line 90 "Temp.m3" { auto t3 _t; auto t3 __result; { z2 = _Temp__FindFree (0); _t = z2; #line 90 CHECKSTACKOVERFLOW; z3 = (_e != 0); if (!z3) ASSERTFAULT; NILCHECKA (z2 = _t); ((*((t18*) z2))._class) = 2 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._value) = _e; NILCHECKA (z2 = _t); ((*((t18*) z2))._lValue) = 0 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._printE) = _e; __result = _t; return __result; } } }; #line 101 "Temp.m3" EXPORT t3 _Temp__FromValue (_v, _lValue) t10 _v; t5 _lValue; { t3 z2; t5 z3; #line 101 "Temp.m3" { auto t3 _t; auto t3 __result; { z2 = _Temp__FindFree (0); _t = z2; #line 101 CHECKSTACKOVERFLOW; z3 = (_v != 0); if (!z3) ASSERTFAULT; NILCHECKA (z2 = _t); ((*((t18*) z2))._class) = 3 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._value) = (t11) 0; NILCHECKA (z2 = _t); ((*((t18*) z2))._lValue) = _lValue; NILCHECKA (z2 = _t); ((*((t18*) z2))._obj) = _v; __result = _t; return __result; } } }; #line 112 "Temp.m3" PRIVATE t3 _Temp__FindFree (_tipe) t8 _tipe; { t7 z2; t5 z4; t3 z0; t7 z3; t3 z5; t7 z1; t35 z6; t7 z7; #line 112 "Temp.m3" { auto t7 _i; auto t7 _j; auto t7 _tName; auto t7 _save; auto t3 __result; { CHECKSTACKOVERFLOW; z2 = _Temp__topX; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; z4 = ((_Temp__x.elts[z2]) == 0); if (z4) { { register t18* ptr = (t18*) UNEW (TC3); #line 115 z0 = (t3) ptr; }; z3 = _Temp__topX; if ((z3 < 0) || (10000 < z3)) RANGEFAULT; (_Temp__x.elts[z3]) = z0; goto if_2_end; #line 115 }; if_2_end: /**/; { t18 *with; z2 = _Temp__topX; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; NILCHECKB (z5 = (_Temp__x.elts[z2])); with = &(*((t18*) z5)); #line 116 { auto t18 * _z; { _z = with; ((*_z)._id) = _Temp__topX; ((*_z)._value) = (t11) 0; ((*_z)._type) = (t8) 0; ((*_z)._uses) = 0 ; ((*_z)._obj) = (t10) 0; ((*_z)._class) = 0 ; ((*_z)._lValue) = 0 ; ((*_z)._printE) = (t11) 0; ((*_z)._d1) = (t3) 0; ((*_z)._d2) = (t3) 0; } } }; z3 = _Temp__topS - 1 ; z1 = z3; if ((z1 < 0) || (400 < z1)) RANGEFAULT; _i = (_Temp__s.elts[z1]); z4 = (_tipe == 0); if (z4) { z2 = _i; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; NILCHECKA (z5 = (_Temp__x.elts[z2])); z4 = (((*((t18*) z5))._class) != 0 ); #line 132 if (z4) do { _i += 1 ; z2 = _i; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; NILCHECKA (z5 = (_Temp__x.elts[z2])); z4 = (((*((t18*) z5))._class) != 0 ); #line 132 } while (z4); goto if_3_end; }; z2 = _Type__Name (_tipe); _tName = z2; loop_0:; { t18 *with; z2 = _i; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; NILCHECKB (z5 = (_Temp__x.elts[z2])); with = &(*((t18*) z5)); #line 136 { auto t18 * _z; { _z = with; z4 = (((*_z)._class) == 0 ); if (z4) { z4 = (((*_z)._type) == 0); if (z4) { ((*_z)._type) = _tipe; z6 = _Emit__Switch ( 0 ); _j = z6; _save = _Scanner__offset; _Scanner__offset = 0 ; _Emit__OpII (((ADDRESS)(& txt2.str)), _tName, _i); _Scanner__offset = _save; z2 = _j; if ((z2 < 0) || (1 < z2)) RANGEFAULT; z6 = _Emit__Switch (z2); goto loop_exit_0; }; z7 = _Type__Name (((*_z)._type)); z4 = (_tName == z7); if (z4) { goto loop_exit_0; }; goto if_4_end; }; if_4_end: /**/; } } }; _i += 1 ; goto loop_0; loop_exit_0: /**/; if_3_end: /**/; z4 = (_i == _Temp__topX); if (z4) { _Temp__topX += 1 ; goto if_6_end; }; if_6_end: /**/; { t18 *with; z2 = _i; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; NILCHECKB (z5 = (_Temp__x.elts[z2])); with = &(*((t18*) z5)); #line 159 { auto t18 * _z; { _z = with; ((*_z)._uses) = 1 ; } } }; z2 = _i; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; __result = (_Temp__x.elts[z2]); return __result; } } }; #line 165 "Temp.m3" EXPORT t81 _Temp__Free (_t) t3 _t; { t3 z1; t7 z3; t7 z2; t5 z5; t5 z0; t5 z4; #line 165 "Temp.m3" { { CHECKSTACKOVERFLOW; { t18 *with; NILCHECKB (z1 = _t); with = &(*((t18*) z1)); { auto t18 * _z; { _z = with; z3 = _Temp__topS - 1 ; z2 = z3; if ((z2 < 0) || (400 < z2)) RANGEFAULT; z5 = ((_Temp__s.elts[z2]) <= ((*_z)._id)); #line 168 z0 = 0; if (z5) { z4 = (((*_z)._id) < _Temp__topX); z0 = z4; }; if (!z0) ASSERTFAULT; z4 = (((*_z)._uses) > 0 ); if (!z4) ASSERTFAULT; ((*_z)._uses) -= 1 ; z4 = (((*_z)._uses) <= 0 ); if (z4) { ((*_z)._class) = 0 ; z4 = (((*_z)._d1) != 0); if (z4) { _Temp__Free (((*_z)._d1)); ((*_z)._d1) = (t3) 0; goto if_8_end; }; if_8_end: /**/; z4 = (((*_z)._d2) != 0); if (z4) { _Temp__Free (((*_z)._d2)); ((*_z)._d2) = (t3) 0; goto if_9_end; }; if_9_end: /**/; #line 174 goto if_7_end; }; if_7_end: /**/; } } }; } } }; #line 179 "Temp.m3" EXPORT t81 _Temp__Depend (_a, _b) t3 _a; t3 _b; { t3 z1; t5 z4; t3 z2; #line 179 "Temp.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _a); z4 = (((*((t18*) z1))._d1) == 0); if (z4) { NILCHECKA (z2 = _a); ((*((t18*) z2))._d1) = _b; return; #line 181 }; NILCHECKA (z1 = _a); z4 = (((*((t18*) z1))._d2) == 0); if (z4) { NILCHECKA (z2 = _a); ((*((t18*) z2))._d2) = _b; return; #line 182 }; if (! 0 ) ASSERTFAULT; } } }; #line 186 "Temp.m3" EXPORT t5 _Temp__IsLValue (_t) t3 _t; { t3 z1; #line 186 "Temp.m3" { auto t5 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); __result = ((*((t18*) z1))._lValue); return __result; } } }; #line 191 "Temp.m3" EXPORT t81 _Temp__PushSet () { t7 z3; #line 191 "Temp.m3" { { CHECKSTACKOVERFLOW; z3 = _Temp__topS; if ((z3 < 0) || (400 < z3)) RANGEFAULT; (_Temp__s.elts[z3]) = _Temp__topX; _Temp__topS += 1 ; } } }; #line 197 "Temp.m3" EXPORT t81 _Temp__PopSet () { t5 z2; t7 z3; #line 197 "Temp.m3" { { CHECKSTACKOVERFLOW; z2 = (_Temp__topS > 0 ); if (!z2) ASSERTFAULT; _Temp__topS -= 1 ; z3 = _Temp__topS; if ((z3 < 0) || (400 < z3)) RANGEFAULT; _Temp__topX = (_Temp__s.elts[z3]); } } }; #line 204 "Temp.m3" EXPORT t81 _Temp__AssertAllFree () { t7 z3; t7 z1; t7 z2; t3 z4; t5 z5; #line 204 "Temp.m3" { { CHECKSTACKOVERFLOW; { int from, to, index; z3 = _Temp__topS - 1 ; z1 = z3; if ((z1 < 0) || (400 < z1)) RANGEFAULT; from = (_Temp__s.elts[z1]); #line 206 z2 = _Temp__topX - 1 ; to = z2; { auto t7 _i; { for (index = from; index <= to; index += 1) { _i = (t7) index; z2 = _i; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; NILCHECKA (z4 = (_Temp__x.elts[z2])); z5 = (((*((t18*) z4))._uses) == 0 ); #line 207 if (!z5) ASSERTFAULT; } } }; }; } } }; #line 211 "Temp.m3" EXPORT t81 _Temp__KillValues () { t7 z3; t7 z1; t7 z2; t3 z4; t5 z5; t5 z0; #line 211 "Temp.m3" { { CHECKSTACKOVERFLOW; { int from, to, index; z3 = _Temp__topS - 1 ; z1 = z3; if ((z1 < 0) || (400 < z1)) RANGEFAULT; from = (_Temp__s.elts[z1]); #line 213 z2 = _Temp__topX - 1 ; to = z2; { auto t7 _i; { for (index = from; index <= to; index += 1) { _i = (t7) index; { t18 *with; z2 = _i; if ((z2 < 0) || (10000 < z2)) RANGEFAULT; NILCHECKB (z4 = (_Temp__x.elts[z2])); with = &(*((t18*) z4)); #line 214 { auto t18 * _z; { _z = with; z5 = (((*_z)._class) == 1 ); z0 = 1; if (! z5) { z5 = (((*_z)._class) == 4 ); z0 = z5; }; if (z0) { z3 = _i; if ((z3 < 0) || (10000 < z3)) RANGEFAULT; NILCHECKA (z4 = (_Temp__x.elts[z3])); ((*((t18*) z4))._value) = (t11) 0; #line 216 goto if_12_end; }; if_12_end: /**/; } } }; } } }; }; } } }; #line 222 "Temp.m3" EXPORT t81 _Temp__Write (_t) t3 _t; { t3 z1; t3 z3; t3 z2; #line 222 "Temp.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); switch (((*((t18*) z1))._class)) { case 1: NILCHECKA (z3 = _t); _Emit__OpI (((ADDRESS)(& txt1.str)), ((*((t18*) z3))._id)); break; case 4: NILCHECKA (z2 = _t); _Expr__Write (((*((t18*) z2))._printE), ((*((t18*) z2))._d1), ((*((t18*) z2))._d2)); break; case 2: NILCHECKA (z2 = _t); _Expr__Write (((*((t18*) z2))._printE), ((*((t18*) z2))._d1), ((*((t18*) z2))._d2)); break; case 3: NILCHECKA (z2 = _t); _Value__Write (((*((t18*) z2))._obj)); break; default: /**/; if (! 0 ) ASSERTFAULT; }; } } }; PRIVATE int init_done = -1; #line 229 "Temp.m3" PRIVATE void Temp__initProc (g) int g; { #line 229 "Temp.m3" if (init_done >= g) return; init_done = g; INITIALIZE (& Temp__init); INITIALIZE (& Scanner__init); INITIALIZE (& Value__init); #line 229 INITIALIZE (& Emit__init); INITIALIZE (& Type__init); INITIALIZE (& Expr__init); INITIALIZE (& M3__init); #line 38 ZERO1 ((& _Temp__topX)); ZERO1 ((& _Temp__topS)); #line 229 return; }; #line 229 "Temp.m3" PRIVATE void t17_PrintProc (ref) t18* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC17->brand); fprintf (stderr, "^ = { "); #line 229 fprintf (stderr, "id = %d", (*ref)._id); fprintf (stderr, "value = %#x", (*ref)._value); fprintf (stderr, "type = %#x", (*ref)._type); #line 229 fprintf (stderr, "uses = %d", (*ref)._uses); fprintf (stderr, "obj = %#x", (*ref)._obj); fprintf (stderr, "class = %d", (*ref)._class); #line 229 fprintf (stderr, "printE = %#x", (*ref)._printE); fprintf (stderr, "lValue = %d", (*ref)._lValue); fprintf (stderr, "d1 = %#x", (*ref)._d1); #line 229 fprintf (stderr, "d2 = %#x", (*ref)._d2); fprintf (stderr, "}"); fprintf (stderr, "}\n"); }; PRIVATE INITLINK me_0 ={(INITLINK*)NIL, 0, Temp__initProc}; static char* VSimports[] = { &VS_Scanner__offset__dfc05f042d8347f4, &VS_Value__T__2446b70b3f7780a5, &VS_Value__Write__d355e5303c98d83c, &VS_Emit__MaxStream__cf0a0e8934c9c9f3, &VS_Emit__Format__bc4a2b083b93bbd7, &VS_Emit__OpI__02cb878634bb9f49, &VS_Emit__OpII__2247fe46332f901b, &VS_Emit__Switch__e69d0876372d3ad7, &VS_Type__T__2446b70b3f7780a5, &VS_Type__Map__41dd9f4b33104fce, &VS_Type__List__5791758e343becc1, &VS_Type__Name__f99416972257a869, &VS_Expr__T__2446b70b3f7780a5, &VS_Expr__List__3f87eceb2b9a246a, &VS_Expr__TypeOf__fef0a11b388c64fa, &VS_Expr__Write__99a50fe128e7a9a9, &VS_Expr__IsEqual__062d8b2c385e35a9, &VS_M3__Scope__6e6d8848308d8a2d, &VS_M3__Value__6f64cf9c2cae25fb, &VS_M3__Expr__8ae39aaa2d432477, &VS_M3__Stmt__376b307627fc1f2f, &VS_M3__Type__4d87bc25311f81d2, &VS_M3__Temp__450b691937f03dae, &VS_Temp__T__3a6c7dc12615e4ee, NIL }; void Temp__MLink (phase) int phase; { switch (phase) { case 0: { me_0.link = Temp__init; Temp__init = & me_0; t17_TC = t17_TC_init; REGISTERTYPE (TC17); break; }; case 1: { #line 20 "Temp.m3" IDENTIFYTYPES (TC3, TC17); break; }; case 2: { break; }; }; };