#include "M3Runtime.h" typedef struct { int tc; char* str; int len; } TXT; PRIVATE TXT txt1 = { 3, "Reserved identifier redefined", 30}; PRIVATE TXT txt2 = { 3, "parent", 7}; PRIVATE TXT txt3 = { 3, "(&frame)", 9}; PRIVATE TXT txt4 = { 3, "->parent", 9}; PRIVATE TXT txt5 = { 3, "FRAME@ parent;\012", 16}; PRIVATE TXT txt6 = { 3, "typedef struct frame@ {\001\012", 26}; PRIVATE TXT txt7 = { 3, "struct frame@ *parent;\012", 24}; PRIVATE TXT txt8 = { 3, "t@ ", 4}; PRIVATE TXT txt9 = { 3, " *_@;\012", 7}; PRIVATE TXT txt10 = { 3, "\002} *FRAME@;\012", 13}; PRIVATE TXT txt11 = { 3, "{\001\012", 4}; PRIVATE TXT txt12 = { 3, "FRAME@ parent = &frame;\012", 25}; PRIVATE TXT txt13 = { 3, "{\001\012struct frame@ frame;\012", 25}; PRIVATE TXT txt14 = { 3, "frame.parent = parent;\012", 24}; PRIVATE TXT txt15 = { 3, "frame._@ = ", 12}; PRIVATE TXT txt16 = { 3, ";\012", 3}; PRIVATE TXT txt17 = { 3, "}\002\012}\002\012", 7}; PRIVATE TXT txt18 = { 3, "not used", 9}; PRIVATE TXT txt19 = { 3, "obsolete", 9}; PRIVATE TXT txt20 = { 3, "<*UNUSED*> symbol is used", 26}; PRIVATE TXT txt21 = { 3, "@", 2}; PRIVATE TXT txt22 = { 3, "_", 2}; PRIVATE TXT txt23 = { 3, "__", 3}; PRIVATE TXT txt24 = { 3, "parent->", 9}; PRIVATE TXT txt25 = { 3, "(*(", 4}; PRIVATE TXT txt26 = { 3, "((", 3}; PRIVATE TXT txt27 = { 3, "))", 3}; #define t59 ADDRESS typedef int t4; #define TC59 TC_ADDRESS IMPORT TYPE TC_ADDRESS; IMPORT char VS_ADDRESS__30f7308738738b44; #line 14 "./M3.i3" #define t5 ADDRESS #define TC5 TC_M3__Scope IMPORT TYPE TC_M3__Scope; #line 14 IMPORT char VS_M3__Scope__6e6d8848308d8a2d; #line 17 "./Scope.i3" #define t6 ADDRESS #define t87 void #define t84 ADDRESS typedef struct { TYPE self; int private; } t84_methods; #define t84_msize (sizeof (t84_methods)) typedef struct { ADDRESS methods; } t84_fields; #define t84_size (sizeof (t84_fields)) #define TC84 TC_UNTRACED_ROOT IMPORT TYPE TC_UNTRACED_ROOT; IMPORT char VS_UNTRACED_ROOT__3e0964513fd6da20; #line 15 "./M3.i3" #define t3 ADDRESS #define TC3 TC_M3__Value IMPORT TYPE TC_M3__Value; #line 15 IMPORT char VS_M3__Value__6f64cf9c2cae25fb; #line 116 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef struct { char* elts; int size[1]; } t73; #line 17 "./Scope.i3" #define t63 t73 #define TC6 TC_Scope__ValueList IMPORT TYPE TC_Scope__ValueList; #line 17 IMPORT char VS_Scope__ValueList__64bf053e22e4e53c; #define t11 ADDRESS #define TC11 TC_NULL IMPORT TYPE TC_NULL; IMPORT char VS_NULL__fb50c7d53bec30dc; #line 41 "Scope.m3" #define t17 ADDRESS typedef unsigned char t8; #line 13 "./String.i3" #define t15 ADDRESS #define TC15 TC_String__T IMPORT TYPE TC_String__T; #line 13 IMPORT char VS_String__T__3a6c7dc12615e4ee; #line 19 "Scope.m3" typedef struct { t5 _next; t5 _parent; t8 _viaFrame; t4 _frameID; t8 _localFrame; t8 _hasFrame; t15 _name; t4 _children; t4 _maxSize; #line 19 t4 _curSize; t4 _hashSize; t6 _contents; t6 _hash; t8 _open; t8 _bound; } t18; #line 41 PRIVATE void t17_PrintProc (); PRIVATE typecell t17_TC; PRIVATE typecell t17_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, 52, 0, NIL, 0, 0, (PROC)NIL, (PROC)NIL, t17_PrintProc, #line 41 "Scope.T", -104057456, 1006503184}; PRIVATE TYPE TC17 = &t17_TC; #line 16 "../Interfaces/Type.i3" #define t26 ADDRESS #define t31 t73 #define TC26 TC_Type__Map IMPORT TYPE TC_Type__Map; #line 16 IMPORT char VS_Type__Map__41dd9f4b33104fce; #define t48 ADDRESS #define TC48 TC_REFANY IMPORT TYPE TC_REFANY; IMPORT char VS_REFANY__4b8748e831fc107a; #line 14 "../Interfaces/Expr.i3" #define t57 ADDRESS #define t23 ADDRESS #define TC23 TC_M3__Expr IMPORT TYPE TC_M3__Expr; #line 16 "./M3.i3" IMPORT char VS_M3__Expr__8ae39aaa2d432477; #line 14 "../Interfaces/Expr.i3" #define t61 t73 #define TC57 TC_Expr__List IMPORT TYPE TC_Expr__List; #line 14 IMPORT char VS_Expr__List__3f87eceb2b9a246a; #line 17 "../Interfaces/Type.i3" #define t65 ADDRESS #define t21 ADDRESS #define TC21 TC_M3__Type IMPORT TYPE TC_M3__Type; #line 18 "./M3.i3" IMPORT char VS_M3__Type__4d87bc25311f81d2; #line 17 "../Interfaces/Type.i3" typedef struct { t65 _next; t21 _type; } t66; #define TC65 TC_Type__List IMPORT TYPE TC_Type__List; #line 17 IMPORT char VS_Type__List__5791758e343becc1; #line 553 "Scope.m3" typedef t87 (*t1)(); #line 19 "./String.i3" typedef signed_char t69; #line 65 "./Token.i3" #define t67 t73 typedef struct { t15 elts[100]; } t70; #line 17 "./String.i3" typedef struct { t4 _top; t70 _stk; } t2; #line 18 "../Interfaces/Value.i3" typedef unsigned char t7; #line 314 "Scope.m3" typedef t8 (*t9)(); #line 15 "../Interfaces/Procedure.i3" #define t10 ADDRESS #define TC10 TC_Procedure__T IMPORT TYPE TC_Procedure__T; #line 15 IMPORT char VS_Procedure__T__be7ead4a3afd8be5; #line 14 "../Interfaces/Module.i3" #define t12 ADDRESS #define TC12 TC_Module__T IMPORT TYPE TC_Module__T; #line 14 IMPORT char VS_Module__T__be7ead4a3afd8be5; #line 14 "./String.i3" typedef struct { t15 _module; t15 _item; } t13; #line 165 "Scope.m3" typedef t3 (*t14)(); #line 114 typedef t5 (*t16)(); #line 19 "./M3.i3" #define t19 ADDRESS #define TC19 TC_M3__Temp IMPORT TYPE TC_M3__Temp; #line 19 IMPORT char VS_M3__Temp__450b691937f03dae; #line 68 "../Interfaces/ValueRep.i3" typedef t19 (*t20)(); #line 65 typedef t21 (*t22)(); #line 62 typedef t23 (*t24)(); #define t49 ADDRESS typedef struct { TYPE self; int private; } t49_methods; #define t49_msize (sizeof (t49_methods)) typedef struct { ADDRESS methods; } t49_fields; #define t49_size (sizeof (t49_fields)) #define TC49 TC_ROOT IMPORT TYPE TC_ROOT; IMPORT char VS_ROOT__349f58f628be0ac6; #define t49_MapProc TC_ROOT->mapProc #define t25 ADDRESS #define TC25 TC_Wr__T IMPORT TYPE TC_Wr__T; #line 90 ".ROOT/.boots/corelib/Interfaces/Wr.i3" IMPORT char VS_Wr__T__2555b70b3f7780b1; #define t25_MapProc TC_Wr__T->mapProc typedef t7 (*t27)(); #line 15 ".ROOT/.boots/corelib/Interfaces/FPrint.i3" typedef signed_char t34; typedef struct { t4 elts[2]; } t28; #line 16 "../Interfaces/ValueRep.i3" typedef t8 t29; #define t30 ADDRESS #line 19 typedef struct { t1 _bind; t1 _typeCheck; t27 _class; t1 _fingerprint; t20 _load; t1 _write; t14 _select; t9 _declare0; t1 _declare1; #line 19 t1 _declare2; t9 _needsDecl; t24 _toExpr; t22 _toType; } t30_methods; #define t30_msize (sizeof (t30_methods)) typedef struct { #line 19 t4 _origin; t15 _name; t15 _extName; t5 _scope; t21 _type; unsigned _checked : 1; unsigned _incheck : 1; unsigned _readonly : 1; #line 19 unsigned _declared : 1; unsigned _bound : 1; unsigned _compiled : 1; unsigned _imported : 1; unsigned _exported : 1; unsigned _external : 1; #line 19 unsigned _used : 1; unsigned _usedAtTop : 1; unsigned _unused : 1; unsigned _obsolete : 1; unsigned _inFrame : 1; t28 _fprint; #line 19 } t30_fields; #define t30_size (sizeof (t30_fields)) #define TC30 TC_M3__Value #define t32 ADDRESS #define TC32 TC_TEXT IMPORT TYPE TC_TEXT; IMPORT char VS_TEXT__b7a92447326386f5; #define t32_MapProc TC_TEXT->mapProc typedef void (*t33)(); #line 15 "./Token.i3" typedef unsigned char t39; #line 45 typedef struct { int elts[4]; } t35; #line 11 "./Delay.i3" #define t36 ADDRESS #line 11 typedef struct { t1 _apply; } t36_methods; #define t36_msize (sizeof (t36_methods)) typedef struct { #line 11 int filler; } t36_fields; #define t36_size (sizeof (t36_fields)) #define TC36 TC_Delay__Closure IMPORT TYPE TC_Delay__Closure; #line 11 IMPORT char VS_Delay__Closure__94b4fe673a5d6ded; #line 83 ".ROOT/.boots/corelib/Interfaces/Rd.i3" #define t37 ADDRESS #define TC37 TC_Rd__T IMPORT TYPE TC_Rd__T; #line 83 IMPORT char VS_Rd__T__2555b70b3f7780b1; #define t37_MapProc TC_Rd__T->mapProc typedef t15 (*t38)(); #line 13 "./Scanner.i3" typedef struct { t39 _token; t15 _string; t4 _value; t4 _offset; } t40; typedef int t41; #line 249 ".ROOT/.boots/corelib/Interfaces/Rd.i3" typedef t41 (*t42)(); #line 220 typedef t32 (*t43)(); typedef unsigned char t44; #line 189 #define t45 t73 typedef t44 (*t46)(); #line 84 typedef unsigned char t47; #line 63 "./Emit.i3" typedef t34 (*t50)(); #line 16 "../Interfaces/Variable.i3" #define t51 ADDRESS #define TC51 TC_Variable__T IMPORT TYPE TC_Variable__T; #line 16 IMPORT char VS_Variable__T__be7ead4a3afd8be5; typedef double t52; #line 31 "../Interfaces/ObjectType.i3" typedef t4 (*t53)(); #line 37 "../Interfaces/Procedure.i3" #define t54 t73 #define t55 ADDRESS #define TC55 TC_CallExpr__MethodList IMPORT TYPE TC_CallExpr__MethodList; #line 17 "../Interfaces/CallExpr.i3" IMPORT char VS_CallExpr__MethodList__7e87c2d720444b71; #line 14 "../Interfaces/Decl.i3" typedef struct { t15 _alias; t8 _isExternal; t8 _isInline; t8 _isUnused; t8 _isObsolete; } t56; #line 27 "../Interfaces/CallExpr.i3" typedef t55 (*t58)(); #line 24 "../Interfaces/Variable.i3" typedef t51 (*t60)(); #line 18 "../Interfaces/Module.i3" typedef t12 (*t62)(); #line 121 "../Interfaces/Type.i3" typedef t26 (*t64)(); #line 65 "./Token.i3" typedef struct { t15 elts[97]; } t68; #line 67 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef signed_char t71; typedef t71 (*t72)(); #line 91 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef unsigned char t74; #line 15 ".ROOT/.boots/corelib/Interfaces/Thread.i3" #define t75 ADDRESS #define TC75 TC_Thread__T IMPORT TYPE TC_Thread__T; #line 15 IMPORT char VS_Thread__T__2555b70b3f7780b1; #define t75_MapProc TC_Thread__T->mapProc typedef t48 (*t76)(); #define t77 ADDRESS #define TC77 TC_Thread__Condition IMPORT TYPE TC_Thread__Condition; #line 21 IMPORT char VS_Thread__Condition__26d5968239e08f4e; #define t77_MapProc TC_Thread__Condition->mapProc #define t78 ADDRESS #define TC78 TC_MUTEX IMPORT TYPE TC_MUTEX; IMPORT char VS_MUTEX__1f9d4e89391ab815; #define t78_MapProc TC_MUTEX->mapProc typedef t75 (*t79)(); #line 23 #define t80 ADDRESS #line 23 typedef struct { t76 _apply; } t80_methods; #define t80_msize (sizeof (t80_methods)) typedef struct { #line 23 int filler; } t80_fields; #define t80_size (sizeof (t80_fields)) #define TC80 TC_Thread__Closure IMPORT TYPE TC_Thread__Closure; #line 23 IMPORT char VS_Thread__Closure__7fb5c6232c5a658a; #define t80_MapProc TC_Thread__Closure->mapProc typedef t77 (*t81)(); typedef t78 (*t82)(); #line 28 #define t83 ADDRESS #line 28 typedef struct { int filler; } t83_methods; #define t83_msize (sizeof (t83_methods)) typedef struct { #line 28 t41 _stackSize; } t83_fields; #define t83_size (sizeof (t83_fields)) #define TC83 TC_Thread__SizedClosure IMPORT TYPE TC_Thread__SizedClosure; #line 28 IMPORT char VS_Thread__SizedClosure__8a46717d2eae7b07; #define t83_MapProc TC_Thread__SizedClosure->mapProc #define t85 ADDRESS #define TC85 TC_M3__Stmt IMPORT TYPE TC_M3__Stmt; #line 17 "./M3.i3" IMPORT char VS_M3__Stmt__376b307627fc1f2f; typedef CLOSURE t86; typedef float t88; #line 9 "Scope.m3" IMPORT INITLINK* Temp__init; IMPORT INITLINK* Variable__init; IMPORT INITLINK* ValueRep__init; IMPORT INITLINK* NamedType__init; #line 9 IMPORT INITLINK* Delay__init; IMPORT INITLINK* Scanner__init; IMPORT INITLINK* Emit__init; IMPORT INITLINK* RefType__init; #line 9 IMPORT INITLINK* ObjectType__init; IMPORT INITLINK* OpaqueType__init; IMPORT INITLINK* Procedure__init; IMPORT INITLINK* Error__init; #line 9 IMPORT INITLINK* Module__init; IMPORT INITLINK* Type__init; IMPORT INITLINK* Value__init; IMPORT INITLINK* String__init; IMPORT INITLINK* M3__init; #line 9 IMPORT INITLINK* Scope__init; IMPORT TYPE TC_Temp__T; IMPORT char VS_Temp__T__3a6c7dc12615e4ee; IMPORT t8 _Variable__IsFormal (); #line 9 IMPORT char VS_Variable__IsFormal__a0c5752127c0206b; IMPORT t8 _Variable__IsIndirect (); IMPORT char VS_Variable__IsIndirect__064edb3f298cb355; #line 9 IMPORT t87 _Variable__LoadLValue (); IMPORT char VS_Variable__LoadLValue__972aa6573932208a; IMPORT TYPE TC_ValueRep__V; #line 9 IMPORT char VS_ValueRep__V__f28699153c608442; IMPORT t3 _ValueRep__NoDuplicates (); IMPORT char VS_ValueRep__NoDuplicates__ed93f73a247eb7b4; #line 9 IMPORT t23 _ValueRep__NoExpr (); IMPORT char VS_ValueRep__NoExpr__1297c63d2e046c2c; IMPORT t21 _ValueRep__NoType (); IMPORT char VS_ValueRep__NoType__4061f01226f55ca3; #line 9 IMPORT t19 _ValueRep__NoLoader (); IMPORT char VS_ValueRep__NoLoader__9a7f0c5b24f526c1; IMPORT t87 _ValueRep__NoWriter (); #line 9 IMPORT char VS_ValueRep__NoWriter__3b24d43c367f7122; IMPORT t87 _ValueRep__NoDeclarer (); IMPORT char VS_ValueRep__NoDeclarer__22db283420635bde; #line 9 IMPORT t8 _ValueRep__Never (); IMPORT char VS_ValueRep__Never__39b6ab0628d97589; IMPORT t8 _ValueRep__Always (); IMPORT char VS_ValueRep__Always__1b0a9bbf2173b8b3; #line 9 IMPORT t8 _Delay__pending; IMPORT char VS_Delay__pending__c38e24f234433188; IMPORT t87 _Delay__FinishUp (); IMPORT char VS_Delay__FinishUp__4aab618e339b9a83; #line 9 IMPORT t4 _Scanner__offset; IMPORT char VS_Scanner__offset__dfc05f042d8347f4; IMPORT char VS_Emit__MaxStream__cf0a0e8934c9c9f3; #line 9 IMPORT TYPE TC_Emit__Format; IMPORT char VS_Emit__Format__bc4a2b083b93bbd7; IMPORT t87 _Emit__Op (); IMPORT char VS_Emit__Op__072646cc27c8ae10; #line 9 IMPORT t87 _Emit__OpS (); IMPORT char VS_Emit__OpS__f7dc93802c012951; IMPORT t87 _Emit__OpI (); IMPORT char VS_Emit__OpI__02cb878634bb9f49; #line 9 IMPORT t87 _Emit__OpZ (); IMPORT char VS_Emit__OpZ__5d420cfd350afcf1; IMPORT t87 _Procedure__BindBody (); IMPORT char VS_Procedure__BindBody__1aa3b9ed2346183f; #line 9 IMPORT t87 _Procedure__CheckBody (); IMPORT char VS_Procedure__CheckBody__4fa501d93c015612; IMPORT t87 _Error__Str (); IMPORT char VS_Error__Str__2bd0723e3872e90c; #line 9 IMPORT t87 _Error__WarnStr (); IMPORT char VS_Error__WarnStr__aa8e70c53534552c; IMPORT t8 _Module__IsInterface (); IMPORT char VS_Module__IsInterface__90cfad77361c85ee; #line 9 IMPORT t5 _Module__ExportScope (); IMPORT char VS_Module__ExportScope__2186b7e7390e796e; IMPORT t4 _Module__depth; IMPORT char VS_Module__depth__a65bb56937bd5d03; #line 9 IMPORT TYPE TC_Type__T; IMPORT char VS_Type__T__2446b70b3f7780a5; IMPORT t4 _Type__Name (); IMPORT char VS_Type__Name__f99416972257a869; #line 9 IMPORT TYPE TC_Value__T; IMPORT char VS_Value__T__2446b70b3f7780a5; IMPORT t87 _Value__Bind (); IMPORT char VS_Value__Bind__6439d03d3a1be824; #line 9 IMPORT t87 _Value__TypeCheck (); IMPORT char VS_Value__TypeCheck__917dc8a02c0b0de4; IMPORT t3 _Value__SelectOne (); IMPORT char VS_Value__SelectOne__b8e1cec72d87aada; #line 9 IMPORT t87 _Value__Declare0 (); IMPORT char VS_Value__Declare0__c5e792dc3048d136; IMPORT t87 _Value__Declare1 (); IMPORT char VS_Value__Declare1__08863c5030bbeb06; #line 9 IMPORT t87 _Value__Declare2 (); IMPORT char VS_Value__Declare2__5f24cfc431aea557; IMPORT t7 _Value__ClassOf (); IMPORT char VS_Value__ClassOf__9c68d87829345fcf; #line 9 IMPORT t15 _String__Add (); IMPORT char VS_String__Add__0f5e21cc3d204b63; IMPORT t15 _String__AddInt (); IMPORT char VS_String__AddInt__3485cc122538fb2d; #line 9 IMPORT TYPE TC_Scope__T; IMPORT char VS_Scope__T__3a6c7dc12615e4ee; IMPORT t5 _Scope__Initial; IMPORT char VS_Scope__Initial__097aab742ccb9af2; #line 9 EXPORT t5 _Scope__PushNew (); EXPORT char VS_Scope__PushNew__d323325530c46e5d = '\0'; EXPORT t87 _Scope__PopNew (); EXPORT char VS_Scope__PopNew__3afab09a31bee774 = '\0'; #line 9 EXPORT t5 _Scope__New1 (); EXPORT char VS_Scope__New1__2600045021ca1fda = '\0'; EXPORT t87 _Scope__Push (); EXPORT char VS_Scope__Push__ff579fe72573f581 = '\0'; #line 9 EXPORT t87 _Scope__Pop (); EXPORT char VS_Scope__Pop__cfcd8a43301536dd = '\0'; EXPORT t5 _Scope__Top (); EXPORT char VS_Scope__Top__1f8886d530a06904 = '\0'; #line 9 EXPORT t8 _Scope__OuterMost (); EXPORT char VS_Scope__OuterMost__dc5751683db412a5 = '\0'; EXPORT t87 _Scope__Insert (); EXPORT char VS_Scope__Insert__ef77c00626575764 = '\0'; #line 9 EXPORT t3 _Scope__LookUp (); EXPORT char VS_Scope__LookUp__a616cd8e3bdd3143 = '\0'; EXPORT t3 _Scope__LookUpInScope (); EXPORT char VS_Scope__LookUpInScope__176166ad3a7fb5b9 = '\0'; #line 9 EXPORT t3 _Scope__LookUpQID (); EXPORT char VS_Scope__LookUpQID__725ce38220cfad93 = '\0'; EXPORT t8 _Scope__EmitFrameName (); #line 9 EXPORT char VS_Scope__EmitFrameName__cc10a94421e6662d = '\0'; EXPORT t8 _Scope__EmitLocalFrameName (); EXPORT char VS_Scope__EmitLocalFrameName__ae9e9abf3a4de3a1 = '\0'; #line 9 EXPORT t87 _Scope__EmitFrameType (); EXPORT char VS_Scope__EmitFrameType__7dcb5adc2ab8ed27 = '\0'; EXPORT t87 _Scope__GenFrameTypes (); #line 9 EXPORT char VS_Scope__GenFrameTypes__0a54ad9f2c562d48 = '\0'; EXPORT t87 _Scope__ForEach (); EXPORT char VS_Scope__ForEach__b893d9d33b44a508 = '\0'; #line 9 EXPORT t87 _Scope__ToList (); EXPORT char VS_Scope__ToList__4f3684492cf42c93 = '\0'; EXPORT t87 _Scope__Seal (); EXPORT char VS_Scope__Seal__6820dc2e2fab28b5 = '\0'; #line 9 EXPORT t87 _Scope__Bind (); EXPORT char VS_Scope__Bind__344f0d6129e368d1 = '\0'; EXPORT t87 _Scope__TypeCheck (); EXPORT char VS_Scope__TypeCheck__f0c8e8c4224804fd = '\0'; #line 9 EXPORT t87 _Scope__Enter (); EXPORT char VS_Scope__Enter__86781a4c2d3f0a08 = '\0'; EXPORT t87 _Scope__Generate (); EXPORT char VS_Scope__Generate__e50d3065292f9146 = '\0'; #line 9 EXPORT t87 _Scope__Exit (); EXPORT char VS_Scope__Exit__71e6b79c26940459 = '\0'; EXPORT t87 _Scope__WarnUnused (); EXPORT char VS_Scope__WarnUnused__9058f21e35f1c66f = '\0'; #line 9 EXPORT t87 _Scope__NameToPrefix (); EXPORT char VS_Scope__NameToPrefix__480892d13153ee71 = '\0'; EXPORT t87 _Scope__GenName (); #line 9 EXPORT char VS_Scope__GenName__3946bbbf2f1d2ba2 = '\0'; EXPORT t87 _Scope__Initialize (); EXPORT char VS_Scope__Initialize__85bc9cb538b39035 = '\0'; #line 9 PRIVATE t4 _Scope__frameID; PRIVATE t5 _Scope__top; PRIVATE t5 _Scope__allScopes; PRIVATE t15 _Scope__emptyStr; PRIVATE t15 _Scope__Underscore; #line 9 PRIVATE t15 _Scope__UnderscoreUnderscore; PRIVATE t15 _Scope__Parent; PRIVATE t15 _Scope__StarLParen; PRIVATE t15 _Scope__LParen; #line 9 PRIVATE t15 _Scope__RParen; PRIVATE t87 _Scope__CleanUp (); PRIVATE t87 _Scope__RemoveDuplicates (); PRIVATE t87 _Scope__HashScope (); #line 9 EXPORT char VS_M3__Scope__19233df53b6bb925 = '\0'; IMPORT char VS_M3__Value__c975bdb53a08f518; #line 51 "Scope.m3" EXPORT t5 _Scope__PushNew (_open, _name, _viaFrame) t8 _open; t15 _name; t8 _viaFrame; { t5 z0; t5 z2; t8 z3; t8 z1; t15 z4; t6 z5; #line 51 "Scope.m3" { auto t5 _t; auto t5 __result; { CHECKSTACKOVERFLOW; { register t18* ptr = (t18*) UNEW (TC5); z0 = (t5) ptr; }; _t = z0; NILCHECKA (z2 = _t); ((*((t18*) z2))._next) = _Scope__allScopes; _Scope__allScopes = _t; NILCHECKA (z2 = _t); ((*((t18*) z2))._parent) = _Scope__top; z3 = (_name == 0); z1 = 0; if (z3) { z3 = (_Scope__top != 0); z1 = z3; }; if (z1) { NILCHECKA (z2 = _Scope__top); ((*((t18*) z2))._children) += 1 ; NILCHECKA (z2 = _Scope__top); z4 = _String__AddInt (((*((t18*) z2))._children)); NILCHECKA (z2 = _t); ((*((t18*) z2))._name) = z4; #line 59 goto if_1_end; }; NILCHECKA (z2 = _t); ((*((t18*) z2))._name) = _name; if_1_end: /**/; NILCHECKA (z2 = _t); ((*((t18*) z2))._maxSize) = 4 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._curSize) = 0 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._hashSize) = 0 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._hash) = (t6) 0; NILCHECKA (z2 = _t); ((*((t18*) z2))._open) = _open; NILCHECKA (z2 = _t); ((*((t18*) z2))._viaFrame) = _viaFrame; { register t73* ptr; int sz[1]; NILCHECKA (z2 = _t); sz[0] = ((*((t18*) z2))._maxSize); ptr = (t73*) UNEWA(TC6, 8 + sz[0] * 4); #line 69 ptr->elts = (char*)(& ptr->size[1]); ptr->size[0] = sz[0]; z5 = (t6) ptr; }; NILCHECKA (z2 = _t); ((*((t18*) z2))._contents) = z5; _Scope__top = _t; __result = _t; return __result; } } }; #line 74 "Scope.m3" EXPORT t87 _Scope__PopNew () { t5 z1; #line 74 "Scope.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _Scope__top); _Scope__top = ((*((t18*) z1))._parent); } } }; #line 79 "Scope.m3" EXPORT t5 _Scope__New1 (_obj) t3 _obj; { t5 z0; t5 z2; t8 z3; t5 z1; t15 z4; t6 z5; t4 z6; t4 z7; t3 z8; #line 79 "Scope.m3" { auto t5 _t; auto t5 __result; { CHECKSTACKOVERFLOW; { register t18* ptr = (t18*) UNEW (TC5); z0 = (t5) ptr; }; _t = z0; NILCHECKA (z2 = _t); ((*((t18*) z2))._next) = _Scope__allScopes; _Scope__allScopes = _t; NILCHECKA (z2 = _t); ((*((t18*) z2))._parent) = _Scope__top; z3 = (_Scope__top != 0); if (z3) { NILCHECKA (z1 = _Scope__top); ((*((t18*) z1))._children) += 1 ; NILCHECKA (z2 = _Scope__top); z4 = _String__AddInt (((*((t18*) z2))._children)); NILCHECKA (z1 = _t); ((*((t18*) z1))._name) = z4; #line 87 goto if_2_end; }; NILCHECKA (z2 = _t); ((*((t18*) z2))._name) = _Scope__emptyStr; if_2_end: /**/; NILCHECKA (z2 = _t); ((*((t18*) z2))._maxSize) = 1 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._curSize) = 1 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._hashSize) = 0 ; NILCHECKA (z2 = _t); ((*((t18*) z2))._hash) = (t6) 0; NILCHECKA (z2 = _t); ((*((t18*) z2))._open) = 1 ; { register t73* ptr; int sz[1]; sz[0] = 1 ; ptr = (t73*) UNEWA(TC6, 8 + sz[0] * 4); ptr->elts = (char*)(& ptr->size[1]); #line 96 ptr->size[0] = sz[0]; z5 = (t6) ptr; }; NILCHECKA (z1 = _t); ((*((t18*) z1))._contents) = z5; NILCHECKA (z2 = _t); NILCHECKB (z5 = ((*((t18*) z2))._contents)); { register t73* array = & (*((t63*) z5)); z7 = 0 ; #line 97 if (z7 >= (array->size[0])) RANGEFAULT; z6 = (int)(array->elts + (z7 * 4)); }; (*(t3*)z6) = _obj; NILCHECKA (z8 = _obj); z3 = ((((t30_fields*)(z8+(0+t84_size)))->_scope) == 0); if (z3) { NILCHECKA (z8 = _obj); (((t30_fields*)(z8+(0+t84_size)))->_scope) = _t; #line 98 goto if_3_end; }; if_3_end: /**/; _Scope__top = _t; __result = _t; return __result; } } }; #line 103 "Scope.m3" EXPORT t87 _Scope__Push (_t) t5 _t; { t8 z2; #line 103 "Scope.m3" { { CHECKSTACKOVERFLOW; z2 = (_t != 0); if (!z2) ASSERTFAULT; _Scope__top = _t; } } }; #line 109 "Scope.m3" EXPORT t87 _Scope__Pop () { t5 z1; #line 109 "Scope.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _Scope__top); _Scope__top = ((*((t18*) z1))._parent); } } }; #line 114 "Scope.m3" EXPORT t5 _Scope__Top () { #line 114 "Scope.m3" { auto t5 __result; { CHECKSTACKOVERFLOW; __result = _Scope__top; return __result; } } }; #line 119 "Scope.m3" EXPORT t8 _Scope__OuterMost (_t) t5 _t; { t5 z1; t8 z4; #line 119 "Scope.m3" { auto t8 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); z4 = (((*((t18*) z1))._parent) == _Scope__Initial); __result = z4; return __result; } } }; #line 124 "Scope.m3" EXPORT t3 _Scope__LookUp (_name) t15 _name; { t3 z3; #line 124 "Scope.m3" { auto t3 __result; { CHECKSTACKOVERFLOW; z3 = _Scope__LookUpInScope (_Scope__top, _name); __result = z3; return __result; } } }; #line 129 "Scope.m3" EXPORT t3 _Scope__LookUpInScope (_t, _name) t5 _t; t15 _name; { t5 z1; t8 z4; t4 z3; t4 z5; t4 z6; t4 z7; t6 z8; t4 z2; t3 z9; t8 z10; t8 z0; t8 z11; t7 z12; t5 z13; #line 129 "Scope.m3" { auto t4 _hash; auto t3 _o; auto t8 _viaFrame; auto t3 __result; { ZERO1B (& _viaFrame); ZERO1B ((& _viaFrame)); #line 129 CHECKSTACKOVERFLOW; loop_0:; NILCHECKA (z1 = _t); z4 = (((*((t18*) z1))._hash) != 0); if (!z4) ASSERTFAULT; NILCHECKA (z1 = _t); z4 = (((*((t18*) z1))._hashSize) > 0 ); if (z4) { z3 = IDIV ((*((t4*)(& _name))), 4 ); NILCHECKA (z1 = _t); z5 = z3; z6 = ((*((t18*) z1))._hashSize); z7 = z5 - (z6 * (IDIV (z5, z6))); #line 135 _hash = z7; loop_1:; NILCHECKA (z1 = _t); NILCHECKB (z8 = ((*((t18*) z1))._hash)); z2 = _hash; if (z2 < 0) RANGEFAULT; { register t73* array = & (*((t63*) z8)); #line 137 z5 = z2; if (z5 >= (array->size[0])) RANGEFAULT; z3 = (int)(array->elts + (z5 * 4)); }; _o = (*(t3*)z3); z4 = (_o == 0); if (z4) { goto loop_exit_1; }; NILCHECKA (z9 = _o); z4 = ((((t30_fields*)(z9+(0+t84_size)))->_name) == _name); if (z4) { NILCHECKA (z9 = _o); (((t30_fields*)(z9+(0+t84_size)))->_used) = 1 ; NILCHECKA (z9 = _o); z4 = 1; if (! (((t30_fields*)(z9+(0+t84_size)))->_usedAtTop)) { z10 = (_Module__depth == 1 ); #line 141 z4 = z10; }; z0 = 1; if (! z4) { z4 = _Module__IsInterface (); z10 = ! z4; z4 = 0; if (z10) { z10 = (_Module__depth == 2 ); #line 141 z4 = z10; }; z0 = z4; }; NILCHECKA (z9 = _o); (((t30_fields*)(z9+(0+t84_size)))->_usedAtTop) = z0; NILCHECKA (z9 = _o); z4 = 1; if (! (((t30_fields*)(z9+(0+t84_size)))->_inFrame)) { z10 = 0; if (_viaFrame) { #line 143 NILCHECKA (z1 = _t); z11 = (((*((t18*) z1))._parent) != _Scope__Initial); z10 = z11; }; z0 = 0; if (z10) { #line 143 z12 = _Value__ClassOf (_o); z10 = (z12 == 1 ); z0 = z10; }; z4 = z0; }; NILCHECKA (z9 = _o); (((t30_fields*)(z9+(0+t84_size)))->_inFrame) = z4; NILCHECKA (z9 = _o); z4 = 0; if ((((t30_fields*)(z9+(0+t84_size)))->_inFrame)) { NILCHECKA (z1 = _t); z10 = (((*((t18*) z1))._frameID) == 0 ); #line 146 z4 = z10; }; if (z4) { NILCHECKA (z13 = _t); ((*((t18*) z13))._frameID) = _Scope__frameID; NILCHECKA (z13 = _t); ((*((t18*) z13))._hasFrame) = 1 ; NILCHECKA (z13 = _t); ((*((t18*) z13))._localFrame) = 1 ; _Scope__frameID += 1 ; goto if_7_end; }; if_7_end: /**/; __result = _o; return __result; }; _hash += 1 ; NILCHECKA (z13 = _t); z4 = (_hash >= ((*((t18*) z13))._hashSize)); if (z4) { _hash = 0 ; goto if_8_end; }; #line 155 if_8_end: /**/; goto loop_1; loop_exit_1: /**/; goto if_4_end; }; if_4_end: /**/; NILCHECKA (z1 = _t); z4 = ! ((*((t18*) z1))._open); if (z4) { __result = 0; return __result; }; z4 = 1; if (! _viaFrame) { NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._viaFrame); }; _viaFrame = z4; NILCHECKA (z1 = _t); _t = ((*((t18*) z1))._parent); z4 = (_t == 0); if (z4) { __result = 0; return __result; }; goto loop_0; } } }; #line 165 "Scope.m3" EXPORT t3 _Scope__LookUpQID (_q) t13 * _q; { t8 z3; t3 z4; t5 z5; #line 165 "Scope.m3" { auto t3 __result; { CHECKSTACKOVERFLOW; z3 = (((*_q)._module) == 0); if (z3) { z4 = _Scope__LookUpInScope (_Scope__top, ((*_q)._item)); __result = z4; return __result; }; z4 = _Scope__LookUpInScope (_Scope__top, ((*_q)._module)); { register ADDRESS ref = (ADDRESS) z4; register int tc = TYPECODE (ref); if (tc == 0) goto tc0_0; if (ISSUBTYPE (tc, TC12)) goto tc0_1; #line 170 goto tc0_else; tc0_0:; __result = 0; return __result; tc0_1:; { auto t12 _m; { _m = (t12) ref; z5 = _Module__ExportScope (_m); z4 = _Scope__LookUpInScope (z5, ((*_q)._item)); __result = z4; return __result; #line 172 } } tc0_else:; __result = 0; return __result; tc0_exit:; }; } } }; #line 178 "Scope.m3" EXPORT t87 _Scope__Insert (_o) t3 _o; { t8 z2; t8 z0; t5 z3; t8 z5; t8 z1; t3 z4; t3 z6; t4 z7; t6 z8; t4 z9; t4 z10; #line 178 "Scope.m3" { auto t5 _t; auto t6 _z; { CHECKSTACKOVERFLOW; _t = _Scope__top; z2 = (_t != 0); z0 = 0; if (z2) { NILCHECKA (z3 = _t); z5 = (((*((t18*) z3))._hashSize) == 0 ); z0 = z5; }; if (!z0) ASSERTFAULT; z2 = (_t != _Scope__Initial); z0 = 0; if (z2) { NILCHECKA (z3 = _Scope__Initial); z5 = (((*((t18*) z3))._hash) != 0); #line 185 z0 = z5; }; z1 = 0; if (z0) { NILCHECKA (z4 = _o); z6 = _Scope__LookUpInScope (_Scope__Initial, (((t30_fields*)(z4+(0+t84_size)))->_name)); #line 185 z2 = (z6 != 0); z1 = z2; }; if (z1) { NILCHECKA (z4 = _o); _Error__Str ((((t30_fields*)(z4+(0+t84_size)))->_name), ((ADDRESS)(& txt1.str))); goto if_12_end; #line 188 }; if_12_end: /**/; NILCHECKA (z3 = _t); z5 = (((*((t18*) z3))._curSize) >= ((*((t18*) z3))._maxSize)); if (z5) { NILCHECKA (z3 = _t); z7 = 2 * ((*((t18*) z3))._maxSize); NILCHECKA (z3 = _t); ((*((t18*) z3))._maxSize) = z7; { register t73* ptr; int sz[1]; NILCHECKA (z3 = _t); sz[0] = ((*((t18*) z3))._maxSize); ptr = (t73*) UNEWA(TC6, 8 + sz[0] * 4); #line 194 ptr->elts = (char*)(& ptr->size[1]); ptr->size[0] = sz[0]; z8 = (t6) ptr; }; _z = z8; { int from, to, index; from = 0 ; NILCHECKA (z3 = _t); z7 = ((*((t18*) z3))._curSize) - 1 ; to = z7; { auto t4 _i; #line 195 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKA (z3 = _t); NILCHECKB (z8 = ((*((t18*) z3))._contents)); #line 195 { register t73* array = & (*((t63*) z8)); z9 = _i; if (z9 >= (array->size[0])) RANGEFAULT; z7 = (int)(array->elts + (z9 * 4)); #line 195 }; NILCHECKB (z8 = _z); { register t73* array = & (*((t63*) z8)); z10 = _i; if (z10 >= (array->size[0])) RANGEFAULT; z9 = (int)(array->elts + (z10 * 4)); #line 195 }; (*(t3*)z9) = (*(t3*)z7); } } }; }; NILCHECKA (z3 = _t); ((*((t18*) z3))._contents) = _z; goto if_13_end; }; if_13_end: /**/; NILCHECKA (z4 = _o); z2 = ((((t30_fields*)(z4+(0+t84_size)))->_scope) == 0); if (z2) { NILCHECKA (z4 = _o); (((t30_fields*)(z4+(0+t84_size)))->_scope) = _t; #line 199 goto if_14_end; }; if_14_end: /**/; NILCHECKA (z3 = _t); NILCHECKB (z8 = ((*((t18*) z3))._contents)); NILCHECKA (z3 = _t); z7 = ((*((t18*) z3))._curSize); #line 200 if (z7 < 0) RANGEFAULT; { register t73* array = & (*((t63*) z8)); z10 = z7; if (z10 >= (array->size[0])) RANGEFAULT; #line 200 z9 = (int)(array->elts + (z10 * 4)); }; (*(t3*)z9) = _o; NILCHECKA (z3 = _t); ((*((t18*) z3))._curSize) += 1 ; } } }; #line 204 "Scope.m3" EXPORT t87 _Scope__ForEach (_t, _visit) t5 _t; t1 _visit; { t8 z2; t5 z1; t4 z4; t5 z3; t6 z5; t4 z6; #line 204 "Scope.m3" { { CHECKSTACKOVERFLOW; z2 = (_t != 0); if (!z2) ASSERTFAULT; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 207 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKA (z3 = _t); NILCHECKB (z5 = ((*((t18*) z3))._contents)); #line 207 { register t73* array = & (*((t63*) z5)); z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); #line 207 }; { t1 proc = _visit; if (!IS_CLOSURE(proc)) { proc ((*(t3*)z4)); } else { ((t1) CLOSURE_PROC(proc)) (CLOSURE_FRAME(proc), (*(t3*)z4)); #line 207 }; }; } } }; }; } } }; #line 210 "Scope.m3" EXPORT t87 _Scope__ToList (_t, _objs, _cnt) t5 _t; t6 * _objs; t4 * _cnt; { t8 z2; t5 z1; #line 210 "Scope.m3" { { CHECKSTACKOVERFLOW; z2 = (_t == 0); if (z2) { (*_objs) = (t6) 0; (*_cnt) = 0 ; goto if_15_end; }; NILCHECKA (z1 = _t); (*_objs) = ((*((t18*) z1))._contents); NILCHECKA (z1 = _t); (*_cnt) = ((*((t18*) z1))._curSize); if_15_end: /**/; #line 214 } } }; #line 218 "Scope.m3" EXPORT t87 _Scope__Seal (_t) t5 _t; { t8 z2; #line 218 "Scope.m3" { { CHECKSTACKOVERFLOW; z2 = (_t == 0); if (z2) { return; }; _Scope__CleanUp (_t); } } }; #line 224 "Scope.m3" EXPORT t87 _Scope__Bind (_t, _finishDelays) t5 _t; t8 _finishDelays; { t8 z2; t5 z1; t5 z3; t4 z4; t6 z5; t4 z6; #line 224 "Scope.m3" { { CHECKSTACKOVERFLOW; z2 = (_t == 0); if (z2) { return; }; NILCHECKA (z1 = _t); if (((*((t18*) z1))._bound)) { return; }; NILCHECKA (z3 = _t); ((*((t18*) z3))._bound) = 1 ; _Scope__CleanUp (_t); { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 230 { for (index = from; index <= to; index += 1) { _i = (t4) index; z2 = 0; if (_finishDelays) { z2 = _Delay__pending; }; if (z2) { _Delay__FinishUp (); goto if_19_end; }; #line 231 if_19_end: /**/; NILCHECKA (z3 = _t); NILCHECKB (z5 = ((*((t18*) z3))._contents)); { register t73* array = & (*((t63*) z5)); #line 232 z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); }; _Value__Bind ((*(t3*)z4)); #line 232 } } }; }; z2 = 0; if (_finishDelays) { z2 = _Delay__pending; }; if (z2) { _Delay__FinishUp (); goto if_20_end; }; if_20_end: /**/; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 235 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKA (z1 = _t); NILCHECKB (z5 = ((*((t18*) z1))._contents)); { register t73* array = & (*((t63*) z5)); #line 236 z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); }; { register ADDRESS ref = (ADDRESS) (*(t3*)z4); #line 236 register int tc = TYPECODE (ref); if (tc == 0) goto tc1_0; if (ISSUBTYPE (tc, TC10)) goto tc1_1; goto tc1_else; #line 236 tc1_0:; goto tc1_exit; tc1_1:; { auto t10 _p; { _p = (t10) ref; _Procedure__BindBody (_p); } } goto tc1_exit; tc1_else:; tc1_exit:; }; } } }; }; } } }; #line 244 "Scope.m3" EXPORT t87 _Scope__TypeCheck (_t, _finishDelays) t5 _t; t8 _finishDelays; { t8 z2; t5 z1; t4 z4; t5 z3; t6 z5; t4 z6; #line 244 "Scope.m3" { { CHECKSTACKOVERFLOW; z2 = (_t == 0); if (z2) { return; }; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 247 { for (index = from; index <= to; index += 1) { _i = (t4) index; z2 = 0; if (_finishDelays) { z2 = _Delay__pending; }; if (z2) { _Delay__FinishUp (); goto if_22_end; }; #line 248 if_22_end: /**/; NILCHECKA (z3 = _t); NILCHECKB (z5 = ((*((t18*) z3))._contents)); { register t73* array = & (*((t63*) z5)); #line 249 z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); }; _Value__TypeCheck ((*(t3*)z4)); #line 249 } } }; }; z2 = 0; if (_finishDelays) { z2 = _Delay__pending; }; if (z2) { _Delay__FinishUp (); goto if_23_end; }; if_23_end: /**/; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 252 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKA (z1 = _t); NILCHECKB (z5 = ((*((t18*) z1))._contents)); { register t73* array = & (*((t63*) z5)); #line 253 z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); }; { register ADDRESS ref = (ADDRESS) (*(t3*)z4); #line 253 register int tc = TYPECODE (ref); if (tc == 0) goto tc2_0; if (ISSUBTYPE (tc, TC10)) goto tc2_1; goto tc2_else; #line 253 tc2_0:; goto tc2_exit; tc2_1:; { auto t10 _p; { _p = (t10) ref; _Procedure__CheckBody (_p); } } goto tc2_exit; tc2_else:; tc2_exit:; }; } } }; }; } } }; #line 261 "Scope.m3" EXPORT t87 _Scope__GenFrameTypes () { t8 z2; t5 z1; t8 z4; t8 z0; t5 z3; t8 z5; t5 z6; t5 z7; t4 z8; t6 z9; t4 z10; t3 z11; #line 261 "Scope.m3" { auto t5 _t; { _t = _Scope__allScopes; #line 261 CHECKSTACKOVERFLOW; z2 = (_t != 0); if (z2) do { NILCHECKA (z1 = _t); z4 = (((*((t18*) z1))._frameID) == 0 ); if (z4) { { { auto t5 _a; auto t8 _viaFrame; { ZERO1B (& _viaFrame); #line 271 NILCHECKA (z1 = _t); _a = ((*((t18*) z1))._parent); NILCHECKA (z1 = _t); _viaFrame = ((*((t18*) z1))._viaFrame); z2 = (_a != 0); z0 = 0; if (z2) { NILCHECKA (z3 = _a); z5 = (((*((t18*) z3))._frameID) == 0 ); z0 = z5; #line 274 }; if (z0) do { z2 = 1; if (! _viaFrame) { NILCHECKA (z1 = _a); z2 = ((*((t18*) z1))._viaFrame); }; _viaFrame = z2; NILCHECKA (z1 = _a); _a = ((*((t18*) z1))._parent); z2 = (_a != 0); z0 = 0; if (z2) { NILCHECKA (z3 = _a); #line 276 z5 = (((*((t18*) z3))._frameID) == 0 ); z0 = z5; }; } while (z0); z2 = (_a != 0); if (z2) { z2 = ! _viaFrame; NILCHECKA (z1 = _t); ((*((t18*) z1))._localFrame) = z2; NILCHECKA (z1 = _a); NILCHECKA (z6 = _t); ((*((t18*) z6))._frameID) = ((*((t18*) z1))._frameID); goto if_25_end; #line 279 }; if_25_end: /**/; } } }; goto if_24_end; }; if_24_end: /**/; NILCHECKA (z1 = _t); _t = ((*((t18*) z1))._next); z2 = (_t != 0); } while (z2); _t = _Scope__allScopes; z2 = (_t != 0); if (z2) do { NILCHECKA (z1 = _t); z4 = (((*((t18*) z1))._frameID) != 0 ); z0 = 0; if (z4) { NILCHECKA (z3 = _t); z5 = (((*((t18*) z3))._parent) != 0); #line 287 z0 = z5; }; z2 = 0; if (z0) { NILCHECKA (z1 = _t); NILCHECKA (z6 = ((*((t18*) z1))._parent)); NILCHECKA (z7 = _t); #line 287 z5 = (((*((t18*) z6))._frameID) != ((*((t18*) z7))._frameID)); z2 = z5; }; if (z2) { NILCHECKA (z3 = _t); _Emit__OpI (((ADDRESS)(& txt6.str)), ((*((t18*) z3))._frameID)); NILCHECKA (z1 = _t); NILCHECKA (z3 = ((*((t18*) z1))._parent)); z4 = (((*((t18*) z3))._frameID) != 0 ); if (z4) { NILCHECKA (z3 = _t); NILCHECKA (z6 = ((*((t18*) z3))._parent)); _Emit__OpI (((ADDRESS)(& txt7.str)), ((*((t18*) z6))._frameID)); #line 290 goto if_27_end; }; if_27_end: /**/; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z8 = ((*((t18*) z1))._curSize) - 1 ; to = z8; { auto t4 _i; #line 292 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKA (z1 = _t); NILCHECKB (z9 = ((*((t18*) z1))._contents)); { register t73* array = & (*((t63*) z9)); #line 293 z10 = _i; if (z10 >= (array->size[0])) RANGEFAULT; z8 = (int)(array->elts + (z10 * 4)); }; NILCHECKA (z11 = (*(t3*)z8)); #line 293 if ((((t30_fields*)(z11+(0+t84_size)))->_inFrame)) { NILCHECKA (z6 = _t); NILCHECKB (z9 = ((*((t18*) z6))._contents)); { register t73* array = & (*((t63*) z9)); #line 294 z10 = _i; if (z10 >= (array->size[0])) RANGEFAULT; z8 = (int)(array->elts + (z10 * 4)); }; NILCHECKA (z11 = (*(t3*)z8)); #line 294 z8 = _Type__Name ((((t30_fields*)(z11+(0+t84_size)))->_type)); _Emit__OpI (((ADDRESS)(& txt8.str)), z8); NILCHECKA (z3 = _t); NILCHECKB (z9 = ((*((t18*) z3))._contents)); { register t73* array = & (*((t63*) z9)); #line 295 z10 = _i; if (z10 >= (array->size[0])) RANGEFAULT; z8 = (int)(array->elts + (z10 * 4)); }; NILCHECKA (z11 = (*(t3*)z8)); #line 295 _Emit__OpS (((ADDRESS)(& txt9.str)), (((t30_fields*)(z11+(0+t84_size)))->_name)); goto if_28_end; #line 295 }; if_28_end: /**/; } } }; }; NILCHECKA (z3 = _t); _Emit__OpI (((ADDRESS)(& txt10.str)), ((*((t18*) z3))._frameID)); goto if_26_end; }; if_26_end: /**/; NILCHECKA (z1 = _t); _t = ((*((t18*) z1))._next); z2 = (_t != 0); } while (z2); } } }; #line 304 "Scope.m3" EXPORT t8 _Scope__EmitFrameName (_t) t5 _t; { t8 z2; t8 z0; t5 z3; t8 z5; t8 z1; t5 z4; #line 304 "Scope.m3" { auto t8 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; z2 = (_t != 0); z0 = 0; if (z2) { NILCHECKA (z3 = _t); z5 = (((*((t18*) z3))._parent) != 0); z0 = z5; }; z1 = 0; if (z0) { #line 306 NILCHECKA (z3 = _t); NILCHECKA (z4 = ((*((t18*) z3))._parent)); z5 = (((*((t18*) z4))._frameID) != 0 ); z1 = z5; #line 306 }; if (z1) { _Emit__Op (((ADDRESS)(& txt2.str))); __result = 1 ; return __result; }; __result = 0 ; return __result; } } }; #line 314 "Scope.m3" EXPORT t8 _Scope__EmitLocalFrameName (_t) t5 _t; { t8 z2; t8 z0; t5 z3; t8 z5; t5 z1; t8 z4; #line 314 "Scope.m3" { auto t5 _current; auto t8 __result; { ZERO1B (& __result); _current = _Scope__top; #line 314 CHECKSTACKOVERFLOW; z2 = (_t != 0); z0 = 0; if (z2) { NILCHECKA (z3 = _t); z5 = (((*((t18*) z3))._parent) != 0); z0 = z5; }; if (z0) { { t4 *with; NILCHECKA (z1 = _t); NILCHECKA (z3 = ((*((t18*) z1))._parent)); with = &((*((t18*) z3))._frameID); { #line 322 auto t4 * _target; { _target = with; z2 = ((*_target) == 0 ); if (z2) { __result = 0 ; return __result; }; NILCHECKA (z1 = _current); z4 = (((*((t18*) z1))._frameID) != 0 ); if (!z4) ASSERTFAULT; NILCHECKA (z1 = _current); if (((*((t18*) z1))._localFrame)) { _Emit__Op (((ADDRESS)(& txt3.str))); goto if_32_end; }; _Emit__Op (((ADDRESS)(& txt2.str))); if_32_end: /**/; NILCHECKA (z1 = _current); z4 = (((*((t18*) z1))._frameID) != (*_target)); if (z4) do { NILCHECKA (z1 = _current); if (((*((t18*) z1))._hasFrame)) { _Emit__Op (((ADDRESS)(& txt4.str))); goto if_33_end; }; if_33_end: /**/; NILCHECKA (z1 = _current); _current = ((*((t18*) z1))._parent); NILCHECKA (z1 = _current); z4 = (((*((t18*) z1))._frameID) != (*_target)); #line 331 } while (z4); } } }; __result = 1 ; return __result; }; __result = 0 ; return __result; } } }; #line 340 "Scope.m3" EXPORT t87 _Scope__EmitFrameType (_t) t5 _t; { t8 z2; t8 z0; t5 z3; t8 z5; t8 z1; t5 z4; t5 z6; #line 340 "Scope.m3" { { CHECKSTACKOVERFLOW; z2 = (_t != 0); z0 = 0; if (z2) { NILCHECKA (z3 = _t); z5 = (((*((t18*) z3))._parent) != 0); z0 = z5; }; z1 = 0; if (z0) { #line 342 NILCHECKA (z3 = _t); NILCHECKA (z4 = ((*((t18*) z3))._parent)); z5 = (((*((t18*) z4))._frameID) != 0 ); z1 = z5; #line 342 }; if (z1) { NILCHECKA (z3 = _t); NILCHECKA (z6 = ((*((t18*) z3))._parent)); _Emit__OpI (((ADDRESS)(& txt5.str)), ((*((t18*) z6))._frameID)); #line 343 goto if_34_end; }; if_34_end: /**/; } } }; #line 347 "Scope.m3" EXPORT t87 _Scope__Enter (_t) t5 _t; { t8 z2; t5 z1; t4 z4; t5 z3; t6 z5; t4 z6; t8 z7; t8 z0; t5 z8; t3 z9; t51 z10; #line 347 "Scope.m3" { { CHECKSTACKOVERFLOW; z2 = (_t == 0); if (z2) { return; }; _Emit__Op (((ADDRESS)(& txt11.str))); { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 351 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKA (z3 = _t); NILCHECKB (z5 = ((*((t18*) z3))._contents)); #line 351 { register t73* array = & (*((t63*) z5)); z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); #line 351 }; _Value__Declare0 ((*(t3*)z4)); } } }; }; NILCHECKA (z1 = _t); if (((*((t18*) z1))._hasFrame)) { NILCHECKA (z1 = _t); NILCHECKA (z3 = ((*((t18*) z1))._parent)); z7 = (((*((t18*) z3))._frameID) != 0 ); z0 = 0; #line 353 if (z7) { NILCHECKA (z3 = _t); NILCHECKA (z8 = ((*((t18*) z3))._parent)); z0 = ((*((t18*) z8))._localFrame); }; z2 = 0; #line 353 if (z0) { NILCHECKA (z1 = _t); z7 = ! ((*((t18*) z1))._viaFrame); z2 = z7; }; if (z2) { NILCHECKA (z3 = _t); NILCHECKA (z8 = ((*((t18*) z3))._parent)); _Emit__OpI (((ADDRESS)(& txt12.str)), ((*((t18*) z8))._frameID)); #line 354 goto if_37_end; }; if_37_end: /**/; NILCHECKA (z3 = _t); _Emit__OpI (((ADDRESS)(& txt13.str)), ((*((t18*) z3))._frameID)); NILCHECKA (z1 = _t); NILCHECKA (z3 = ((*((t18*) z1))._parent)); z7 = (((*((t18*) z3))._frameID) != 0 ); if (z7) { _Emit__Op (((ADDRESS)(& txt14.str))); goto if_38_end; }; if_38_end: /**/; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 360 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKA (z1 = _t); NILCHECKB (z5 = ((*((t18*) z1))._contents)); { register t73* array = & (*((t63*) z5)); #line 361 z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); }; NILCHECKA (z9 = (*(t3*)z4)); #line 361 if ((((t30_fields*)(z9+(0+t84_size)))->_inFrame)) { NILCHECKA (z3 = _t); NILCHECKB (z5 = ((*((t18*) z3))._contents)); { register t73* array = & (*((t63*) z5)); #line 362 z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); }; NILCHECKA (z9 = (*(t3*)z4)); #line 362 _Emit__OpS (((ADDRESS)(& txt15.str)), (((t30_fields*)(z9+(0+t84_size)))->_name)); NILCHECKA (z3 = _t); NILCHECKB (z5 = ((*((t18*) z3))._contents)); { register t73* array = & (*((t63*) z5)); #line 363 z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); }; z10 = NARROW ((*(t3*)z4), t51, TC51, z10); #line 363 _Variable__LoadLValue (z10); _Emit__Op (((ADDRESS)(& txt16.str))); goto if_39_end; }; if_39_end: /**/; } } }; }; goto if_36_end; #line 364 }; _Emit__Op (((ADDRESS)(& txt11.str))); if_36_end: /**/; _Scope__Generate (_t); } } }; #line 373 "Scope.m3" EXPORT t87 _Scope__Generate (_t) t5 _t; { t8 z2; t5 z1; t4 z4; t5 z3; t6 z5; t4 z6; #line 373 "Scope.m3" { { CHECKSTACKOVERFLOW; z2 = (_t == 0); if (z2) { return; }; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 376 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKA (z3 = _t); NILCHECKB (z5 = ((*((t18*) z3))._contents)); #line 376 { register t73* array = & (*((t63*) z5)); z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); #line 376 }; _Value__Declare1 ((*(t3*)z4)); } } }; }; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 377 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKA (z3 = _t); NILCHECKB (z5 = ((*((t18*) z3))._contents)); #line 377 { register t73* array = & (*((t63*) z5)); z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); #line 377 }; _Value__Declare2 ((*(t3*)z4)); } } }; }; } } }; #line 380 "Scope.m3" EXPORT t87 _Scope__Exit (_t) t5 _t; { t8 z2; #line 380 "Scope.m3" { { CHECKSTACKOVERFLOW; z2 = (_t == 0); if (z2) { return; }; _Emit__Op (((ADDRESS)(& txt17.str))); } } }; #line 386 "Scope.m3" EXPORT t87 _Scope__WarnUnused (_t) t5 _t; { t8 z2; t8 z0; t5 z1; t4 z4; t6 z3; t4 z5; t3 z6; t8 z7; t7 z8; t51 z9; #line 386 "Scope.m3" { auto t4 _save; auto t4 _level; auto t7 _vc; { ZERO1B (& _vc); #line 386 CHECKSTACKOVERFLOW; z2 = (_t == 0); z0 = 1; if (! z2) { z2 = _Module__IsInterface (); z0 = z2; }; if (z0) { return; }; _save = _Scanner__offset; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 391 { for (index = from; index <= to; index += 1) { _i = (t4) index; { t3 *with; NILCHECKA (z1 = _t); NILCHECKB (z3 = ((*((t18*) z1))._contents)); { register t73* array = & (*((t63*) z3)); #line 392 z5 = _i; if (z5 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z5 * 4)); }; with = &(*(t3*)z4); #line 392 { auto t3 * _x; { _x = with; NILCHECKA (z6 = (*_x)); z2 = ! (((t30_fields*)(z6+(0+t84_size)))->_used); z0 = 0; if (z2) { NILCHECKA (z6 = (*_x)); #line 393 z2 = ! (((t30_fields*)(z6+(0+t84_size)))->_imported); z0 = z2; }; z2 = 0; if (z0) { NILCHECKA (z6 = (*_x)); #line 393 z7 = ! (((t30_fields*)(z6+(0+t84_size)))->_exported); z2 = z7; }; if (z2) { NILCHECKA (z6 = (*_x)); z2 = 1; if (! (((t30_fields*)(z6+(0+t84_size)))->_unused)) { NILCHECKA (z6 = (*_x)); #line 394 z2 = (((t30_fields*)(z6+(0+t84_size)))->_obsolete); }; z0 = ! z2; if (z0) { _level = 2 ; z8 = _Value__ClassOf ((*_x)); _vc = z8; z2 = (_vc == 8 ); z0 = 1; if (! z2) { z7 = (_vc == 1 ); z2 = 0; if (z7) { z9 = NARROW ((*_x), t51, TC51, z9); #line 397 z7 = _Variable__IsFormal (z9); z2 = z7; }; z0 = z2; }; if (z0) { _level = 1 ; goto if_45_end; }; if_45_end: /**/; NILCHECKA (z6 = (*_x)); _Scanner__offset = (((t30_fields*)(z6+(0+t84_size)))->_origin); NILCHECKA (z6 = (*_x)); _Error__WarnStr (_level, (((t30_fields*)(z6+(0+t84_size)))->_name), ((ADDRESS)(& txt18.str))); #line 402 goto if_44_end; }; if_44_end: /**/; goto if_43_end; }; NILCHECKA (z6 = (*_x)); if ((((t30_fields*)(z6+(0+t84_size)))->_used)) { NILCHECKA (z6 = (*_x)); if ((((t30_fields*)(z6+(0+t84_size)))->_obsolete)) { NILCHECKA (z6 = (*_x)); _Scanner__offset = (((t30_fields*)(z6+(0+t84_size)))->_origin); NILCHECKA (z6 = (*_x)); _Error__WarnStr ( 2 , (((t30_fields*)(z6+(0+t84_size)))->_name), ((ADDRESS)(& txt19.str))); #line 407 goto if_46_end; }; NILCHECKA (z6 = (*_x)); if ((((t30_fields*)(z6+(0+t84_size)))->_unused)) { NILCHECKA (z6 = (*_x)); _Scanner__offset = (((t30_fields*)(z6+(0+t84_size)))->_origin); NILCHECKA (z6 = (*_x)); _Error__WarnStr ( 2 , (((t30_fields*)(z6+(0+t84_size)))->_name), ((ADDRESS)(& txt20.str))); #line 410 goto if_46_end; }; if_46_end: /**/; goto if_43_end; }; if_43_end: /**/; } } }; } } }; }; _Scanner__offset = _save; } } }; #line 418 "Scope.m3" PRIVATE t87 _Scope__CleanUp (_t) t5 _t; { t5 z1; t8 z4; #line 418 "Scope.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); z4 = (((*((t18*) z1))._hash) == 0); if (z4) { _Scope__RemoveDuplicates (_t); _Scope__HashScope (_t); #line 420 goto if_47_end; }; if_47_end: /**/; } } }; #line 423 "Scope.m3" PRIVATE t87 _Scope__RemoveDuplicates (_t) t5 _t; { t5 z1; t4 z4; t6 z2; t4 z3; t8 z5; t4 z6; t3 z7; t3 z8; t5 z9; #line 423 "Scope.m3" { auto t4 _n; auto t6 _objs; auto t3 _o; auto t3 _z; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); _objs = ((*((t18*) z1))._contents); _n = 0 ; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 428 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKB (z2 = _objs); { register t73* array = & (*((t63*) z2)); z4 = _i; if (z4 >= (array->size[0])) RANGEFAULT; #line 429 z3 = (int)(array->elts + (z4 * 4)); }; _o = (*(t3*)z3); z5 = (_o != 0); if (z5) { { int from, to, index; z3 = _i + 1 ; from = z3; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; #line 431 to = z4; { auto t4 _j; { for (index = from; index <= to; index += 1) { _j = (t4) index; NILCHECKB (z2 = _objs); z3 = _j; if (z3 < 0) RANGEFAULT; { register t73* array = & (*((t63*) z2)); #line 432 z6 = z3; if (z6 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z6 * 4)); }; #line 432 _z = (*(t3*)z4); z5 = (_z == 0); if (z5) { goto if_49_end; }; z5 = (_z == _o); if (z5) { NILCHECKB (z2 = _objs); z4 = _j; if (z4 < 0) RANGEFAULT; { register t73* array = & (*((t63*) z2)); #line 437 z6 = z4; if (z6 >= (array->size[0])) RANGEFAULT; z3 = (int)(array->elts + (z6 * 4)); #line 437 }; (*(t3*)z3) = (t3) 0; goto if_49_end; }; NILCHECKA (z7 = _z); NILCHECKA (z8 = _o); z5 = ((((t30_fields*)(z7+(0+t84_size)))->_name) == (((t30_fields*)(z8+(0+t84_size)))->_name)); #line 437 if (z5) { z7 = _Value__SelectOne (_o, _z); _o = z7; NILCHECKB (z2 = _objs); z4 = _j; if (z4 < 0) RANGEFAULT; { register t73* array = & (*((t63*) z2)); #line 441 z6 = z4; if (z6 >= (array->size[0])) RANGEFAULT; z3 = (int)(array->elts + (z6 * 4)); #line 441 }; (*(t3*)z3) = (t3) 0; goto if_49_end; }; if_49_end: /**/; } } }; }; NILCHECKB (z2 = _objs); z4 = _n; if (z4 < 0) RANGEFAULT; { register t73* array = & (*((t63*) z2)); z6 = z4; #line 444 if (z6 >= (array->size[0])) RANGEFAULT; z3 = (int)(array->elts + (z6 * 4)); }; (*(t3*)z3) = _o; _n += 1 ; goto if_48_end; }; if_48_end: /**/; } } }; }; NILCHECKA (z9 = _t); ((*((t18*) z9))._curSize) = _n; } } }; #line 451 "Scope.m3" PRIVATE t87 _Scope__HashScope (_t) t5 _t; { t5 z2; t4 z4; t6 z0; t4 z3; t6 z5; t5 z1; t3 z6; t4 z7; t4 z8; t8 z9; #line 451 "Scope.m3" { auto t6 _x; auto t4 _max; auto t4 _hash; auto t3 _o; { CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); z4 = 2 * ((*((t18*) z2))._curSize); _max = z4; NILCHECKA (z2 = _t); ((*((t18*) z2))._hashSize) = _max; { register t73* ptr; int sz[1]; sz[0] = _max; ptr = (t73*) UNEWA(TC6, 8 + sz[0] * 4); ptr->elts = (char*)(& ptr->size[1]); #line 456 ptr->size[0] = sz[0]; z0 = (t6) ptr; }; _x = z0; { int from, to, index; from = 0 ; z3 = _max - 1 ; to = z3; { auto t4 _i; { for (index = from; index <= to; index += 1) { #line 457 _i = (t4) index; NILCHECKB (z5 = _x); { register t73* array = & (*((t63*) z5)); z4 = _i; if (z4 >= (array->size[0])) RANGEFAULT; #line 457 z3 = (int)(array->elts + (z4 * 4)); }; (*(t3*)z3) = (t3) 0; } } }; }; { int from, to, index; from = 0 ; NILCHECKA (z1 = _t); z4 = ((*((t18*) z1))._curSize) - 1 ; to = z4; { auto t4 _i; #line 458 { for (index = from; index <= to; index += 1) { _i = (t4) index; NILCHECKA (z1 = _t); NILCHECKB (z5 = ((*((t18*) z1))._contents)); { register t73* array = & (*((t63*) z5)); #line 459 z4 = _i; if (z4 >= (array->size[0])) RANGEFAULT; z3 = (int)(array->elts + (z4 * 4)); }; _o = (*(t3*)z3); NILCHECKA (z6 = _o); z3 = IDIV ((*((t4*)(& (((t30_fields*)(z6+(0+t84_size)))->_name)))), 4 ); z4 = z3; #line 460 z7 = _max; z8 = z4 - (z7 * (IDIV (z4, z7))); _hash = z8; NILCHECKB (z5 = _x); z3 = _hash; if (z3 < 0) RANGEFAULT; { register t73* array = & (*((t63*) z5)); z7 = z3; #line 461 if (z7 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z7 * 4)); }; z9 = ((*(t3*)z4) != 0); #line 461 if (z9) do { _hash += 1 ; z9 = (_hash >= _max); if (z9) { _hash = 0 ; goto if_50_end; }; if_50_end: /**/; NILCHECKB (z5 = _x); #line 463 z3 = _hash; if (z3 < 0) RANGEFAULT; { register t73* array = & (*((t63*) z5)); z7 = z3; if (z7 >= (array->size[0])) RANGEFAULT; #line 463 z4 = (int)(array->elts + (z7 * 4)); }; z9 = ((*(t3*)z4) != 0); } while (z9); NILCHECKB (z5 = _x); z3 = _hash; if (z3 < 0) RANGEFAULT; { register t73* array = & (*((t63*) z5)); z7 = z3; #line 465 if (z7 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z7 * 4)); }; (*(t3*)z4) = _o; } } }; #line 465 }; NILCHECKA (z2 = _t); ((*((t18*) z2))._hash) = _x; } } }; #line 470 "Scope.m3" EXPORT t87 _Scope__NameToPrefix (_v, _p, _considerExternal) t3 _v; t2 * _p; t8 _considerExternal; { t8 z1; t3 z2; t4 z6; t8 z0; t5 z3; t8 z5; t8 z4; t4 z7; t4 z8; t7 z9; t51 z10; #line 470 "Scope.m3" { auto t5 _t; auto t4 _count; auto t8 _haveRParen; { ZERO1B (& _haveRParen); ZERO1 ((& _count)); ZERO1B ((& _haveRParen)); #line 470 CHECKSTACKOVERFLOW; z1 = 0; if (_considerExternal) { NILCHECKA (z2 = _v); z1 = (((t30_fields*)(z2+(0+t84_size)))->_external); }; if (z1) { NILCHECKA (z2 = _v); z6 = ((*_p)._top); if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = (((t30_fields*)(z2+(0+t84_size)))->_extName); ((*_p)._top) += 1 ; goto if_51_end; }; NILCHECKA (z2 = _v); z1 = 1; if (! (((t30_fields*)(z2+(0+t84_size)))->_exported)) { #line 476 NILCHECKA (z2 = _v); z1 = (((t30_fields*)(z2+(0+t84_size)))->_imported); }; z0 = 1; if (! z1) { NILCHECKA (z2 = _v); #line 476 NILCHECKA (z3 = (((t30_fields*)(z2+(0+t84_size)))->_scope)); z5 = (((*((t18*) z3))._parent) == _Scope__Initial); #line 476 z0 = z5; }; if (z0) { NILCHECKA (z2 = _v); NILCHECKA (z3 = (((t30_fields*)(z2+(0+t84_size)))->_scope)); z4 = (((*((t18*) z3))._name) == _Scope__emptyStr); #line 478 if (z4) { z6 = ((*_p)._top); if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = _Scope__Underscore; NILCHECKA (z2 = _v); z7 = ((*_p)._top) + 1 ; z6 = z7; if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = (((t30_fields*)(z2+(0+t84_size)))->_name); ((*_p)._top) += 2 ; goto if_52_end; }; z6 = ((*_p)._top); if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = _Scope__Underscore; NILCHECKA (z2 = _v); NILCHECKA (z3 = (((t30_fields*)(z2+(0+t84_size)))->_scope)); z8 = ((*_p)._top) + 1 ; z6 = z8; #line 484 if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = ((*((t18*) z3))._name); z6 = ((*_p)._top) + 2 ; z7 = z6; if ((z7 < 0) || (99 < z7)) RANGEFAULT; (((*_p)._stk).elts[z7]) = _Scope__UnderscoreUnderscore; NILCHECKA (z2 = _v); z7 = ((*_p)._top) + 3 ; z6 = z7; if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = (((t30_fields*)(z2+(0+t84_size)))->_name); ((*_p)._top) += 4 ; if_52_end: /**/; goto if_51_end; }; z9 = _Value__ClassOf (_v); z1 = (z9 == 4 ); if (z1) { z6 = ((*_p)._top) + 1 ; _count = z6; NILCHECKA (z2 = _v); _t = (((t30_fields*)(z2+(0+t84_size)))->_scope); loop_2:; z4 = (_t == 0); if (z4) { goto loop_exit_2; }; NILCHECKA (z3 = _t); z4 = (((*((t18*) z3))._name) != _Scope__emptyStr); if (z4) { _count += 2 ; goto if_54_end; #line 495 }; if_54_end: /**/; NILCHECKA (z3 = _t); z4 = ! ((*((t18*) z3))._open); if (z4) { goto loop_exit_2; }; NILCHECKA (z3 = _t); _t = ((*((t18*) z3))._parent); goto loop_2; loop_exit_2: /**/; _count += 1 ; ((*_p)._top) = _count; _count -= 1 ; NILCHECKA (z2 = _v); z6 = _count; if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = (((t30_fields*)(z2+(0+t84_size)))->_name); NILCHECKA (z2 = _v); _t = (((t30_fields*)(z2+(0+t84_size)))->_scope); loop_3:; z4 = (_t == 0); if (z4) { goto loop_exit_3; }; NILCHECKA (z3 = _t); z4 = (((*((t18*) z3))._name) != _Scope__emptyStr); if (z4) { _count -= 2 ; z6 = _count + 1 ; z7 = z6; if ((z7 < 0) || (99 < z7)) RANGEFAULT; (((*_p)._stk).elts[z7]) = _Scope__UnderscoreUnderscore; NILCHECKA (z3 = _t); z6 = _count; if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = ((*((t18*) z3))._name); #line 510 goto if_57_end; }; if_57_end: /**/; NILCHECKA (z3 = _t); z4 = ! ((*((t18*) z3))._open); if (z4) { goto loop_exit_3; }; NILCHECKA (z3 = _t); _t = ((*((t18*) z3))._parent); goto loop_3; loop_exit_3: /**/; _count -= 1 ; z6 = _count; if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = _Scope__Underscore; z4 = (_count == 0 ); if (!z4) ASSERTFAULT; goto if_51_end; }; NILCHECKA (z2 = _v); z1 = 0; if ((((t30_fields*)(z2+(0+t84_size)))->_inFrame)) { NILCHECKA (z2 = _v); z4 = ((((t30_fields*)(z2+(0+t84_size)))->_scope) != _Scope__top); #line 519 z1 = z4; }; if (z1) { _t = _Scope__top; NILCHECKA (z2 = _v); z4 = ((((t30_fields*)(z2+(0+t84_size)))->_scope) != _t); z0 = 0; if (z4) { NILCHECKA (z3 = _t); #line 522 z4 = ! ((*((t18*) z3))._viaFrame); z0 = z4; }; if (z0) do { NILCHECKA (z3 = _t); _t = ((*((t18*) z3))._parent); #line 522 NILCHECKA (z2 = _v); z4 = ((((t30_fields*)(z2+(0+t84_size)))->_scope) != _t); z0 = 0; if (z4) { NILCHECKA (z3 = _t); #line 522 z4 = ! ((*((t18*) z3))._viaFrame); z0 = z4; }; } while (z0); NILCHECKA (z2 = _v); z4 = ((((t30_fields*)(z2+(0+t84_size)))->_scope) != _t); if (z4) { z10 = NARROW (_v, t51, TC51, z10); z1 = _Variable__IsIndirect (z10); if (z1) { z6 = ((*_p)._top); if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = _Scope__LParen; goto if_61_end; #line 525 }; z6 = ((*_p)._top); if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = _Scope__StarLParen; if_61_end: /**/; z6 = ((*_p)._top) + 1 ; z7 = z6; if ((z7 < 0) || (99 < z7)) RANGEFAULT; (((*_p)._stk).elts[z7]) = _Scope__Parent; ((*_p)._top) += 2 ; NILCHECKA (z3 = _t); _t = ((*((t18*) z3))._parent); _haveRParen = 1 ; goto if_60_end; }; if_60_end: /**/; NILCHECKA (z2 = _v); z4 = ((((t30_fields*)(z2+(0+t84_size)))->_scope) != _t); if (z4) do { NILCHECKA (z3 = _t); if (((*((t18*) z3))._hasFrame)) { z6 = ((*_p)._top); if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = _Scope__Parent; #line 534 ((*_p)._top) += 1 ; goto if_62_end; }; if_62_end: /**/; NILCHECKA (z3 = _t); _t = ((*((t18*) z3))._parent); NILCHECKA (z2 = _v); z4 = ((((t30_fields*)(z2+(0+t84_size)))->_scope) != _t); #line 535 } while (z4); goto if_59_end; }; if_59_end: /**/; z6 = ((*_p)._top); if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = _Scope__Underscore; NILCHECKA (z2 = _v); z7 = ((*_p)._top) + 1 ; z6 = z7; if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = (((t30_fields*)(z2+(0+t84_size)))->_name); ((*_p)._top) += 2 ; if (_haveRParen) { z6 = ((*_p)._top); if ((z6 < 0) || (99 < z6)) RANGEFAULT; (((*_p)._stk).elts[z6]) = _Scope__RParen; #line 541 ((*_p)._top) += 1 ; goto if_63_end; }; if_63_end: /**/; if_51_end: /**/; } } }; #line 545 "Scope.m3" EXPORT t87 _Scope__GenName (_v) t3 _v; { #line 545 "Scope.m3" { auto t2 _p; { CHECKSTACKOVERFLOW; (_p._top) = 0 ; _Scope__NameToPrefix (_v, &_p, 1 ); _Emit__OpZ (((ADDRESS)(& txt21.str)), &_p); } } }; #line 553 "Scope.m3" EXPORT t87 _Scope__Initialize () { t15 z3; t5 z4; #line 553 "Scope.m3" { { CHECKSTACKOVERFLOW; _Scope__allScopes = (t5) 0; _Scope__top = (t5) 0; z3 = _String__Add (NULLTEXT, 999999 ); _Scope__emptyStr = z3; z4 = _Scope__PushNew ( 0 , _Scope__emptyStr, 0 ); _Scope__Initial = z4; z3 = _String__Add (((ADDRESS)(& txt22.str)), 999999 ); _Scope__Underscore = z3; z3 = _String__Add (((ADDRESS)(& txt23.str)), 999999 ); _Scope__UnderscoreUnderscore = z3; z3 = _String__Add (((ADDRESS)(& txt24.str)), 999999 ); _Scope__Parent = z3; z3 = _String__Add (((ADDRESS)(& txt25.str)), 999999 ); _Scope__StarLParen = z3; z3 = _String__Add (((ADDRESS)(& txt26.str)), 999999 ); _Scope__LParen = z3; z3 = _String__Add (((ADDRESS)(& txt27.str)), 999999 ); _Scope__RParen = z3; } } }; PRIVATE int init_done = -1; #line 564 "Scope.m3" PRIVATE void Scope__initProc (g) int g; { #line 564 "Scope.m3" if (init_done >= g) return; init_done = g; INITIALIZE (& Scope__init); INITIALIZE (& Temp__init); INITIALIZE (& Variable__init); #line 564 INITIALIZE (& ValueRep__init); INITIALIZE (& NamedType__init); INITIALIZE (& Delay__init); INITIALIZE (& Scanner__init); INITIALIZE (& Emit__init); #line 564 INITIALIZE (& RefType__init); INITIALIZE (& ObjectType__init); INITIALIZE (& OpaqueType__init); INITIALIZE (& Procedure__init); #line 564 INITIALIZE (& Error__init); INITIALIZE (& Module__init); INITIALIZE (& Type__init); INITIALIZE (& Value__init); INITIALIZE (& String__init); #line 564 INITIALIZE (& M3__init); #line 44 _Scope__frameID = 1 ; #line 564 return; }; #line 564 "Scope.m3" PRIVATE void t17_PrintProc (ref) t18* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC17->brand); fprintf (stderr, "^ = { "); #line 564 fprintf (stderr, "next = %#x", (*ref)._next); fprintf (stderr, "parent = %#x", (*ref)._parent); fprintf (stderr, "viaFrame = %d", (*ref)._viaFrame); #line 564 fprintf (stderr, "frameID = %d", (*ref)._frameID); fprintf (stderr, "localFrame = %d", (*ref)._localFrame); fprintf (stderr, "hasFrame = %d", (*ref)._hasFrame); #line 564 fprintf (stderr, "name = %#x", (*ref)._name); fprintf (stderr, "children = %d", (*ref)._children); fprintf (stderr, "maxSize = %d", (*ref)._maxSize); #line 564 fprintf (stderr, "curSize = %d", (*ref)._curSize); fprintf (stderr, "hashSize = %d", (*ref)._hashSize); fprintf (stderr, "contents = %#x", (*ref)._contents); #line 564 fprintf (stderr, "hash = %#x", (*ref)._hash); fprintf (stderr, "open = %d", (*ref)._open); fprintf (stderr, "bound = %d", (*ref)._bound); #line 564 fprintf (stderr, "}"); fprintf (stderr, "}\n"); }; PRIVATE INITLINK me_0 ={(INITLINK*)NIL, 0, Scope__initProc}; static char* VSimports[] = { &VS_Temp__T__3a6c7dc12615e4ee, &VS_Variable__T__be7ead4a3afd8be5, &VS_Variable__IsFormal__a0c5752127c0206b, &VS_Variable__IsIndirect__064edb3f298cb355, &VS_Variable__LoadLValue__972aa6573932208a, &VS_ValueRep__V__f28699153c608442, &VS_ValueRep__NoDuplicates__ed93f73a247eb7b4, &VS_ValueRep__NoExpr__1297c63d2e046c2c, &VS_ValueRep__NoType__4061f01226f55ca3, &VS_ValueRep__NoLoader__9a7f0c5b24f526c1, &VS_ValueRep__NoWriter__3b24d43c367f7122, &VS_ValueRep__NoDeclarer__22db283420635bde, &VS_ValueRep__Never__39b6ab0628d97589, &VS_ValueRep__Always__1b0a9bbf2173b8b3, &VS_Delay__Closure__94b4fe673a5d6ded, &VS_Delay__pending__c38e24f234433188, &VS_Delay__FinishUp__4aab618e339b9a83, &VS_Scanner__offset__dfc05f042d8347f4, &VS_Emit__MaxStream__cf0a0e8934c9c9f3, &VS_Emit__Format__bc4a2b083b93bbd7, &VS_Emit__Op__072646cc27c8ae10, &VS_Emit__OpS__f7dc93802c012951, &VS_Emit__OpI__02cb878634bb9f49, &VS_Emit__OpZ__5d420cfd350afcf1, &VS_Procedure__T__be7ead4a3afd8be5, &VS_Procedure__BindBody__1aa3b9ed2346183f, &VS_Procedure__CheckBody__4fa501d93c015612, &VS_Error__Str__2bd0723e3872e90c, &VS_Error__WarnStr__aa8e70c53534552c, &VS_Module__T__be7ead4a3afd8be5, &VS_Module__IsInterface__90cfad77361c85ee, &VS_Module__ExportScope__2186b7e7390e796e, &VS_Module__depth__a65bb56937bd5d03, &VS_Type__T__2446b70b3f7780a5, &VS_Type__Map__41dd9f4b33104fce, &VS_Type__List__5791758e343becc1, &VS_Type__Name__f99416972257a869, &VS_Value__T__2446b70b3f7780a5, &VS_Value__Bind__6439d03d3a1be824, &VS_Value__TypeCheck__917dc8a02c0b0de4, &VS_Value__SelectOne__b8e1cec72d87aada, &VS_Value__Declare0__c5e792dc3048d136, &VS_Value__Declare1__08863c5030bbeb06, &VS_Value__Declare2__5f24cfc431aea557, &VS_Value__ClassOf__9c68d87829345fcf, &VS_String__T__3a6c7dc12615e4ee, &VS_String__Add__0f5e21cc3d204b63, &VS_String__AddInt__3485cc122538fb2d, &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_Scope__T__3a6c7dc12615e4ee, &VS_Scope__ValueList__64bf053e22e4e53c, &VS_Scope__Initial__097aab742ccb9af2, NIL }; void Scope__MLink (phase) int phase; { switch (phase) { case 0: { me_0.link = Scope__init; Scope__init = & me_0; t17_TC = t17_TC_init; REGISTERTYPE (TC17); break; }; case 1: { #line 19 "Scope.m3" IDENTIFYTYPES (TC5, TC17); break; }; case 2: { break; }; }; };