#include "M3Runtime.h" typedef struct { int tc; char* str; int len; } TXT; PRIVATE TXT txt1 = { 3, "missing INTERFACE keyword", 26}; PRIVATE TXT txt2 = { 3, "missing INTERFACE or MODULE keyword", 36}; PRIVATE TXT txt3 = { 3, "EXPORTS clause not allowed in an interface", 43}; PRIVATE TXT txt4 = { 3, "Initial module name doesn\047t match final name", 45}; PRIVATE TXT txt5 = { 3, "extra tokens ignored", 21}; PRIVATE TXT txt6 = { 3, "symbol not exported", 20}; PRIVATE TXT txt7 = { 3, "Circular imports", 17}; PRIVATE TXT txt8 = { 3, "imported object is not an interface", 36}; PRIVATE TXT txt9 = { 3, "imported module has wrong name", 31}; PRIVATE TXT txt10 = { 3, "imported module is not an interface", 36}; PRIVATE TXT txt11 = { 3, "cannot import an unsafe interface in a safe module", 51 }; PRIVATE TXT txt12 = { 3, "\012PRIVATE int init_done = -1;\012", 30}; PRIVATE TXT txt13 = { 3, "\012PRIVATE void\012@__initProc (g) int g;\012", 38}; PRIVATE TXT txt14 = { 3, "{\012\001", 4}; PRIVATE TXT txt15 = { 3, "if (init_done >= g) return;\012init_done = g;\012", 44}; PRIVATE TXT txt16 = { 3, "\002};\012\012", 6}; PRIVATE TXT txt17 = { 3, "\012PRIVATE INITLINK me = {(INITLINK*)NIL, 1, @__initProc };\012", 59 }; PRIVATE TXT txt18 = { 3, "\012void @__ILink (phase) int phase;\012", 35}; PRIVATE TXT txt19 = { 3, "switch (phase) {\001\012", 19}; PRIVATE TXT txt20 = { 3, "case 0: {\001\012", 12}; PRIVATE TXT txt21 = { 3, "me.link = @__init;\012", 20}; PRIVATE TXT txt22 = { 3, "@__init = & me;\012", 17}; PRIVATE TXT txt23 = { 3, "break; \002};\012", 12}; PRIVATE TXT txt24 = { 3, "case 1: {\001\012", 12}; PRIVATE TXT txt25 = { 3, "case 2: {\001\012", 12}; PRIVATE TXT txt26 = { 3, "break; \002\002}; };\012", 16}; PRIVATE TXT txt27 = { 3, "\002};\012", 5}; PRIVATE TXT txt28 = { 3, "{\012", 3}; PRIVATE TXT txt29 = { 3, "return;\012", 9}; PRIVATE TXT txt30 = { 3, "};\012\012", 5}; PRIVATE TXT txt31 = { 3, "\012PRIVATE INITLINK me_@ ={(INITLINK*)NIL, 0, @__initProc};\012", 59 }; PRIVATE TXT txt32 = { 3, "\012EXPORT void (*@_MLink_relay) () = 0;\012", 39}; PRIVATE TXT txt33 = { 3, "\012IMPORT void (*@_MLink_relay) ();\012", 35}; PRIVATE TXT txt34 = { 3, "PRIVATE ", 9}; PRIVATE TXT txt35 = { 3, "\012", 2}; PRIVATE TXT txt36 = { 3, "void @__MLink (phase) int phase;\012", 34}; PRIVATE TXT txt37 = { 3, "if (@_MLink_relay) {@_MLink_relay (phase); return;};\012", 54 }; PRIVATE TXT txt38 = { 3, "me_@.link = @__init;\012", 22}; PRIVATE TXT txt39 = { 3, "@__init = & me_@;\012", 19}; PRIVATE TXT txt40 = { 3, "\012void @_relay_@ ()\012", 20}; PRIVATE TXT txt41 = { 3, "@_relay = ", 11}; PRIVATE TXT txt42 = { 3, "@;\012", 4}; PRIVATE TXT txt43 = { 3, "@_MLink_relay = @__MLink;\012", 27}; PRIVATE TXT txt44 = { 3, "INITIALIZE (& @__init);\012", 25}; PRIVATE TXT txt45 = { 3, "EXPORT INITLINK* @__init = (INITLINK*) 0;\012", 43}; PRIVATE TXT txt46 = { 3, "IMPORT INITLINK* @__init;\012", 27}; PRIVATE TXT txt47 = { 3, "static char* VSimports[] = {\001\012", 31}; PRIVATE TXT txt48 = { 3, "NIL\012\002};\012", 9}; PRIVATE TXT txt49 = { 3, ".", 2}; #line 16 "../Interfaces/Type.i3" #define t4 ADDRESS #define t110 void typedef int t8; #line 116 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef struct { char* elts; int size[1]; } t98; #line 17 "./Ident.i3" #define t67 t98 #define TC4 TC_Type__Map IMPORT TYPE TC_Type__Map; #line 16 "../Interfaces/Type.i3" IMPORT char VS_Type__Map__41dd9f4b33104fce; #line 17 "../Interfaces/Scope.i3" #define t7 ADDRESS #define t108 ADDRESS typedef struct { TYPE self; int private; } t108_methods; #define t108_msize (sizeof (t108_methods)) typedef struct { ADDRESS methods; } t108_fields; #define t108_size (sizeof (t108_fields)) #define TC108 TC_UNTRACED_ROOT IMPORT TYPE TC_UNTRACED_ROOT; IMPORT char VS_UNTRACED_ROOT__3e0964513fd6da20; #line 15 "../Interfaces/M3.i3" #define t11 ADDRESS #define TC11 TC_M3__Value IMPORT TYPE TC_M3__Value; #line 15 IMPORT char VS_M3__Value__6f64cf9c2cae25fb; #line 17 "../Interfaces/Scope.i3" #define t92 t98 #define TC7 TC_Scope__ValueList IMPORT TYPE TC_Scope__ValueList; #line 17 IMPORT char VS_Scope__ValueList__64bf053e22e4e53c; #line 48 "Module.m3" #define t9 ADDRESS #define t5 ADDRESS #define TC5 TC_Module__T IMPORT TYPE TC_Module__T; #line 14 "./Module.i3" IMPORT char VS_Module__T__be7ead4a3afd8be5; #line 48 "Module.m3" typedef struct { t9 _next; t5 _module; } t29; PRIVATE void t9_PrintProc (); PRIVATE typecell t9_TC; PRIVATE typecell t9_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, #line 48 8, 0, NIL, 0, 0, (PROC)NIL, (PROC)NIL, t9_PrintProc, "", 287738035, 939017872}; PRIVATE TYPE TC9 = &t9_TC; #define t18 ADDRESS typedef struct { #line 49 t18 _next; t11 _obj; } t28; PRIVATE void t18_PrintProc (); PRIVATE typecell t18_TC; PRIVATE typecell t18_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, #line 49 8, 0, NIL, 0, 0, (PROC)NIL, (PROC)NIL, t18_PrintProc, "", 723790463, 586813774}; PRIVATE TYPE TC18 = &t18_TC; #line 337 #define t19 ADDRESS PRIVATE void t19_PrintProc (); #line 337 PRIVATE typecell t19_TC; PRIVATE typecell t19_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, 4, 0, NIL, 0, 0, (PROC)NIL, (PROC)NIL, t19_PrintProc, #line 337 "", -75977934, 703213974}; PRIVATE TYPE TC19 = &t19_TC; #define t20 ADDRESS #define TC20 TC_REFANY IMPORT TYPE TC_REFANY; IMPORT char VS_REFANY__4b8748e831fc107a; #line 17 "../Interfaces/Type.i3" #define t33 ADDRESS #define t34 ADDRESS #define TC34 TC_M3__Type IMPORT TYPE TC_M3__Type; #line 18 "../Interfaces/M3.i3" IMPORT char VS_M3__Type__4d87bc25311f81d2; #line 17 "../Interfaces/Type.i3" typedef struct { t33 _next; t34 _type; } t94; #define TC33 TC_Type__List IMPORT TYPE TC_Type__List; #line 17 IMPORT char VS_Type__List__5791758e343becc1; #define t39 ADDRESS #define TC39 TC_ADDRESS IMPORT TYPE TC_ADDRESS; IMPORT char VS_ADDRESS__30f7308738738b44; #line 32 ".ROOT/.boots/corelib/Interfaces/List.i3" #define t41 ADDRESS typedef struct { t20 _first; t41 _tail; } t53; #line 32 #define TC41 TC_List__T IMPORT TYPE TC_List__T; #line 32 IMPORT char VS_List__T__c661f0b12f626d56; #line 248 #define t47 ADDRESS #define t48 t98 PRIVATE void t47_MapProc (); #line 248 PRIVATE void t47_PrintProc (); PRIVATE typecell t47_TC; PRIVATE typecell t47_TC_init = {0, 0, 0, 0, 0, t47_MapProc, -2, 0, NIL, 1, 4, (PROC)NIL, (PROC)NIL, t47_PrintProc, #line 248 "", -38782153, 817587111}; PRIVATE TYPE TC47 = &t47_TC; #line 14 "../Interfaces/Expr.i3" #define t77 ADDRESS #define t76 ADDRESS #define TC76 TC_M3__Expr IMPORT TYPE TC_M3__Expr; #line 16 "../Interfaces/M3.i3" IMPORT char VS_M3__Expr__8ae39aaa2d432477; #line 14 "../Interfaces/Expr.i3" #define t81 t98 #define TC77 TC_Expr__List IMPORT TYPE TC_Expr__List; #line 14 IMPORT char VS_Expr__List__3f87eceb2b9a246a; #define t111 ADDRESS #define TC111 TC_NULL IMPORT TYPE TC_NULL; IMPORT char VS_NULL__fb50c7d53bec30dc; #line 13 "../Interfaces/String.i3" #define t1 ADDRESS #define TC1 TC_String__T IMPORT TYPE TC_String__T; #line 13 IMPORT char VS_String__T__3a6c7dc12615e4ee; #line 948 "Module.m3" typedef t1 (*t2)(); #define t66 ADDRESS typedef struct { TYPE self; int private; } t66_methods; #define t66_msize (sizeof (t66_methods)) typedef struct { ADDRESS methods; } t66_fields; #define t66_size (sizeof (t66_fields)) #define TC66 TC_ROOT IMPORT TYPE TC_ROOT; IMPORT char VS_ROOT__349f58f628be0ac6; #define t66_MapProc TC_ROOT->mapProc #define t3 ADDRESS #define TC3 TC_Wr__T IMPORT TYPE TC_Wr__T; #line 90 ".ROOT/.boots/corelib/Interfaces/Wr.i3" IMPORT char VS_Wr__T__2555b70b3f7780b1; #define t3_MapProc TC_Wr__T->mapProc typedef t110 (*t6)(); typedef unsigned char t10; #line 16 "../Interfaces/Stmt.i3" typedef unsigned char t86; typedef struct { int elts[1]; } t12; #line 18 "./Value.i3" typedef unsigned char t13; #line 488 "Module.m3" typedef t13 (*t14)(); #line 14 "../Interfaces/M3.i3" #define t15 ADDRESS #define TC15 TC_M3__Scope IMPORT TYPE TC_M3__Scope; #line 14 IMPORT char VS_M3__Scope__6e6d8848308d8a2d; #line 476 "Module.m3" typedef t15 (*t16)(); #line 471 typedef t10 (*t17)(); #line 83 ".ROOT/.boots/corelib/Interfaces/Rd.i3" #define t21 ADDRESS #define TC21 TC_Rd__T IMPORT TYPE TC_Rd__T; #line 83 IMPORT char VS_Rd__T__2555b70b3f7780b1; #define t21_MapProc TC_Rd__T->mapProc typedef t5 (*t22)(); #line 263 "Module.m3" typedef t9 (*t23)(); #line 15 "../Interfaces/Token.i3" typedef unsigned char t27; #line 45 typedef struct { int elts[4]; } t24; #define t25 ADDRESS #define TC25 TC_TEXT IMPORT TYPE TC_TEXT; IMPORT char VS_TEXT__b7a92447326386f5; #define t25_MapProc TC_TEXT->mapProc #define t26 ADDRESS #define TC26 TC_IntTable__T IMPORT TYPE TC_IntTable__T; #line 13 ".ROOT/.boots/corelib/Interfaces/IntTable.i3" IMPORT char VS_IntTable__T__e38bb59132b51757; #define t26_MapProc TC_IntTable__T->mapProc #define t30 ADDRESS #define TC30 TC_M3__Stmt IMPORT TYPE TC_M3__Stmt; #line 17 "../Interfaces/M3.i3" IMPORT char VS_M3__Stmt__376b307627fc1f2f; #line 14 "./Revelation.i3" #define t31 ADDRESS #define TC31 TC_Revelation__Set IMPORT TYPE TC_Revelation__Set; #line 14 IMPORT char VS_Revelation__Set__d30dba392ce2e71e; #line 22 "Module.m3" #define t32 ADDRESS #line 19 "../Interfaces/M3.i3" #define t57 ADDRESS #define TC57 TC_M3__Temp IMPORT TYPE TC_M3__Temp; #line 19 IMPORT char VS_M3__Temp__450b691937f03dae; #line 45 "./ValueRep.i3" typedef t57 (*t74)(); typedef t11 (*t87)(); typedef t76 (*t78)(); typedef t34 (*t36)(); #line 22 "Module.m3" typedef struct { int filler; } t32_methods; #define t32_msize (sizeof (t32_methods)) typedef struct { #line 22 t10 _safe; t10 _interface; t9 _exports; t9 _imports; t18 _importObjs; t15 _syms; t31 _revelations; t30 _body; t8 _depth; #line 22 } t32_fields; #define t32_size (sizeof (t32_fields)) PRIVATE void t32_InitProc (); #line 22 PRIVATE void t32_SetupProc (); PRIVATE void t32_PrintProc (); PRIVATE typecell t32_TC; PRIVATE typecell t32_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, #line 22 t32_size, t32_msize, NIL, 0, 0, t32_InitProc, t32_SetupProc, t32_PrintProc, "Module.T", 2052697423, 663776322}; PRIVATE TYPE TC32 = &t32_TC; #line 22 #line 32 "./Revelation.i3" typedef t33 (*t35)(); #line 14 "./Decl.i3" typedef struct { t1 _alias; t10 _isExternal; t10 _isInline; t10 _isUnused; t10 _isObsolete; } t37; #line 16 "./Revelation.i3" typedef t31 (*t38)(); #line 13 "../Interfaces/Scanner.i3" typedef struct { t27 _token; t1 _string; t8 _value; t8 _offset; } t40; #line 60 ".ROOT/.boots/corelib/Interfaces/IntTable.i3" typedef t41 (*t42)(); #line 26 typedef t26 (*t43)(); typedef int t44; #line 273 ".ROOT/.boots/corelib/Interfaces/List.i3" typedef t8 (*t45)(); #line 41 typedef t20 (*t46)(); #line 248 typedef t47 (*t49)(); #line 189 typedef signed_char t51; #line 38 typedef t51 (*t50)(); #line 85 typedef t44 (*t52)(); #line 27 "../Interfaces/Emit.i3" typedef signed_char t54; #line 63 typedef t54 (*t55)(); #line 19 "../Interfaces/String.i3" typedef signed_char t96; #line 16 "./Ident.i3" #define t68 t98 typedef struct { t1 elts[100]; } t97; #line 17 "../Interfaces/String.i3" typedef struct { t8 _top; t97 _stk; } t56; #line 16 "./Variable.i3" #define t58 ADDRESS #define TC58 TC_Variable__T IMPORT TYPE TC_Variable__T; #line 16 IMPORT char VS_Variable__T__be7ead4a3afd8be5; typedef double t59; typedef unsigned char t60; #line 33 "../Interfaces/Host.i3" typedef t21 (*t61)(); #line 220 ".ROOT/.boots/corelib/Interfaces/Rd.i3" typedef t25 (*t62)(); #line 189 #define t63 t98 typedef t60 (*t64)(); #line 84 typedef unsigned char t65; #line 17 "./Ident.i3" typedef unsigned char t69; typedef struct { t8 elts[201]; } t70; #line 16 typedef struct { t1 elts[201]; } t71; #line 37 "./Procedure.i3" #define t72 t98 #define t73 ADDRESS #define TC73 TC_Procedure__T IMPORT TYPE TC_Procedure__T; #line 15 IMPORT char VS_Procedure__T__be7ead4a3afd8be5; #line 17 "../Interfaces/CallExpr.i3" #define t75 ADDRESS #define TC75 TC_CallExpr__MethodList IMPORT TYPE TC_CallExpr__MethodList; #line 17 IMPORT char VS_CallExpr__MethodList__7e87c2d720444b71; typedef t75 (*t79)(); #line 24 "./Variable.i3" typedef t58 (*t80)(); #line 11 "../Interfaces/Delay.i3" #define t82 ADDRESS #line 11 typedef struct { t6 _apply; } t82_methods; #define t82_msize (sizeof (t82_methods)) typedef struct { #line 11 int filler; } t82_fields; #define t82_size (sizeof (t82_fields)) #define TC82 TC_Delay__Closure IMPORT TYPE TC_Delay__Closure; #line 11 IMPORT char VS_Delay__Closure__94b4fe673a5d6ded; #line 14 "../Interfaces/String.i3" typedef struct { t1 _module; t1 _item; } t83; #line 27 "../Interfaces/Stmt.i3" typedef void (*t84)(); #line 19 typedef t30 (*t85)(); #line 15 ".ROOT/.boots/corelib/Interfaces/FPrint.i3" typedef struct { t8 elts[2]; } t88; #line 16 "./ValueRep.i3" typedef t10 t89; #define t90 ADDRESS #line 19 typedef struct { t6 _bind; t6 _typeCheck; t14 _class; t6 _fingerprint; t74 _load; t6 _write; t87 _select; t17 _declare0; t6 _declare1; #line 19 t6 _declare2; t17 _needsDecl; t78 _toExpr; t36 _toType; } t90_methods; #define t90_msize (sizeof (t90_methods)) typedef struct { #line 19 t8 _origin; t1 _name; t1 _extName; t15 _scope; t34 _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; t88 _fprint; #line 19 } t90_fields; #define t90_size (sizeof (t90_fields)) #define TC90 TC_M3__Value typedef void (*t91)(); #line 121 "../Interfaces/Type.i3" typedef t4 (*t93)(); #line 65 "../Interfaces/Token.i3" typedef struct { t1 elts[97]; } t95; #line 91 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef unsigned char t99; #line 15 ".ROOT/.boots/corelib/Interfaces/Thread.i3" #define t100 ADDRESS #define TC100 TC_Thread__T IMPORT TYPE TC_Thread__T; #line 15 IMPORT char VS_Thread__T__2555b70b3f7780b1; #define t100_MapProc TC_Thread__T->mapProc #define t101 ADDRESS #define TC101 TC_Thread__Condition IMPORT TYPE TC_Thread__Condition; IMPORT char VS_Thread__Condition__26d5968239e08f4e; #define t101_MapProc TC_Thread__Condition->mapProc #define t102 ADDRESS #define TC102 TC_MUTEX IMPORT TYPE TC_MUTEX; IMPORT char VS_MUTEX__1f9d4e89391ab815; #define t102_MapProc TC_MUTEX->mapProc typedef t100 (*t103)(); #line 23 #define t104 ADDRESS #line 23 typedef struct { t46 _apply; } t104_methods; #define t104_msize (sizeof (t104_methods)) typedef struct { #line 23 int filler; } t104_fields; #define t104_size (sizeof (t104_fields)) #define TC104 TC_Thread__Closure IMPORT TYPE TC_Thread__Closure; #line 23 IMPORT char VS_Thread__Closure__7fb5c6232c5a658a; #define t104_MapProc TC_Thread__Closure->mapProc typedef t101 (*t105)(); typedef t102 (*t106)(); #line 28 #define t107 ADDRESS #line 28 typedef struct { int filler; } t107_methods; #define t107_msize (sizeof (t107_methods)) typedef struct { #line 28 t44 _stackSize; } t107_fields; #define t107_size (sizeof (t107_fields)) #define TC107 TC_Thread__SizedClosure IMPORT TYPE TC_Thread__SizedClosure; #line 28 IMPORT char VS_Thread__SizedClosure__8a46717d2eae7b07; #define t107_MapProc TC_Thread__SizedClosure->mapProc typedef CLOSURE t109; typedef float t112; #line 12 "Module.m3" IMPORT INITLINK* Scanner__init; IMPORT INITLINK* Decl__init; IMPORT INITLINK* Coverage__init; IMPORT INITLINK* Revelation__init; #line 12 IMPORT INITLINK* Tipe__init; IMPORT INITLINK* Token__init; IMPORT INITLINK* Rd__init; IMPORT INITLINK* IntTable__init; IMPORT INITLINK* Emit__init; #line 12 IMPORT INITLINK* Expr__init; IMPORT INITLINK* Host__init; IMPORT INITLINK* Text__init; IMPORT INITLINK* Temp__init; IMPORT INITLINK* Wr__init; #line 12 IMPORT INITLINK* Void__init; IMPORT INITLINK* Ident__init; IMPORT INITLINK* Procedure__init; IMPORT INITLINK* Constant__init; #line 12 IMPORT INITLINK* Type__init; IMPORT INITLINK* Variable__init; IMPORT INITLINK* Delay__init; IMPORT INITLINK* Exceptionz__init; #line 12 IMPORT INITLINK* Error__init; IMPORT INITLINK* Stmt__init; IMPORT INITLINK* Scope__init; IMPORT INITLINK* String__init; IMPORT INITLINK* ValueRep__init; #line 12 IMPORT INITLINK* Value__init; IMPORT INITLINK* Module__init; IMPORT t40 _Scanner__cur; IMPORT char VS_Scanner__cur__929fa6f8367ea415; #line 12 IMPORT t8 _Scanner__offset; IMPORT char VS_Scanner__offset__dfc05f042d8347f4; IMPORT t110 _Scanner__Match (); IMPORT char VS_Scanner__Match__aaf5b32f2f19a6d8; #line 12 IMPORT t1 _Scanner__MatchID (); IMPORT char VS_Scanner__MatchID__4fb3c66f3429afd9; IMPORT t110 _Scanner__GetToken (); IMPORT char VS_Scanner__GetToken__192100a32c7e576d; #line 12 IMPORT t110 _Scanner__Fail (); IMPORT char VS_Scanner__Fail__a15a8cf32391aa62; IMPORT t110 _Scanner__Push (); IMPORT char VS_Scanner__Push__2865089230018ad8; #line 12 IMPORT t110 _Scanner__Pop (); IMPORT char VS_Scanner__Pop__201d3ab93a5755c6; IMPORT t110 _Decl__Parse (); IMPORT char VS_Decl__Parse__e6cb29993103d662; #line 12 IMPORT t110 _Coverage__GenerateTables (); IMPORT char VS_Coverage__GenerateTables__d7c498fb2086c132; IMPORT t31 _Revelation__PushNew (); #line 12 IMPORT char VS_Revelation__PushNew__06ccb39a3632a487; IMPORT t110 _Revelation__Push (); IMPORT char VS_Revelation__Push__421640a0294ec045; #line 12 IMPORT t110 _Revelation__Pop (); IMPORT char VS_Revelation__Pop__c93ef8893c261f78; IMPORT t110 _Revelation__Inherit (); IMPORT char VS_Revelation__Inherit__de099ee623b5e437; #line 12 IMPORT t110 _Revelation__Bind (); IMPORT char VS_Revelation__Bind__cdd1b730257bcbc2; IMPORT t110 _Revelation__TypeCheck (); #line 12 IMPORT char VS_Revelation__TypeCheck__f98a9360371b3056; IMPORT t110 _Revelation__Declare (); IMPORT char VS_Revelation__Declare__0d1099da3b2beb77; #line 12 IMPORT t110 _Revelation__GenIdentifications (); IMPORT char VS_Revelation__GenIdentifications__73dc51af3bc7c1ed; IMPORT t110 _Revelation__GenSubtypeChecks (); #line 12 IMPORT char VS_Revelation__GenSubtypeChecks__3a0acd522c25718b; IMPORT t110 _Tipe__InitializeExport (); IMPORT char VS_Tipe__InitializeExport__a4a492ab35e21ee0; #line 12 IMPORT t24 _Token__DeclStart; IMPORT char VS_Token__DeclStart__730c82bc2c2001b8; IMPORT t24 _Token__TypeStart; IMPORT char VS_Token__TypeStart__f71616cb38a20d02; #line 12 IMPORT t24 _Token__ExprStart; IMPORT char VS_Token__ExprStart__21dc8a0a27344836; IMPORT t24 _Token__StmtStart; IMPORT char VS_Token__StmtStart__d5f1dc8e390e874c; #line 12 IMPORT EXCEPTION_NAME _Thread__Alerted; IMPORT char VS_Thread__Alerted__fc88feb43485af46; IMPORT EXCEPTION_NAME _Rd__EndOfFile; #line 12 IMPORT char VS_Rd__EndOfFile__f4a9d2f63b7e105d; IMPORT EXCEPTION_NAME _Rd__Failure; IMPORT char VS_Rd__Failure__e4a829e331222b6d; #line 12 IMPORT EXCEPTION_NAME _Rd__Error; IMPORT char VS_Rd__Error__5ca07bfe2ba90cfc; IMPORT t26 _IntTable__New (); IMPORT char VS_IntTable__New__3dc7ffff24de1d12; #line 12 IMPORT t10 _IntTable__Get (); IMPORT char VS_IntTable__Get__d252c369205f828a; IMPORT t10 _IntTable__Put (); IMPORT char VS_IntTable__Put__2e50da8725271a2d; #line 12 IMPORT char VS_Emit__MaxStream__cf0a0e8934c9c9f3; IMPORT TYPE TC_Emit__Format; IMPORT char VS_Emit__Format__bc4a2b083b93bbd7; #line 12 IMPORT t110 _Emit__Op (); IMPORT char VS_Emit__Op__072646cc27c8ae10; IMPORT t110 _Emit__OpS (); IMPORT char VS_Emit__OpS__f7dc93802c012951; #line 12 IMPORT t110 _Emit__OpSS (); IMPORT char VS_Emit__OpSS__6d3e5a1c3d099356; IMPORT t110 _Emit__OpSI (); IMPORT char VS_Emit__OpSI__ab1965f432d76dc2; #line 12 IMPORT t110 _Emit__OpIS (); IMPORT char VS_Emit__OpIS__9f7893f0232bd0ad; IMPORT t110 _Emit__OpN (); IMPORT char VS_Emit__OpN__a3f6e37c396e144c; #line 12 IMPORT t110 _Emit__Push (); IMPORT char VS_Emit__Push__bb0d136633891859; IMPORT t110 _Emit__Pop (); IMPORT char VS_Emit__Pop__8a7be1412301ed32; #line 12 IMPORT t54 _Emit__Switch (); IMPORT char VS_Emit__Switch__e69d0876372d3ad7; IMPORT TYPE TC_Expr__T; IMPORT char VS_Expr__T__2446b70b3f7780a5; #line 12 IMPORT t10 _Host__versionStamps; IMPORT char VS_Host__versionStamps__349a7ae73215b586; IMPORT t8 _Host__incrementalVersion; #line 12 IMPORT char VS_Host__incrementalVersion__1798bcf82af0e178; IMPORT t1 _Host__toCompile; IMPORT char VS_Host__toCompile__bcbbdf8434b39d67; #line 12 IMPORT t21 _Host__OpenInterface (); IMPORT char VS_Host__OpenInterface__f7dcf6632ef32c58; IMPORT t110 _Host__CloseFile (); #line 12 IMPORT char VS_Host__CloseFile__19dd0e0c3457343b; IMPORT TYPE TC_Text__T; IMPORT char VS_Text__T__fc4b369f3ab271fd; IMPORT TYPE TC_Temp__T; #line 12 IMPORT char VS_Temp__T__3a6c7dc12615e4ee; IMPORT t110 _Temp__PushSet (); IMPORT char VS_Temp__PushSet__421e3799382982bc; IMPORT t110 _Temp__PopSet (); #line 12 IMPORT char VS_Temp__PopSet__e0f9f19236e0186c; IMPORT EXCEPTION_NAME _Wr__Failure; IMPORT char VS_Wr__Failure__5f82cfb43dabf527; #line 12 IMPORT EXCEPTION_NAME _Wr__Error; IMPORT char VS_Wr__Error__c367253d3ed4fd15; IMPORT t110 _Wr__PutText (); IMPORT char VS_Wr__PutText__e034dab73a793846; #line 12 IMPORT t34 _Void__T; IMPORT char VS_Void__T__d44caf853dc63223; IMPORT char VS_Ident__MaxIDs__008b1dc032f417a4; IMPORT t71 _Ident__stack; #line 12 IMPORT char VS_Ident__stack__26abbee13e46561c; IMPORT t8 _Ident__top; IMPORT char VS_Ident__top__5f69d9f328d50d34; IMPORT t8 _Ident__ParseList (); #line 12 IMPORT char VS_Ident__ParseList__bf92180a2a700808; IMPORT t10 _Procedure__HasBody (); IMPORT char VS_Procedure__HasBody__0f7fcb6134b4267e; #line 12 IMPORT t110 _Procedure__GenHeaders (); IMPORT char VS_Procedure__GenHeaders__a26b8bbd2bbade42; IMPORT t110 _Procedure__GenBodies (); #line 12 IMPORT char VS_Procedure__GenBodies__87a02e1926e07de1; IMPORT TYPE TC_Type__T; IMPORT char VS_Type__T__2446b70b3f7780a5; #line 12 IMPORT t110 _Type__GenDeclarations (); IMPORT char VS_Type__GenDeclarations__c586cbee22a947af; IMPORT t110 _Type__GenInitProcs (); #line 12 IMPORT char VS_Type__GenInitProcs__9df295572e487ce3; IMPORT t110 _Type__GenMapProcs (); IMPORT char VS_Type__GenMapProcs__dc48c1b1338c7672; #line 12 IMPORT t110 _Type__GenRegistrations (); IMPORT char VS_Type__GenRegistrations__80433bb32aa13468; IMPORT t110 _Type__FinishRegistrations (); #line 12 IMPORT char VS_Type__FinishRegistrations__547b10f420e47e56; IMPORT t110 _Variable__InitGlobal (); IMPORT char VS_Variable__InitGlobal__a8a0983620eb1d77; #line 12 IMPORT t110 _Variable__GenGlobalMap (); IMPORT char VS_Variable__GenGlobalMap__4bde677a2bc87c63; IMPORT t10 _Delay__pending; #line 12 IMPORT char VS_Delay__pending__c38e24f234433188; IMPORT t110 _Delay__FinishUp (); IMPORT char VS_Delay__FinishUp__4aab618e339b9a83; #line 12 IMPORT t110 _Error__Msg (); IMPORT char VS_Error__Msg__4d119a332467757f; IMPORT t110 _Error__Str (); IMPORT char VS_Error__Str__2bd0723e3872e90c; #line 12 IMPORT TYPE TC_Stmt__T; IMPORT char VS_Stmt__T__2446b70b3f7780a5; IMPORT t30 _Stmt__Parse (); IMPORT char VS_Stmt__Parse__35df10ad3fd1dfe6; #line 12 IMPORT t110 _Stmt__Bind (); IMPORT char VS_Stmt__Bind__55f2c79a304c25df; IMPORT t110 _Stmt__TypeCheck (); IMPORT char VS_Stmt__TypeCheck__e228c94928564a9d; #line 12 IMPORT t110 _Stmt__Precompile (); IMPORT char VS_Stmt__Precompile__68dddedb3aa69659; IMPORT void _Stmt__Compile (); IMPORT char VS_Stmt__Compile__53f9f2c43edb087a; #line 12 IMPORT TYPE TC_Scope__T; IMPORT char VS_Scope__T__3a6c7dc12615e4ee; IMPORT t15 _Scope__Initial; IMPORT char VS_Scope__Initial__097aab742ccb9af2; #line 12 IMPORT t15 _Scope__PushNew (); IMPORT char VS_Scope__PushNew__d323325530c46e5d; IMPORT t110 _Scope__PopNew (); IMPORT char VS_Scope__PopNew__3afab09a31bee774; #line 12 IMPORT t110 _Scope__Push (); IMPORT char VS_Scope__Push__ff579fe72573f581; IMPORT t110 _Scope__Pop (); IMPORT char VS_Scope__Pop__cfcd8a43301536dd; #line 12 IMPORT t110 _Scope__Insert (); IMPORT char VS_Scope__Insert__ef77c00626575764; IMPORT t11 _Scope__LookUpInScope (); IMPORT char VS_Scope__LookUpInScope__176166ad3a7fb5b9; #line 12 IMPORT t110 _Scope__GenFrameTypes (); IMPORT char VS_Scope__GenFrameTypes__0a54ad9f2c562d48; IMPORT t110 _Scope__ToList (); #line 12 IMPORT char VS_Scope__ToList__4f3684492cf42c93; IMPORT t110 _Scope__Seal (); IMPORT char VS_Scope__Seal__6820dc2e2fab28b5; #line 12 IMPORT t110 _Scope__Bind (); IMPORT char VS_Scope__Bind__344f0d6129e368d1; IMPORT t110 _Scope__TypeCheck (); IMPORT char VS_Scope__TypeCheck__f0c8e8c4224804fd; #line 12 IMPORT t110 _Scope__Generate (); IMPORT char VS_Scope__Generate__e50d3065292f9146; IMPORT t110 _Scope__WarnUnused (); IMPORT char VS_Scope__WarnUnused__9058f21e35f1c66f; #line 12 IMPORT t1 _String__Add (); IMPORT char VS_String__Add__0f5e21cc3d204b63; IMPORT t110 _String__Put (); IMPORT char VS_String__Put__2457561e210725b3; #line 12 IMPORT TYPE TC_ValueRep__V; IMPORT char VS_ValueRep__V__f28699153c608442; IMPORT t110 _ValueRep__Init (); IMPORT char VS_ValueRep__Init__ba99dff739390f9a; #line 12 IMPORT t11 _ValueRep__NoDuplicates (); IMPORT char VS_ValueRep__NoDuplicates__ed93f73a247eb7b4; IMPORT t76 _ValueRep__NoExpr (); #line 12 IMPORT char VS_ValueRep__NoExpr__1297c63d2e046c2c; IMPORT t34 _ValueRep__NoType (); IMPORT char VS_ValueRep__NoType__4061f01226f55ca3; #line 12 IMPORT t57 _ValueRep__NoLoader (); IMPORT char VS_ValueRep__NoLoader__9a7f0c5b24f526c1; IMPORT t110 _ValueRep__NoWriter (); #line 12 IMPORT char VS_ValueRep__NoWriter__3b24d43c367f7122; IMPORT t110 _ValueRep__NoDeclarer (); IMPORT char VS_ValueRep__NoDeclarer__22db283420635bde; #line 12 IMPORT t10 _ValueRep__Never (); IMPORT char VS_ValueRep__Never__39b6ab0628d97589; IMPORT t10 _ValueRep__Always (); IMPORT char VS_ValueRep__Always__1b0a9bbf2173b8b3; #line 12 IMPORT TYPE TC_Value__T; IMPORT char VS_Value__T__2446b70b3f7780a5; IMPORT t110 _Value__Bind (); IMPORT char VS_Value__Bind__6439d03d3a1be824; #line 12 IMPORT t110 _Value__TypeCheck (); IMPORT char VS_Value__TypeCheck__917dc8a02c0b0de4; IMPORT t110 _Value__Declare0 (); IMPORT char VS_Value__Declare0__c5e792dc3048d136; #line 12 IMPORT t110 _Value__NoteUse (); IMPORT char VS_Value__NoteUse__ddcc76892c46c97c; IMPORT t13 _Value__ClassOf (); IMPORT char VS_Value__ClassOf__9c68d87829345fcf; #line 12 EXPORT t5 _Module__Parse (); EXPORT char VS_Module__Parse__ce68833f303bed57 = '\0'; EXPORT t5 _Module__NewDefn (); EXPORT char VS_Module__NewDefn__16f222ea2d5272b7 = '\0'; #line 12 EXPORT t110 _Module__Bind (); EXPORT char VS_Module__Bind__262ead3a33a7b31c = '\0'; EXPORT t110 _Module__TypeCheck (); EXPORT char VS_Module__TypeCheck__32d5029c3068eb4f = '\0'; #line 12 EXPORT t110 _Module__Compile (); EXPORT char VS_Module__Compile__6d0f3281306ecb9b = '\0'; EXPORT t10 _Module__IsSafe (); EXPORT char VS_Module__IsSafe__13f026ba31f586b3 = '\0'; #line 12 EXPORT t10 _Module__IsInterface (); EXPORT char VS_Module__IsInterface__90cfad77361c85ee = '\0'; EXPORT t15 _Module__ExportScope (); #line 12 EXPORT char VS_Module__ExportScope__2186b7e7390e796e = '\0'; EXPORT t1 _Module__CurrentName (); EXPORT char VS_Module__CurrentName__7326faa422931b31 = '\0'; #line 12 IMPORT t8 _Module__depth; IMPORT char VS_Module__depth__a65bb56937bd5d03; PRIVATE TYPE TC_Module__List; PRIVATE TYPE TC_Module__ObjList; #line 12 PRIVATE t26 _Module__defns; PRIVATE t5 _Module__curModule; PRIVATE t5 _Module__Create (); PRIVATE t110 _Module__ParseExport (); #line 12 PRIVATE t110 _Module__ParseImport (); PRIVATE t110 _Module__ParseFromImport (); PRIVATE t9 _Module__Push (); PRIVATE t10 _Module__ImportObj (); #line 12 PRIVATE t110 _Module__PortExternalSymbols (); PRIVATE TYPE TC_Module__RefT; PRIVATE t5 _Module__LookUp (); PRIVATE t110 _Module__RecordInterface (); #line 12 PRIVATE t110 _Module__TypeCheckMethod (); PRIVATE t110 _Module__ObjCompile (); PRIVATE t13 _Module__MyClass (); PRIVATE t110 _Module__CompileInterface (); #line 12 PRIVATE t110 _Module__CompileModule (); PRIVATE t110 _Module__GenExports (); PRIVATE t110 _Module__InitExports (); PRIVATE t110 _Module__GenInitCalls (); #line 12 PRIVATE t110 _Module__GenInitLinks (); PRIVATE t110 _Module__GenInitLink (); PRIVATE t110 _Module__GenInterfaces (); PRIVATE t110 _Module__GenInterfaceRecord (); #line 12 PRIVATE t110 _Module__ImportVersionStamps (); PRIVATE t110 _Module__RefVersionStamps (); PRIVATE t110 _Module__RefVersionStampsInModule (); #line 12 PRIVATE t110 _Module__FPrinter (); EXPORT char VS_Module__T__c9400d682e9d0089 = '\0'; IMPORT char VS_M3__Value__c975bdb53a08f518; #line 12 void Module__MMap (p) void (*p) (); { ADDRESS r = NIL; ADDRESS c = NIL; CHECKSTACKOVERFLOW; p (& (_Module__defns), r, c); #line 12 }; #line 58 "Module.m3" PRIVATE t5 _Module__Create (_name) t1 _name; { t5 z0; t5 z2; t31 z1; #line 58 "Module.m3" { auto t5 _t; auto t5 __result; { CHECKSTACKOVERFLOW; { register char** ptr = (char**) UNEWOBJ (TC5); z0 = (t5) ptr; }; _t = z0; _ValueRep__Init (_t, _name); NILCHECKA (z2 = _t); (((t90_fields*)(z2+(0+t108_size)))->_type) = _Void__T; NILCHECKA (z2 = _t); (((t90_fields*)(z2+(0+t108_size)))->_readonly) = 1 ; NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_safe) = 1 ; NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_interface) = 1 ; NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_exports) = (t9) 0; NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_imports) = (t9) 0; NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_importObjs) = (t18) 0; NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms) = (t15) 0; NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_body) = (t30) 0; z1 = _Revelation__PushNew (); NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_revelations) = z1; NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_depth) = _Module__depth; __result = _t; return __result; } } }; #line 77 "Module.m3" EXPORT t5 _Module__NewDefn (_name, _safe) t25 _name; t10 _safe; { t1 z4; t5 z1; t5 z2; t5 z3; t15 z5; #line 77 "Module.m3" { auto t5 _t; auto t5 __result; { CHECKSTACKOVERFLOW; z4 = _String__Add (_name, 999999 ); z1 = _Module__Create (z4); _t = z1; NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_safe) = _safe; _Scope__Push (_Scope__Initial); NILCHECKA (z3 = _t); z5 = _Scope__PushNew ( 1 , (((t90_fields*)(z3+(0+t108_size)))->_name), 0 ); NILCHECKA (z1 = _t); #line 83 (((t32_fields*)(z1+(0+t90_size+t108_size)))->_syms) = z5; _Scope__PopNew (); _Scope__Pop (); _Revelation__Pop (); _Module__RecordInterface (_t); __result = _t; return __result; } } }; #line 91 "Module.m3" EXPORT t5 _Module__Parse (_interfaceOnly) t10 _interfaceOnly; { t5 z2; t10 z3; t5 z1; t24 z4; t8 z5; t24 z6; t10 z0; t10 z7; t1 z8; t8 z9; t5 z10; t15 z11; t30 z12; t24 z13; #line 91 "Module.m3" { PRIVATE t24 _Empty = {{ 0 }}; PRIVATE t24 _TailStart = {{ 0x00000001, 0x00200000 }}; PRIVATE t24 _ImportStart = {{ 0, 0xa0000000 }}; #line 91 PRIVATE t24 _TIDStart = {{ 0x00008001, 0xa1210998, 0x41080800 }}; auto t5 _t; auto t5 _save; auto t1 _id; auto t8 _n; auto t5 __result; #line 91 { CHECKSTACKOVERFLOW; _Module__depth += 1 ; z2 = _Module__Create (0); _t = z2; _save = _Module__curModule; _Module__curModule = _t; z3 = ((_Scanner__cur._token) == 90 ); if (z3) { NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_safe) = 0 ; _Scanner__GetToken (); goto if_1_end; }; if_1_end: /**/; z3 = ((_Scanner__cur._token) == 65 ); NILCHECKA (z1 = _t); (((t32_fields*)(z1+(0+t90_size+t108_size)))->_interface) = z3; if (_interfaceOnly) { z3 = ((_Scanner__cur._token) == 65 ); if (z3) { _Scanner__GetToken (); goto if_3_end; }; z4.elts [0] = 0x00000002; z4.elts [1] = 0x04000000; z4.elts [2] = 0; z4.elts [3] = 0; z6.elts[0] = z4.elts[0] | _TIDStart.elts[0]; z6.elts[1] = z4.elts[1] | _TIDStart.elts[1]; #line 115 z6.elts[2] = z4.elts[2] | _TIDStart.elts[2]; z6.elts[3] = z4.elts[3] | _TIDStart.elts[3]; z4 = z6; _Scanner__Fail (((ADDRESS)(& txt1.str)), &z4); #line 115 if_3_end: /**/; NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_interface) = 1 ; goto if_2_end; }; z3 = ((_Scanner__cur._token) == 65 ); #line 116 z0 = 1; if (! z3) { z7 = ((_Scanner__cur._token) == 70 ); z0 = z7; }; if (z0) { _Scanner__GetToken (); goto if_2_end; }; z4.elts [0] = 0x00000002; z4.elts [1] = 0x04000000; z4.elts [2] = 0; z4.elts [3] = 0; z6.elts[0] = z4.elts[0] | _TIDStart.elts[0]; z6.elts[1] = z4.elts[1] | _TIDStart.elts[1]; #line 120 z6.elts[2] = z4.elts[2] | _TIDStart.elts[2]; z6.elts[3] = z4.elts[3] | _TIDStart.elts[3]; z4 = z6; _Scanner__Fail (((ADDRESS)(& txt2.str)), &z4); #line 120 if_2_end: /**/; z4.elts [0] = 0; z4.elts [1] = 0x04000000; z4.elts [2] = 0; z4.elts [3] = 0; z6 = z4; z4 = _TIDStart; z8 = _Scanner__MatchID (&z6, &z4); #line 123 _id = z8; NILCHECKA (z2 = _t); (((t90_fields*)(z2+(0+t108_size)))->_name) = _id; NILCHECKA (z1 = _t); if ((((t32_fields*)(z1+(0+t90_size+t108_size)))->_interface)) { _Module__RecordInterface (_t); #line 126 goto if_4_end; }; if_4_end: /**/; z3 = ((_Scanner__cur._token) == 58 ); if (z3) { NILCHECKA (z1 = _t); if ((((t32_fields*)(z1+(0+t90_size+t108_size)))->_interface)) { _Error__Msg (((ADDRESS)(& txt3.str))); NILCHECKA (z2 = _t); (((t32_fields*)(z2+(0+t90_size+t108_size)))->_interface) = 0 ; goto if_6_end; }; if_6_end: /**/; _Scanner__GetToken (); z4 = _TIDStart; z5 = _Ident__ParseList (&z4); _n = z5; { int from, to, index; from = 0 ; z5 = _n - 1 ; to = z5; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 135 _i = (t8) index; z5 = _Ident__top - _n; z9 = z5 + _i; z5 = z9; if ((z5 < 0) || (200 < z5)) RANGEFAULT; _Module__ParseExport (_t, (_Ident__stack.elts[z5])); #line 136 } } }; }; _Ident__top -= _n; goto if_5_end; }; NILCHECKA (z1 = _t); z3 = ! (((t32_fields*)(z1+(0+t90_size+t108_size)))->_interface); #line 138 if (z3) { NILCHECKA (z10 = _t); _Module__ParseExport (_t, (((t90_fields*)(z10+(0+t108_size)))->_name)); goto if_5_end; }; if_5_end: /**/; z4 = _Empty; z6 = _TIDStart; _Scanner__Match ( 15 , &z4, &z6); loop_0:; z3 = ((_Scanner__cur._token) == 63 ); if (z3) { z4.elts [0] = 0; z4.elts [1] = 0x00000800; z4.elts [2] = 0; z4.elts [3] = 0; z6.elts[0] = z4.elts[0] | _TailStart.elts[0]; #line 149 z6.elts[1] = z4.elts[1] | _TailStart.elts[1]; z6.elts[2] = z4.elts[2] | _TailStart.elts[2]; z6.elts[3] = z4.elts[3] | _TailStart.elts[3]; #line 149 z4.elts[0] = z6.elts[0] | _ImportStart.elts[0]; z4.elts[1] = z6.elts[1] | _ImportStart.elts[1]; z4.elts[2] = z6.elts[2] | _ImportStart.elts[2]; #line 149 z4.elts[3] = z6.elts[3] | _ImportStart.elts[3]; z6.elts[0] = z4.elts[0] | _Token__DeclStart.elts[0]; z6.elts[1] = z4.elts[1] | _Token__DeclStart.elts[1]; #line 149 z6.elts[2] = z4.elts[2] | _Token__DeclStart.elts[2]; z6.elts[3] = z4.elts[3] | _Token__DeclStart.elts[3]; z4 = z6; #line 149 _Module__ParseImport (_t, &z4); goto if_7_end; }; z3 = ((_Scanner__cur._token) == 61 ); if (z3) { z4.elts [0] = 0; z4.elts [1] = 0x00000800; z4.elts [2] = 0; z4.elts [3] = 0; z6.elts[0] = z4.elts[0] | _TailStart.elts[0]; #line 152 z6.elts[1] = z4.elts[1] | _TailStart.elts[1]; z6.elts[2] = z4.elts[2] | _TailStart.elts[2]; z6.elts[3] = z4.elts[3] | _TailStart.elts[3]; #line 152 z4.elts[0] = z6.elts[0] | _ImportStart.elts[0]; z4.elts[1] = z6.elts[1] | _ImportStart.elts[1]; z4.elts[2] = z6.elts[2] | _ImportStart.elts[2]; #line 152 z4.elts[3] = z6.elts[3] | _ImportStart.elts[3]; z6.elts[0] = z4.elts[0] | _Token__DeclStart.elts[0]; z6.elts[1] = z4.elts[1] | _Token__DeclStart.elts[1]; #line 152 z6.elts[2] = z4.elts[2] | _Token__DeclStart.elts[2]; z6.elts[3] = z4.elts[3] | _Token__DeclStart.elts[3]; z4 = z6; #line 152 _Module__ParseFromImport (_t, &z4); goto if_7_end; }; goto loop_exit_0; if_7_end: /**/; goto loop_0; loop_exit_0: /**/; z11 = _Scope__PushNew ( 1 , _id, 0 ); NILCHECKA (z1 = _t); (((t32_fields*)(z1+(0+t90_size+t108_size)))->_syms) = z11; _Module__PortExternalSymbols (_t); {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && ((_Token__DeclStart.elts [j/32] & (1<<(j%32))) != 0); }; #line 166 if (z0) do { z4.elts [0] = 0; z4.elts [1] = 0x00000800; z4.elts [2] = 0; z4.elts [3] = 0; z6.elts[0] = z4.elts[0] | _TailStart.elts[0]; z6.elts[1] = z4.elts[1] | _TailStart.elts[1]; #line 168 z6.elts[2] = z4.elts[2] | _TailStart.elts[2]; z6.elts[3] = z4.elts[3] | _TailStart.elts[3]; z4.elts[0] = z6.elts[0] | _Token__DeclStart.elts[0]; #line 168 z4.elts[1] = z6.elts[1] | _Token__DeclStart.elts[1]; z4.elts[2] = z6.elts[2] | _Token__DeclStart.elts[2]; z4.elts[3] = z6.elts[3] | _Token__DeclStart.elts[3]; #line 168 z6 = z4; NILCHECKA (z2 = _t); _Decl__Parse (&z6, (((t32_fields*)(z2+(0+t90_size+t108_size)))->_interface), 1 ); #line 168 {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && ((_Token__DeclStart.elts [j/32] & (1<<(j%32))) != 0); }; #line 168 } while (z0); NILCHECKA (z1 = _t); z3 = ! (((t32_fields*)(z1+(0+t90_size+t108_size)))->_interface); if (z3) { z4.elts[0] = _TailStart.elts[0] | _Token__StmtStart.elts[0]; z4.elts[1] = _TailStart.elts[1] | _Token__StmtStart.elts[1]; #line 172 z4.elts[2] = _TailStart.elts[2] | _Token__StmtStart.elts[2]; z4.elts[3] = _TailStart.elts[3] | _Token__StmtStart.elts[3]; #line 172 z6 = z4; z4 = _Empty; _Scanner__Match ( 43 , &z6, &z4); z4.elts[0] = _TailStart.elts[0] | _Token__StmtStart.elts[0]; z4.elts[1] = _TailStart.elts[1] | _Token__StmtStart.elts[1]; #line 173 z4.elts[2] = _TailStart.elts[2] | _Token__StmtStart.elts[2]; z4.elts[3] = _TailStart.elts[3] | _Token__StmtStart.elts[3]; #line 173 z6 = z4; z12 = _Stmt__Parse (&z6); NILCHECKA (z1 = _t); (((t32_fields*)(z1+(0+t90_size+t108_size)))->_body) = z12; #line 173 goto if_8_end; }; if_8_end: /**/; z4 = _Empty; z6.elts [0] = 0x00002003; z6.elts [1] = 0; z6.elts [2] = 0; z6.elts [3] = 0; z13 = z6; _Scanner__Match ( 53 , &z4, &z13); z4.elts [0] = 0x00002001; z4.elts [1] = 0; z4.elts [2] = 0; z4.elts [3] = 0; z6 = z4; z4 = _Empty; z8 = _Scanner__MatchID (&z6, &z4); #line 178 _id = z8; NILCHECKA (z1 = _t); z3 = ((((t90_fields*)(z1+(0+t108_size)))->_name) != _id); if (z3) { _Error__Str (_id, ((ADDRESS)(& txt4.str))); goto if_9_end; }; if_9_end: /**/; z4.elts [0] = 0x00000001; z4.elts [1] = 0; z4.elts [2] = 0; z4.elts [3] = 0; z6 = z4; z4 = _Empty; _Scanner__Match ( 13 , &z6, &z4); z3 = ((_Scanner__cur._token) != 0 ); if (z3) { z4.elts [0] = 0x00000001; z4.elts [1] = 0; z4.elts [2] = 0; z4.elts [3] = 0; z6 = z4; _Scanner__Fail (((ADDRESS)(& txt5.str)), &z6); #line 186 goto if_10_end; }; if_10_end: /**/; _Revelation__Pop (); _Scope__PopNew (); _Module__curModule = _save; _Module__depth -= 1 ; __result = _t; return __result; } } }; #line 196 "Module.m3" PRIVATE t110 _Module__ParseExport (_t, _name) t5 _t; t1 _name; { t5 z2; t10 z3; t5 z1; t5 z4; t9 z5; #line 196 "Module.m3" { auto t5 _ex; auto t9 _x; { CHECKSTACKOVERFLOW; z2 = _Module__LookUp (_name); _ex = z2; z3 = (_ex == 0); if (z3) { return; }; NILCHECKA (z1 = _t); _x = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_exports); loop_1:; z3 = (_x == 0); if (z3) { NILCHECKA (z4 = _t); z5 = _Module__Push (_ex, (((t32_fields*)(z4+(0+t90_size+t108_size)))->_exports)); NILCHECKA (z1 = _t); #line 207 (((t32_fields*)(z1+(0+t90_size+t108_size)))->_exports) = z5; goto loop_exit_1; }; NILCHECKA (z5 = _x); z3 = (((*((t29*) z5))._module) == _ex); if (z3) { return; }; NILCHECKA (z5 = _x); _x = ((*((t29*) z5))._next); goto loop_1; loop_exit_1: /**/; } } }; #line 218 "Module.m3" PRIVATE t110 _Module__ParseImport (_t, _fail) t5 _t; t24 * _fail; { t24 z3; t8 z4; t24 z5; t24 z2; t24 z1; t8 z6; t5 z7; t10 z8; t9 z9; #line 218 "Module.m3" { auto t1 _id; auto t5 _im; auto t8 _j; auto t8 _n; { CHECKSTACKOVERFLOW; z3.elts [0] = 0x00008002; z3.elts [1] = 0; z3.elts [2] = 0; z3.elts [3] = 0; z5 = z3; _Scanner__Match ( 63 , &(*_fail), &z5); z2.elts [0] = 0x00008000; z2.elts [1] = 0; z2.elts [2] = 0; z2.elts [3] = 0; z3.elts[0] = (*_fail).elts[0] | z2.elts[0]; #line 222 z3.elts[1] = (*_fail).elts[1] | z2.elts[1]; z3.elts[2] = (*_fail).elts[2] | z2.elts[2]; z3.elts[3] = (*_fail).elts[3] | z2.elts[3]; #line 222 z1 = z3; z4 = _Ident__ParseList (&z1); _n = z4; z3.elts [0] = 0; z3.elts [1] = 0; z3.elts [2] = 0; z3.elts [3] = 0; z5 = z3; _Scanner__Match ( 15 , &(*_fail), &z5); z4 = _Ident__top - _n; _j = z4; { int from, to, index; from = 0 ; z4 = _n - 1 ; to = z4; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 226 _i = (t8) index; z4 = _j + _i; z6 = z4; if ((z6 < 0) || (200 < z6)) RANGEFAULT; _id = (_Ident__stack.elts[z6]); z7 = _Module__LookUp (_id); _im = z7; z8 = (_im != 0); if (z8) { z8 = _Module__ImportObj (_t, _im); if (z8) { NILCHECKA (z7 = _t); z9 = _Module__Push (_im, (((t32_fields*)(z7+(0+t90_size+t108_size)))->_imports)); #line 230 NILCHECKA (z7 = _t); (((t32_fields*)(z7+(0+t90_size+t108_size)))->_imports) = z9; goto if_15_end; #line 230 }; if_15_end: /**/; goto if_14_end; }; if_14_end: /**/; } } }; }; _Ident__top -= _n; } } }; #line 236 "Module.m3" PRIVATE t110 _Module__ParseFromImport (_t, _fail) t5 _t; t24 * _fail; { t24 z4; t24 z3; t1 z2; t8 z5; t24 z1; t5 z6; t10 z7; t9 z8; t8 z9; t11 z10; #line 236 "Module.m3" { PRIVATE t24 _Markers = {{ 0x00008002, 0x80000000 }}; auto t1 _id; auto t5 _im; auto t11 _o; auto t8 _j; auto t8 _n; { CHECKSTACKOVERFLOW; z4 = _Markers; _Scanner__Match ( 61 , &(*_fail), &z4); z3 = _Markers; z2 = _Scanner__MatchID (&(*_fail), &z3); _id = z2; z4 = _Markers; _Scanner__Match ( 63 , &(*_fail), &z4); z3.elts [0] = 0x00008000; z3.elts [1] = 0; z3.elts [2] = 0; z3.elts [3] = 0; z4.elts[0] = (*_fail).elts[0] | z3.elts[0]; #line 243 z4.elts[1] = (*_fail).elts[1] | z3.elts[1]; z4.elts[2] = (*_fail).elts[2] | z3.elts[2]; z4.elts[3] = (*_fail).elts[3] | z3.elts[3]; #line 243 z1 = z4; z5 = _Ident__ParseList (&z1); _n = z5; z3.elts [0] = 0; z3.elts [1] = 0; z3.elts [2] = 0; z3.elts [3] = 0; z4 = z3; _Scanner__Match ( 15 , &(*_fail), &z4); z6 = _Module__LookUp (_id); _im = z6; z7 = (_im == 0); if (z7) { _Ident__top -= _n; return; }; NILCHECKA (z6 = _t); z8 = _Module__Push (_im, (((t32_fields*)(z6+(0+t90_size+t108_size)))->_imports)); NILCHECKA (z6 = _t); #line 248 (((t32_fields*)(z6+(0+t90_size+t108_size)))->_imports) = z8; z5 = _Ident__top - _n; _j = z5; { int from, to, index; from = 0 ; z5 = _n - 1 ; to = z5; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 251 _i = (t8) index; z5 = _j + _i; z9 = z5; if ((z9 < 0) || (200 < z9)) RANGEFAULT; _id = (_Ident__stack.elts[z9]); NILCHECKA (z6 = _im); z10 = _Scope__LookUpInScope ((((t32_fields*)(z6+(0+t90_size+t108_size)))->_syms), _id); #line 253 _o = z10; z7 = (_o == 0); if (z7) { _Error__Str (_id, ((ADDRESS)(& txt6.str))); goto if_17_end; }; z7 = _Module__ImportObj (_t, _o); if_17_end: /**/; #line 256 } } }; }; _Ident__top -= _n; } } }; #line 263 "Module.m3" PRIVATE t9 _Module__Push (_t, _l) t5 _t; t9 _l; { t10 z2; t9 z0; t9 z3; #line 263 "Module.m3" { auto t9 _x; auto t9 __result; { CHECKSTACKOVERFLOW; z2 = (_t != 0); if (z2) { { register t29* ptr = (t29*) UNEW (TC9); z0 = (t9) ptr; }; _x = z0; NILCHECKA (z3 = _x); ((*((t29*) z3))._next) = _l; NILCHECKA (z3 = _x); ((*((t29*) z3))._module) = _t; __result = _x; return __result; }; __result = _l; return __result; } } }; #line 276 "Module.m3" PRIVATE t10 _Module__ImportObj (_t, _o) t5 _t; t11 _o; { t10 z2; t11 z1; t11 z3; t18 z0; t5 z4; t18 z5; #line 276 "Module.m3" { auto t18 _x; auto t10 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; z2 = (_t != 0); if (z2) { NILCHECKA (z1 = _o); z2 = ! (((t90_fields*)(z1+(0+t108_size)))->_imported); if (z2) { NILCHECKA (z3 = _o); _Error__Str ((((t90_fields*)(z3+(0+t108_size)))->_name), ((ADDRESS)(& txt7.str))); __result = 0 ; return __result; }; { register t28* ptr = (t28*) UNEW (TC18); z0 = (t18) ptr; }; _x = z0; NILCHECKA (z4 = _t); NILCHECKA (z5 = _x); ((*((t28*) z5))._next) = (((t32_fields*)(z4+(0+t90_size+t108_size)))->_importObjs); NILCHECKA (z5 = _x); ((*((t28*) z5))._obj) = _o; NILCHECKA (z4 = _t); (((t32_fields*)(z4+(0+t90_size+t108_size)))->_importObjs) = _x; goto if_19_end; }; if_19_end: /**/; __result = 1 ; return __result; } } }; #line 293 "Module.m3" PRIVATE t110 _Module__PortExternalSymbols (_t) t5 _t; { t5 z1; t10 z2; t9 z3; t5 z4; t8 z5; t7 z6; t8 z7; t11 z8; t13 z9; t18 z10; #line 293 "Module.m3" { auto t9 _x; auto t5 _m; auto t8 _n; auto t7 _objs; auto t18 _y; auto t11 _v; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); _x = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_exports); z2 = (_x != 0); if (z2) do { NILCHECKA (z3 = _x); _m = ((*((t29*) z3))._module); NILCHECKA (z4 = _m); _Scope__ToList ((((t32_fields*)(z4+(0+t90_size+t108_size)))->_syms), &_objs, &_n); { int from, to, index; from = 0 ; z5 = _n - 1 ; to = z5; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 307 _i = (t8) index; NILCHECKB (z6 = _objs); { register t98* array = & (*((t92*) z6)); z7 = _i; if (z7 >= (array->size[0])) RANGEFAULT; #line 308 z5 = (int)(array->elts + (z7 * 4)); }; _v = (*(t11*)z5); NILCHECKA (z8 = _v); if (!(((t90_fields*)(z8+(0+t108_size)))->_imported)) ASSERTFAULT; z9 = _Value__ClassOf (_v); z2 = (z9 != 5 ); if (z2) { _Scope__Insert (_v); goto if_21_end; }; if_21_end: /**/; } } }; }; NILCHECKA (z4 = _m); _Revelation__Inherit ((((t32_fields*)(z4+(0+t90_size+t108_size)))->_revelations)); NILCHECKA (z3 = _x); _x = ((*((t29*) z3))._next); z2 = (_x != 0); } while (z2); NILCHECKA (z1 = _t); _x = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_imports); z2 = (_x != 0); if (z2) do { NILCHECKA (z3 = _x); _m = ((*((t29*) z3))._module); NILCHECKA (z4 = _m); _Revelation__Inherit ((((t32_fields*)(z4+(0+t90_size+t108_size)))->_revelations)); NILCHECKA (z3 = _x); _x = ((*((t29*) z3))._next); z2 = (_x != 0); } while (z2); NILCHECKA (z1 = _t); _y = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_importObjs); z2 = (_y != 0); if (z2) do { NILCHECKA (z10 = _y); _v = ((*((t28*) z10))._obj); NILCHECKA (z8 = _v); if (!(((t90_fields*)(z8+(0+t108_size)))->_imported)) ASSERTFAULT; _Scope__Insert (_v); NILCHECKA (z10 = _y); _y = ((*((t28*) z10))._next); z2 = (_y != 0); } while (z2); } } }; #line 339 "Module.m3" PRIVATE t5 _Module__LookUp (_name) t1 _name; { t10 z4; t19 z1; t21 z3; t5 z2; t10 z0; t10 z5; #line 339 "Module.m3" { auto t19 _r; auto t8 _key; auto t21 _rd; auto t5 _t; auto t20 _ref; auto t1 _filename; auto t5 __result; { ZERO1 (& _r); ZERO1 (& _rd); ZERO1 (& _ref); #line 339 CHECKSTACKOVERFLOW; _key = (*((t8*)(& _name))); z4 = _IntTable__Get (_Module__defns, _key, &_ref); if (z4) { z1 = NARROW (_ref, t19, TC19, z1); _r = z1; NILCHECKB (z1 = _r); _t = (*((t5*) z1)); goto if_22_end; }; z3 = _Host__OpenInterface (_name, &_filename); _rd = z3; _Scanner__Push (_filename, _rd); z2 = _Module__Parse ( 1 ); _t = z2; _Scanner__Pop (); _Host__CloseFile (_rd); z4 = (_t == 0); if (z4) { _Error__Str (_name, ((ADDRESS)(& txt8.str))); __result = 0; return __result; }; NILCHECKA (z2 = _t); z4 = ((((t90_fields*)(z2+(0+t108_size)))->_name) != _name); if (z4) { _Error__Str (_name, ((ADDRESS)(& txt9.str))); __result = 0; return __result; }; NILCHECKA (z2 = _t); z4 = ! (((t32_fields*)(z2+(0+t90_size+t108_size)))->_interface); if (z4) { _Error__Str (_name, ((ADDRESS)(& txt10.str))); __result = 0; return __result; }; _Module__RecordInterface (_t); _Module__Bind (_t); if_22_end: /**/; z4 = (_Module__curModule != 0); z0 = 0; if (z4) { NILCHECKA (z2 = _Module__curModule); z0 = (((t32_fields*)(z2+(0+t90_size+t108_size)))->_safe); #line 370 }; z4 = 0; if (z0) { NILCHECKA (z2 = _t); z5 = ! (((t32_fields*)(z2+(0+t90_size+t108_size)))->_safe); z4 = z5; }; if (z4) { _Error__Str (_name, ((ADDRESS)(& txt11.str))); goto if_26_end; }; if_26_end: /**/; __result = _t; return __result; } } }; #line 376 "Module.m3" PRIVATE t110 _Module__RecordInterface (_t) t5 _t; { t10 z2; t10 z0; t5 z3; t10 z4; t19 z1; t19 z5; t10 z6; #line 376 "Module.m3" { auto t19 _r; { ZERO1 (& _r); #line 376 CHECKSTACKOVERFLOW; z2 = (_t == 0); z0 = 1; if (! z2) { NILCHECKA (z3 = _t); z4 = ((((t90_fields*)(z3+(0+t108_size)))->_name) == 0); z0 = z4; #line 379 }; if (z0) { return; }; z1 = (t19) TNEW (TC19); _r = z1; NILCHECKB (z5 = _r); (*((t5*) z5)) = _t; NILCHECKA (z3 = _t); z6 = _IntTable__Put (_Module__defns, (*((t8*)(& (((t90_fields*)(z3+(0+t108_size)))->_name)))), _r); #line 382 } } }; #line 385 "Module.m3" EXPORT t110 _Module__Bind (_t) t5 _t; { t5 z1; t5 z2; t10 z3; t9 z4; t18 z5; #line 385 "Module.m3" { auto t9 _l; auto t18 _o; auto t8 _saveDepth; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); if ((((t90_fields*)(z1+(0+t108_size)))->_bound)) { return; }; NILCHECKA (z2 = _t); (((t90_fields*)(z2+(0+t108_size)))->_bound) = 1 ; NILCHECKA (z1 = _t); _l = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_exports); z3 = (_l != 0); if (z3) do { NILCHECKA (z4 = _l); _Value__Bind (((*((t29*) z4))._module)); NILCHECKA (z4 = _l); _l = ((*((t29*) z4))._next); #line 392 z3 = (_l != 0); } while (z3); NILCHECKA (z1 = _t); _l = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_imports); z3 = (_l != 0); if (z3) do { NILCHECKA (z4 = _l); _Value__Bind (((*((t29*) z4))._module)); NILCHECKA (z4 = _l); _l = ((*((t29*) z4))._next); #line 394 z3 = (_l != 0); } while (z3); _saveDepth = _Module__depth; NILCHECKA (z1 = _t); _Module__depth = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_depth); NILCHECKA (z1 = _t); _o = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_importObjs); z3 = (_o != 0); if (z3) do { NILCHECKA (z5 = _o); _Value__Bind (((*((t28*) z5))._obj)); NILCHECKA (z5 = _o); _o = ((*((t28*) z5))._next); #line 399 z3 = (_o != 0); } while (z3); NILCHECKA (z2 = _t); _Revelation__Push ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_revelations)); NILCHECKA (z2 = _t); _Scope__Push ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms)); NILCHECKA (z2 = _t); _Scope__Seal ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms)); NILCHECKA (z2 = _t); _Revelation__Bind ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_revelations)); NILCHECKA (z2 = _t); _Scope__Bind ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms), 1 ); NILCHECKA (z1 = _t); z3 = ! (((t32_fields*)(z1+(0+t90_size+t108_size)))->_interface); if (z3) { NILCHECKA (z2 = _t); _Stmt__Bind ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_body)); if (_Delay__pending) { _Delay__FinishUp (); goto if_30_end; }; if_30_end: /**/; goto if_29_end; }; if_29_end: /**/; _Scope__Pop (); _Revelation__Pop (); _Module__depth = _saveDepth; } } }; #line 416 "Module.m3" PRIVATE t110 _Module__TypeCheckMethod (_t) t5 _t; { #line 416 "Module.m3" { { CHECKSTACKOVERFLOW; _Module__TypeCheck (_t, 0 ); } } }; #line 421 "Module.m3" EXPORT t110 _Module__TypeCheck (_t, _main) t5 _t; t10 _main; { t5 z1; t10 z2; t9 z3; t18 z4; t5 z5; #line 421 "Module.m3" { auto t5 _save; auto t9 _a; auto t9 _b; auto t9 _l; auto t18 _o; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); _l = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_exports); z2 = (_l != 0); if (z2) do { NILCHECKA (z3 = _l); _Value__TypeCheck (((*((t29*) z3))._module)); NILCHECKA (z3 = _l); #line 426 _l = ((*((t29*) z3))._next); z2 = (_l != 0); } while (z2); NILCHECKA (z1 = _t); _l = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_imports); z2 = (_l != 0); if (z2) do { NILCHECKA (z3 = _l); _Value__TypeCheck (((*((t29*) z3))._module)); NILCHECKA (z3 = _l); #line 428 _l = ((*((t29*) z3))._next); z2 = (_l != 0); } while (z2); NILCHECKA (z1 = _t); _o = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_importObjs); z2 = (_o != 0); if (z2) do { NILCHECKA (z4 = _o); _Value__TypeCheck (((*((t28*) z4))._obj)); NILCHECKA (z4 = _o); _o = ((*((t28*) z4))._next); #line 430 z2 = (_o != 0); } while (z2); _save = _Module__curModule; _Module__curModule = _t; NILCHECKA (z5 = _t); _Revelation__Push ((((t32_fields*)(z5+(0+t90_size+t108_size)))->_revelations)); NILCHECKA (z5 = _t); _Scope__Push ((((t32_fields*)(z5+(0+t90_size+t108_size)))->_syms)); #line 453 NILCHECKA (z5 = _t); _Revelation__TypeCheck ((((t32_fields*)(z5+(0+t90_size+t108_size)))->_revelations)); NILCHECKA (z5 = _t); _Scope__TypeCheck ((((t32_fields*)(z5+(0+t90_size+t108_size)))->_syms), 1 ); NILCHECKA (z1 = _t); z2 = ! (((t32_fields*)(z1+(0+t90_size+t108_size)))->_interface); if (z2) { NILCHECKA (z5 = _t); _Stmt__TypeCheck ((((t32_fields*)(z5+(0+t90_size+t108_size)))->_body)); if (_Delay__pending) { _Delay__FinishUp (); goto if_32_end; }; if_32_end: /**/; goto if_31_end; }; if_31_end: /**/; if (_main) { NILCHECKA (z5 = _t); _Scope__WarnUnused ((((t32_fields*)(z5+(0+t90_size+t108_size)))->_syms)); goto if_33_end; #line 460 }; if_33_end: /**/; _Scope__Pop (); _Revelation__Pop (); _Module__curModule = _save; } } }; #line 466 "Module.m3" EXPORT t10 _Module__IsSafe () { t10 z2; t10 z0; t5 z3; #line 466 "Module.m3" { auto t10 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; z2 = (_Module__curModule == 0); z0 = 1; if (! z2) { NILCHECKA (z3 = _Module__curModule); z0 = (((t32_fields*)(z3+(0+t90_size+t108_size)))->_safe); #line 468 }; __result = z0; return __result; } } }; #line 471 "Module.m3" EXPORT t10 _Module__IsInterface () { t10 z2; t10 z0; t5 z3; #line 471 "Module.m3" { auto t10 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; z2 = (_Module__curModule == 0); z0 = 1; if (! z2) { NILCHECKA (z3 = _Module__curModule); z0 = (((t32_fields*)(z3+(0+t90_size+t108_size)))->_interface); #line 473 }; __result = z0; return __result; } } }; #line 476 "Module.m3" EXPORT t15 _Module__ExportScope (_t) t5 _t; { t10 z2; t5 z1; #line 476 "Module.m3" { auto t15 __result; { CHECKSTACKOVERFLOW; z2 = (_t == 0); if (z2) { __result = 0; return __result; }; NILCHECKA (z1 = _t); __result = (((t32_fields*)(z1+(0+t90_size+t108_size)))->_syms); return __result; } } }; #line 484 "Module.m3" PRIVATE t110 _Module__ObjCompile (_t) t5 _t; { #line 484 "Module.m3" { { CHECKSTACKOVERFLOW; } } }; #line 488 "Module.m3" PRIVATE t13 _Module__MyClass (_t) t5 _t; { #line 488 "Module.m3" { auto t13 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; __result = 5 ; return __result; } } }; #line 493 "Module.m3" EXPORT t110 _Module__Compile (_t) t5 _t; { t5 z1; t5 z2; #line 493 "Module.m3" { auto t5 _save; { CHECKSTACKOVERFLOW; _save = _Module__curModule; _Module__curModule = _t; NILCHECKA (z1 = _t); _Scanner__offset = (((t90_fields*)(z1+(0+t108_size)))->_origin); NILCHECKA (z2 = _t); _Revelation__Push ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_revelations)); NILCHECKA (z2 = _t); _Scope__Push ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms)); _Type__GenDeclarations (); NILCHECKA (z1 = _t); if ((((t32_fields*)(z1+(0+t90_size+t108_size)))->_interface)) { _Module__CompileInterface (_t); goto if_35_end; }; _Module__CompileModule (_t); if_35_end: /**/; _Scope__Pop (); _Revelation__Pop (); _Module__curModule = _save; } } }; #line 511 "Module.m3" PRIVATE t110 _Module__CompileInterface (_t) t5 _t; { t5 z2; t8 z3; t7 z1; t8 z4; t13 z5; t11 z6; t10 z7; t73 z8; t10 z0; t5 z9; t54 z10; #line 511 "Module.m3" { auto t8 _n; auto t7 _objs; auto t11 _v; { CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); _Scope__ToList ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms), &_objs, &_n); { int from, to, index; from = 0 ; z3 = _n - 1 ; to = z3; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 516 _i = (t8) index; NILCHECKB (z1 = _objs); { register t98* array = & (*((t92*) z1)); z4 = _i; if (z4 >= (array->size[0])) RANGEFAULT; #line 517 z3 = (int)(array->elts + (z4 * 4)); }; _v = (*(t11*)z3); z5 = _Value__ClassOf (_v); switch (z5) { case 5: case 9: break; case 0: case 1: case 2: case 3: NILCHECKA (z6 = _v); z7 = ! (((t90_fields*)(z6+(0+t108_size)))->_imported); if (z7) { NILCHECKA (z6 = _v); (((t90_fields*)(z6+(0+t108_size)))->_exported) = 1 ; #line 526 goto if_36_end; }; if_36_end: /**/; break; case 4: NILCHECKA (z6 = _v); z7 = ! (((t90_fields*)(z6+(0+t108_size)))->_imported); if (z7) { NILCHECKA (z6 = _v); (((t90_fields*)(z6+(0+t108_size)))->_used) = 1 ; z8 = NARROW (_v, t73, TC73, z8); z7 = _Procedure__HasBody (z8); z0 = 1; if (! z7) { NILCHECKA (z6 = _v); #line 530 z0 = (((t90_fields*)(z6+(0+t108_size)))->_external); }; NILCHECKA (z6 = _v); (((t90_fields*)(z6+(0+t108_size)))->_exported) = z0; NILCHECKA (z6 = _v); z7 = ! (((t90_fields*)(z6+(0+t108_size)))->_exported); NILCHECKA (z6 = _v); (((t90_fields*)(z6+(0+t108_size)))->_imported) = z7; #line 531 goto if_37_end; }; if_37_end: /**/; break; case 6: case 7: case 8: if (! 0 ) ASSERTFAULT; default: /**/; }; } } }; }; NILCHECKA (z2 = _t); _Module__GenInitLinks ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_imports)); _Module__GenInitLink (_t, 1 ); NILCHECKA (z2 = _t); _Module__GenInterfaces ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_imports)); _Module__GenInterfaceRecord (_t); NILCHECKA (z2 = _t); _Variable__GenGlobalMap ((((t90_fields*)(z2+(0+t108_size)))->_name), 1 , (((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms)); NILCHECKA (z2 = _t); _Revelation__Declare ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_revelations)); _Emit__Op (((ADDRESS)(& txt12.str))); _Emit__Push (); _Temp__PushSet (); NILCHECKA (z9 = _t); _Emit__OpS (((ADDRESS)(& txt13.str)), (((t90_fields*)(z9+(0+t108_size)))->_name)); _Emit__Op (((ADDRESS)(& txt14.str))); z10 = _Emit__Switch ( 1 ); _Emit__Op (((ADDRESS)(& txt15.str))); NILCHECKA (z2 = _t); _Module__GenInitCalls ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_imports)); NILCHECKA (z2 = _t); _Scope__Generate ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms)); z10 = _Emit__Switch ( 1 ); _Emit__Op (((ADDRESS)(& txt16.str))); _Temp__PopSet (); _Emit__Pop (); _Scanner__offset = 0 ; _Type__GenInitProcs (); _Type__GenMapProcs (); NILCHECKA (z9 = _t); _Emit__OpS (((ADDRESS)(& txt17.str)), (((t90_fields*)(z9+(0+t108_size)))->_name)); _Module__ImportVersionStamps (_t); _Emit__Push (); _Temp__PushSet (); NILCHECKA (z9 = _t); _Emit__OpS (((ADDRESS)(& txt18.str)), (((t90_fields*)(z9+(0+t108_size)))->_name)); _Emit__Op (((ADDRESS)(& txt14.str))); _Emit__Op (((ADDRESS)(& txt19.str))); _Emit__Op (((ADDRESS)(& txt20.str))); NILCHECKA (z9 = _t); _Emit__OpS (((ADDRESS)(& txt21.str)), (((t90_fields*)(z9+(0+t108_size)))->_name)); NILCHECKA (z9 = _t); _Emit__OpS (((ADDRESS)(& txt22.str)), (((t90_fields*)(z9+(0+t108_size)))->_name)); _Module__GenExports (_t); _Type__GenRegistrations (); _Emit__Op (((ADDRESS)(& txt23.str))); _Emit__Op (((ADDRESS)(& txt24.str))); _Type__FinishRegistrations (); _Revelation__GenIdentifications (); _Module__InitExports (_t); _Emit__Op (((ADDRESS)(& txt23.str))); _Emit__Op (((ADDRESS)(& txt25.str))); _Revelation__GenSubtypeChecks (); _Emit__Op (((ADDRESS)(& txt26.str))); _Emit__Op (((ADDRESS)(& txt27.str))); _Temp__PopSet (); _Emit__Pop (); } } }; #line 617 "Module.m3" PRIVATE t110 _Module__CompileModule (_t) t5 _t; { t5 z2; t8 z3; t7 z1; t8 z4; t13 z5; t11 z6; t73 z7; t10 z8; t5 z9; t54 z10; t12 z11; t10 z0; t9 z12; t10 z13; #line 617 "Module.m3" { auto t8 _i; auto t8 _n; auto t9 _x; auto t7 _objs; auto t11 _v; auto t12 _oc; { CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); _Scope__ToList ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms), &_objs, &_n); { int from, to, index; from = 0 ; z3 = _n - 1 ; to = z3; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 627 _i = (t8) index; NILCHECKB (z1 = _objs); { register t98* array = & (*((t92*) z1)); z4 = _i; if (z4 >= (array->size[0])) RANGEFAULT; #line 628 z3 = (int)(array->elts + (z4 * 4)); }; _v = (*(t11*)z3); z5 = _Value__ClassOf (_v); switch (z5) { case 0: case 1: case 2: case 3: case 5: case 9: break; case 4: #line 629 NILCHECKA (z6 = _v); if ((((t90_fields*)(z6+(0+t108_size)))->_imported)) { z7 = NARROW (_v, t73, TC73, z7); z8 = _Procedure__HasBody (z7); NILCHECKA (z6 = _v); (((t90_fields*)(z6+(0+t108_size)))->_exported) = z8; NILCHECKA (z6 = _v); z8 = ! (((t90_fields*)(z6+(0+t108_size)))->_exported); NILCHECKA (z6 = _v); (((t90_fields*)(z6+(0+t108_size)))->_imported) = z8; #line 640 goto if_38_end; }; if_38_end: /**/; break; case 6: case 7: case 8: if (! 0 ) ASSERTFAULT; default: /**/; }; } } }; }; NILCHECKA (z2 = _t); _Module__GenInitLinks ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_imports)); NILCHECKA (z2 = _t); _Module__GenInitLinks ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_exports)); NILCHECKA (z2 = _t); _Module__GenInterfaces ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_imports)); _Module__GenInterfaceRecord (_t); NILCHECKA (z2 = _t); _Revelation__Declare ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_revelations)); _Scope__GenFrameTypes (); _Procedure__GenHeaders (); NILCHECKA (z2 = _t); _Variable__GenGlobalMap ((((t90_fields*)(z2+(0+t108_size)))->_name), 0 , (((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms)); _Coverage__GenerateTables (); _Procedure__GenBodies (); NILCHECKA (z2 = _t); _Scope__Push ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms)); z8 = (_Host__toCompile == 0); if (z8) { _Emit__Op (((ADDRESS)(& txt12.str))); NILCHECKA (z2 = _t); _Stmt__Precompile ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_body)); _Emit__Push (); _Temp__PushSet (); NILCHECKA (z9 = _t); _Emit__OpS (((ADDRESS)(& txt13.str)), (((t90_fields*)(z9+(0+t108_size)))->_name)); _Emit__Op (((ADDRESS)(& txt28.str))); z10 = _Emit__Switch ( 1 ); _i = z10; _Emit__Op (((ADDRESS)(& txt15.str))); NILCHECKA (z2 = _t); _Module__GenInitCalls ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_exports)); NILCHECKA (z2 = _t); _Module__GenInitCalls ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_imports)); NILCHECKA (z2 = _t); _Scope__Generate ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms)); NILCHECKA (z2 = _t); _Stmt__Compile ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_body), &z11); _oc.elts[0] = z11.elts[0]; z0 = ((_oc.elts [0] & (1<<0)) != 0); if (z0) { _Emit__Op (((ADDRESS)(& txt29.str))); goto if_40_end; }; if_40_end: /**/; z10 = _Emit__Switch ( 1 ); _i = z10; _Emit__Op (((ADDRESS)(& txt30.str))); _Temp__PopSet (); _Emit__Pop (); goto if_39_end; }; if_39_end: /**/; _Type__GenInitProcs (); _Type__GenMapProcs (); z8 = (_Host__toCompile == 0); if (z8) { _i = 0 ; NILCHECKA (z2 = _t); _x = (((t32_fields*)(z2+(0+t90_size+t108_size)))->_exports); z8 = (_x != 0); if (z8) do { NILCHECKA (z9 = _t); _Emit__OpIS (((ADDRESS)(& txt31.str)), _i, (((t90_fields*)(z9+(0+t108_size)))->_name)); NILCHECKA (z12 = _x); _x = ((*((t29*) z12))._next); _i += 1 ; z8 = (_x != 0); } while (z8); goto if_41_end; }; if_41_end: /**/; _Scanner__offset = 0 ; _Module__ImportVersionStamps (_t); z8 = (_Host__toCompile == 0); if (z8) { _Emit__Push (); _Temp__PushSet (); z8 = (_Host__incrementalVersion == 0 ); if (z8) { NILCHECKA (z9 = _t); _Emit__OpS (((ADDRESS)(& txt32.str)), (((t90_fields*)(z9+(0+t108_size)))->_name)); goto if_43_end; #line 729 }; z8 = (_Host__incrementalVersion > 0 ); if (z8) { NILCHECKA (z9 = _t); _Emit__OpS (((ADDRESS)(& txt33.str)), (((t90_fields*)(z9+(0+t108_size)))->_name)); _Emit__Op (((ADDRESS)(& txt34.str))); goto if_43_end; }; _Emit__Op (((ADDRESS)(& txt35.str))); if_43_end: /**/; NILCHECKA (z9 = _t); _Emit__OpS (((ADDRESS)(& txt36.str)), (((t90_fields*)(z9+(0+t108_size)))->_name)); _Emit__Op (((ADDRESS)(& txt14.str))); z8 = (_Host__incrementalVersion == 0 ); if (z8) { NILCHECKA (z9 = _t); _Emit__OpSS (((ADDRESS)(& txt37.str)), (((t90_fields*)(z9+(0+t108_size)))->_name), (((t90_fields*)(z9+(0+t108_size)))->_name)); #line 740 goto if_44_end; }; if_44_end: /**/; _Emit__Op (((ADDRESS)(& txt19.str))); _Emit__Op (((ADDRESS)(& txt20.str))); _i = 0 ; NILCHECKA (z2 = _t); _x = (((t32_fields*)(z2+(0+t90_size+t108_size)))->_exports); z8 = (_x != 0); if (z8) do { NILCHECKA (z12 = _x); NILCHECKA (z9 = ((*((t29*) z12))._module)); _Emit__OpIS (((ADDRESS)(& txt38.str)), _i, (((t90_fields*)(z9+(0+t108_size)))->_name)); NILCHECKA (z12 = _x); NILCHECKA (z9 = ((*((t29*) z12))._module)); _Emit__OpSI (((ADDRESS)(& txt39.str)), (((t90_fields*)(z9+(0+t108_size)))->_name), _i); NILCHECKA (z12 = _x); _x = ((*((t29*) z12))._next); _i += 1 ; z8 = (_x != 0); } while (z8); NILCHECKA (z2 = _t); _x = (((t32_fields*)(z2+(0+t90_size+t108_size)))->_exports); z8 = (_x != 0); if (z8) do { NILCHECKA (z12 = _x); _Module__GenExports (((*((t29*) z12))._module)); NILCHECKA (z12 = _x); #line 756 _x = ((*((t29*) z12))._next); z8 = (_x != 0); } while (z8); _Type__GenRegistrations (); _Emit__Op (((ADDRESS)(& txt23.str))); _Emit__Op (((ADDRESS)(& txt24.str))); _Type__FinishRegistrations (); _Revelation__GenIdentifications (); NILCHECKA (z2 = _t); _x = (((t32_fields*)(z2+(0+t90_size+t108_size)))->_exports); z8 = (_x != 0); if (z8) do { NILCHECKA (z12 = _x); _Module__InitExports (((*((t29*) z12))._module)); NILCHECKA (z12 = _x); #line 767 _x = ((*((t29*) z12))._next); z8 = (_x != 0); } while (z8); _Emit__Op (((ADDRESS)(& txt23.str))); _Emit__Op (((ADDRESS)(& txt25.str))); _Revelation__GenSubtypeChecks (); _Emit__Op (((ADDRESS)(& txt26.str))); _Emit__Op (((ADDRESS)(& txt27.str))); _Temp__PopSet (); _Emit__Pop (); goto if_42_end; }; if_42_end: /**/; z8 = (_Host__incrementalVersion > 0 ); if (z8) { _Emit__Push (); _Temp__PushSet (); NILCHECKA (z9 = _t); _Emit__OpSI (((ADDRESS)(& txt40.str)), (((t90_fields*)(z9+(0+t108_size)))->_name), _Host__incrementalVersion); _Emit__Op (((ADDRESS)(& txt14.str))); { int from, to, index; from = 0 ; z3 = _n - 1 ; to = z3; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 784 _i = (t8) index; NILCHECKB (z1 = _objs); { register t98* array = & (*((t92*) z1)); z4 = _i; if (z4 >= (array->size[0])) RANGEFAULT; #line 785 z3 = (int)(array->elts + (z4 * 4)); }; _v = (*(t11*)z3); z5 = _Value__ClassOf (_v); switch (z5) { case 4: NILCHECKA (z6 = _v); z8 = 0; if ((((t90_fields*)(z6+(0+t108_size)))->_exported)) { z13 = (_Host__toCompile == 0); z0 = 1; #line 788 if (! z13) { NILCHECKA (z6 = _v); z13 = (_Host__toCompile == (((t90_fields*)(z6+(0+t108_size)))->_name)); #line 788 z0 = z13; }; z8 = z0; }; if (z8) { _Emit__OpN (((ADDRESS)(& txt41.str)), _v); _Emit__OpN (((ADDRESS)(& txt42.str)), _v); goto if_46_end; }; if_46_end: /**/; break; default: /**/; #line 791 }; } } }; }; z8 = (_Host__toCompile == 0); if (z8) { NILCHECKA (z9 = _t); _Emit__OpSS (((ADDRESS)(& txt43.str)), (((t90_fields*)(z9+(0+t108_size)))->_name), (((t90_fields*)(z9+(0+t108_size)))->_name)); #line 797 goto if_47_end; }; if_47_end: /**/; _Emit__Op (((ADDRESS)(& txt27.str))); _Temp__PopSet (); _Emit__Pop (); goto if_45_end; }; if_45_end: /**/; } } }; #line 806 "Module.m3" PRIVATE t110 _Module__GenExports (_interface) t5 _interface; { t5 z1; t5 z2; t8 z3; t7 z4; t8 z5; t13 z6; t10 z7; #line 806 "Module.m3" { auto t1 _name; auto t7 _objs; auto t8 _n; auto t11 _o1; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _interface); _name = (((t90_fields*)(z1+(0+t108_size)))->_name); NILCHECKA (z2 = _interface); _Scope__ToList ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms), &_objs, &_n); { int from, to, index; from = 0 ; z3 = _n - 1 ; to = z3; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 815 _i = (t8) index; NILCHECKB (z4 = _objs); { register t98* array = & (*((t92*) z4)); z5 = _i; if (z5 >= (array->size[0])) RANGEFAULT; #line 816 z3 = (int)(array->elts + (z5 * 4)); }; _o1 = (*(t11*)z3); z6 = _Value__ClassOf (_o1); z7 = (z6 == 2 ); if (z7) { _Tipe__InitializeExport (_o1, _name); goto if_48_end; }; if_48_end: /**/; } } }; }; } } }; #line 823 "Module.m3" PRIVATE t110 _Module__InitExports (_interface) t5 _interface; { t5 z1; t5 z2; t8 z3; t7 z4; t8 z5; t13 z6; t11 z7; t58 z8; #line 823 "Module.m3" { auto t1 _name; auto t7 _objs; auto t8 _n; auto t11 _o; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _interface); _name = (((t90_fields*)(z1+(0+t108_size)))->_name); NILCHECKA (z2 = _interface); _Scope__ToList ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms), &_objs, &_n); { int from, to, index; from = 0 ; z3 = _n - 1 ; to = z3; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 832 _i = (t8) index; NILCHECKB (z4 = _objs); { register t98* array = & (*((t92*) z4)); z5 = _i; if (z5 >= (array->size[0])) RANGEFAULT; #line 833 z3 = (int)(array->elts + (z5 * 4)); }; _o = (*(t11*)z3); z6 = _Value__ClassOf (_o); switch (z6) { case 1: NILCHECKA (z7 = _o); if ((((t90_fields*)(z7+(0+t108_size)))->_exported)) { z8 = NARROW (_o, t58, TC58, z8); _Variable__InitGlobal (_name, z8); goto if_49_end; }; if_49_end: /**/; #line 837 break; default: /**/; }; } } }; }; } } }; #line 845 "Module.m3" PRIVATE t110 _Module__GenInitCalls (_l) t9 _l; { t10 z2; t9 z3; t5 z5; t9 z1; t9 z4; t10 z6; #line 845 "Module.m3" { auto t9 _x; auto t9 _y; { CHECKSTACKOVERFLOW; _x = _l; z2 = (_x != 0); if (z2) do { _y = _l; loop_2:; z2 = (_x == _y); if (z2) { NILCHECKA (z3 = _x); NILCHECKA (z5 = ((*((t29*) z3))._module)); _Emit__OpS (((ADDRESS)(& txt44.str)), (((t90_fields*)(z5+(0+t108_size)))->_name)); goto loop_exit_2; }; NILCHECKA (z1 = _x); NILCHECKA (z4 = _y); z6 = (((*((t29*) z1))._module) == ((*((t29*) z4))._module)); if (z6) { #line 856 goto loop_exit_2; }; NILCHECKA (z1 = _y); _y = ((*((t29*) z1))._next); goto loop_2; loop_exit_2: /**/; NILCHECKA (z1 = _x); _x = ((*((t29*) z1))._next); z2 = (_x != 0); } while (z2); } } }; #line 863 "Module.m3" PRIVATE t110 _Module__GenInitLinks (_l) t9 _l; { t10 z2; t9 z3; t9 z1; t9 z4; t10 z6; #line 863 "Module.m3" { auto t9 _x; auto t9 _y; { CHECKSTACKOVERFLOW; _x = _l; z2 = (_x != 0); if (z2) do { _y = _l; loop_3:; z2 = (_x == _y); if (z2) { NILCHECKA (z3 = _x); _Module__GenInitLink (((*((t29*) z3))._module), 0 ); goto loop_exit_3; }; NILCHECKA (z1 = _x); NILCHECKA (z4 = _y); z6 = (((*((t29*) z1))._module) == ((*((t29*) z4))._module)); if (z6) { #line 871 goto loop_exit_3; }; NILCHECKA (z1 = _y); _y = ((*((t29*) z1))._next); goto loop_3; loop_exit_3: /**/; NILCHECKA (z1 = _x); _x = ((*((t29*) z1))._next); z2 = (_x != 0); } while (z2); } } }; #line 878 "Module.m3" PRIVATE t110 _Module__GenInitLink (_t, _exported) t5 _t; t10 _exported; { t5 z3; #line 878 "Module.m3" { { CHECKSTACKOVERFLOW; if (_exported) { NILCHECKA (z3 = _t); _Emit__OpS (((ADDRESS)(& txt45.str)), (((t90_fields*)(z3+(0+t108_size)))->_name)); goto if_54_end; #line 881 }; NILCHECKA (z3 = _t); _Emit__OpS (((ADDRESS)(& txt46.str)), (((t90_fields*)(z3+(0+t108_size)))->_name)); if_54_end: /**/; } } }; #line 886 "Module.m3" PRIVATE t110 _Module__GenInterfaces (_l) t9 _l; { t10 z2; t9 z3; t9 z1; t9 z4; t10 z6; #line 886 "Module.m3" { auto t9 _x; auto t9 _y; { CHECKSTACKOVERFLOW; _x = _l; z2 = (_x != 0); if (z2) do { _y = _l; loop_4:; z2 = (_x == _y); if (z2) { NILCHECKA (z3 = _x); _Module__GenInterfaceRecord (((*((t29*) z3))._module)); goto loop_exit_4; }; NILCHECKA (z1 = _x); NILCHECKA (z4 = _y); z6 = (((*((t29*) z1))._module) == ((*((t29*) z4))._module)); if (z6) { #line 894 goto loop_exit_4; }; NILCHECKA (z1 = _y); _y = ((*((t29*) z1))._next); goto loop_4; loop_exit_4: /**/; NILCHECKA (z1 = _x); _x = ((*((t29*) z1))._next); z2 = (_x != 0); } while (z2); } } }; #line 901 "Module.m3" PRIVATE t110 _Module__GenInterfaceRecord (_t) t5 _t; { t5 z2; t8 z3; t7 z4; t8 z5; #line 901 "Module.m3" { auto t8 _n; auto t7 _elts; { CHECKSTACKOVERFLOW; _Emit__Op (((ADDRESS)(& txt35.str))); NILCHECKA (z2 = _t); _Scope__ToList ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms), &_elts, &_n); { int from, to, index; from = 0 ; z3 = _n - 1 ; to = z3; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 906 _i = (t8) index; NILCHECKB (z4 = _elts); { register t98* array = & (*((t92*) z4)); z5 = _i; if (z5 >= (array->size[0])) RANGEFAULT; #line 906 z3 = (int)(array->elts + (z5 * 4)); }; _Value__Declare0 ((*(t11*)z3)); } } }; }; _Emit__Op (((ADDRESS)(& txt35.str))); } } }; #line 910 "Module.m3" PRIVATE t110 _Module__ImportVersionStamps (_t) t5 _t; { t5 z2; #line 910 "Module.m3" { { CHECKSTACKOVERFLOW; if (_Host__versionStamps) { _Emit__Op (((ADDRESS)(& txt47.str))); NILCHECKA (z2 = _t); _Module__RefVersionStamps ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_imports)); _Module__RefVersionStampsInModule (_t); _Emit__Op (((ADDRESS)(& txt48.str))); goto if_57_end; }; if_57_end: /**/; } } }; #line 920 "Module.m3" PRIVATE t110 _Module__RefVersionStamps (_l) t9 _l; { t10 z2; t9 z3; t9 z1; t9 z4; t10 z6; #line 920 "Module.m3" { auto t9 _x; auto t9 _y; { CHECKSTACKOVERFLOW; _x = _l; z2 = (_x != 0); if (z2) do { _y = _l; loop_5:; z2 = (_x == _y); if (z2) { NILCHECKA (z3 = _x); _Module__RefVersionStampsInModule (((*((t29*) z3))._module)); goto loop_exit_5; #line 927 }; NILCHECKA (z1 = _x); NILCHECKA (z4 = _y); z6 = (((*((t29*) z1))._module) == ((*((t29*) z4))._module)); if (z6) { #line 928 goto loop_exit_5; }; NILCHECKA (z1 = _y); _y = ((*((t29*) z1))._next); goto loop_5; loop_exit_5: /**/; NILCHECKA (z1 = _x); _x = ((*((t29*) z1))._next); z2 = (_x != 0); } while (z2); } } }; #line 935 "Module.m3" PRIVATE t110 _Module__RefVersionStampsInModule (_t) t5 _t; { t5 z2; t8 z3; t7 z4; t8 z5; #line 935 "Module.m3" { auto t8 _n; auto t7 _elts; { CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); _Scope__ToList ((((t32_fields*)(z2+(0+t90_size+t108_size)))->_syms), &_elts, &_n); { int from, to, index; from = 0 ; z3 = _n - 1 ; to = z3; { auto t8 _i; { for (index = from; index <= to; index += 1) { #line 939 _i = (t8) index; NILCHECKB (z4 = _elts); { register t98* array = & (*((t92*) z4)); z5 = _i; if (z5 >= (array->size[0])) RANGEFAULT; #line 939 z3 = (int)(array->elts + (z5 * 4)); }; _Value__NoteUse ((*(t11*)z3)); } } }; }; } } }; #line 942 "Module.m3" PRIVATE t110 _Module__FPrinter (_t, _map, _wr) t5 _t; t4 _map; t3 _wr; { t5 z3; #line 942 "Module.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z3 = _t); _String__Put (_wr, (((t90_fields*)(z3+(0+t108_size)))->_name)); _Wr__PutText (_wr, ((ADDRESS)(& txt49.str))); } } }; #line 948 "Module.m3" EXPORT t1 _Module__CurrentName () { t10 z2; t5 z1; #line 948 "Module.m3" { auto t1 __result; { CHECKSTACKOVERFLOW; z2 = (_Module__curModule == 0); if (z2) { __result = 0; return __result; }; NILCHECKA (z1 = _Module__curModule); __result = (((t90_fields*)(z1+(0+t108_size)))->_name); return __result; } } }; #line 951 PRIVATE int init_done = -1; #line 951 "Module.m3" PRIVATE void Module__initProc (g) int g; { t26 z3; #line 951 "Module.m3" if (init_done >= g) return; init_done = g; INITIALIZE (& Module__init); INITIALIZE (& Scanner__init); INITIALIZE (& Decl__init); #line 951 INITIALIZE (& Coverage__init); INITIALIZE (& Revelation__init); INITIALIZE (& Tipe__init); INITIALIZE (& Token__init); INITIALIZE (& Rd__init); #line 951 INITIALIZE (& IntTable__init); INITIALIZE (& Emit__init); INITIALIZE (& Expr__init); INITIALIZE (& Host__init); INITIALIZE (& Text__init); #line 951 INITIALIZE (& Temp__init); INITIALIZE (& Wr__init); INITIALIZE (& Void__init); INITIALIZE (& Ident__init); INITIALIZE (& Procedure__init); #line 951 INITIALIZE (& Constant__init); INITIALIZE (& Type__init); INITIALIZE (& Variable__init); INITIALIZE (& Delay__init); INITIALIZE (& Exceptionz__init); #line 951 INITIALIZE (& Error__init); INITIALIZE (& Stmt__init); INITIALIZE (& Scope__init); INITIALIZE (& String__init); INITIALIZE (& ValueRep__init); #line 951 INITIALIZE (& Value__init); #line 55 ZERO1 (& _Module__defns); z3 = _IntTable__New ( 64 , 2 ); _Module__defns = z3; ZERO1 ((& _Module__curModule)); #line 951 return; }; #line 951 "Module.m3" PRIVATE void t9_PrintProc (ref) t29* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC9->brand); fprintf (stderr, "^ = { "); #line 951 fprintf (stderr, "next = %#x", (*ref)._next); fprintf (stderr, "module = %#x", (*ref)._module); fprintf (stderr, "}"); #line 951 fprintf (stderr, "}\n"); }; #line 951 "Module.m3" PRIVATE void t18_PrintProc (ref) t28* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC18->brand); fprintf (stderr, "^ = { "); #line 951 fprintf (stderr, "next = %#x", (*ref)._next); fprintf (stderr, "obj = %#x", (*ref)._obj); fprintf (stderr, "}"); fprintf (stderr, "}\n"); #line 951 }; #line 951 "Module.m3" PRIVATE void t19_PrintProc (ref) t5* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC19->brand); fprintf (stderr, "^ = %#x", (*ref)); #line 951 fprintf (stderr, "}\n"); }; #line 951 "Module.m3" PRIVATE void t32_InitProc (obj) char* obj; { register t32_fields* p; #line 951 "Module.m3" CHECKSTACKOVERFLOW; p = (t32_fields*) (obj + TC11->datasize); }; #line 951 "Module.m3" PRIVATE void t32_SetupProc () { register int* p; #line 951 "Module.m3" t32_TC.datasize += TC11->datasize; t32_TC.methodsize += TC11->methodsize; p = (int*) UALLOC (t32_TC.methodsize); COPY (TC11->defaultMethods, p, (TC11->methodsize)); #line 951 p[0] = (int)(& t32_TC); p[1] = 0; ((t90_methods*) (((char*)p) + TC108->methodsize))->_bind = _Module__Bind; ((t90_methods*) (((char*)p) + TC108->methodsize))->_typeCheck = _Module__TypeCheckMethod; #line 951 ((t90_methods*) (((char*)p) + TC108->methodsize))->_class = _Module__MyClass; ((t90_methods*) (((char*)p) + TC108->methodsize))->_fingerprint = _Module__FPrinter; #line 951 ((t90_methods*) (((char*)p) + TC108->methodsize))->_load = _ValueRep__NoLoader; ((t90_methods*) (((char*)p) + TC108->methodsize))->_write = _ValueRep__NoWriter; #line 951 ((t90_methods*) (((char*)p) + TC108->methodsize))->_select = _ValueRep__NoDuplicates; ((t90_methods*) (((char*)p) + TC108->methodsize))->_declare0 = _ValueRep__Never; #line 951 ((t90_methods*) (((char*)p) + TC108->methodsize))->_declare1 = _Module__ObjCompile; ((t90_methods*) (((char*)p) + TC108->methodsize))->_needsDecl = _ValueRep__Never; #line 951 ((t90_methods*) (((char*)p) + TC108->methodsize))->_toExpr = _ValueRep__NoExpr; ((t90_methods*) (((char*)p) + TC108->methodsize))->_toType = _ValueRep__NoType; #line 951 t32_TC.defaultMethods = (char*) p; }; #line 951 "Module.m3" PRIVATE void t32_PrintProc (obj) char *obj; { t32_fields* o; #line 951 "Module.m3" CHECKSTACKOVERFLOW; if (TC11->printProc != 0) {TC11->printProc (obj); } fprintf (stderr, "{%s} ", TC32->brand); o = (t32_fields*) (obj + TC11->datasize); #line 951 fprintf (stderr, "safe = %d", o->_safe); fprintf (stderr, ", "); fprintf (stderr, "interface = %d", o->_interface); fprintf (stderr, ", "); #line 951 fprintf (stderr, "exports = %#x", o->_exports); fprintf (stderr, ", "); fprintf (stderr, "imports = %#x", o->_imports); fprintf (stderr, ", "); #line 951 fprintf (stderr, "importObjs = %#x", o->_importObjs); fprintf (stderr, ", "); fprintf (stderr, "syms = %#x", o->_syms); fprintf (stderr, ", "); #line 951 fprintf (stderr, "revelations = %#x", o->_revelations); fprintf (stderr, ", "); fprintf (stderr, "body = %#x", o->_body); #line 951 fprintf (stderr, ", "); fprintf (stderr, "depth = %d", o->_depth); fprintf (stderr, ", "); }; #line 951 "Module.m3" PRIVATE void t47_PrintProc (ref) t48* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC47->brand); fprintf (stderr, "^ = array"); #line 951 fprintf (stderr, "}\n"); }; PRIVATE void t41_MapProc (p, r, c) void (*p) (); register t53* r; ADDRESS c; { CHECKSTACKOVERFLOW; #line 951 p (& ((*r)._first), r, c); p (& ((*r)._tail), r, c); }; PRIVATE void t47_MapProc (p, r, c) void (*p) (); register t48* r; #line 951 ADDRESS c; { CHECKSTACKOVERFLOW; { int i1, j; t98* zz; t20* aptr; zz = & ((*r)); j = zz->size[0]; aptr = (t20*) zz->elts; #line 951 for (i1 = 0; i1 < j; i1++) { p (& (aptr[i1]), r, c); }; }; }; PRIVATE INITLINK me_0 ={(INITLINK*)NIL, 0, Module__initProc}; static char* VSimports[] = { &VS_Scanner__cur__929fa6f8367ea415, &VS_Scanner__offset__dfc05f042d8347f4, &VS_Scanner__Match__aaf5b32f2f19a6d8, &VS_Scanner__MatchID__4fb3c66f3429afd9, &VS_Scanner__GetToken__192100a32c7e576d, &VS_Scanner__Fail__a15a8cf32391aa62, &VS_Scanner__Push__2865089230018ad8, &VS_Scanner__Pop__201d3ab93a5755c6, &VS_Decl__Parse__e6cb29993103d662, &VS_Coverage__GenerateTables__d7c498fb2086c132, &VS_Revelation__Set__d30dba392ce2e71e, &VS_Revelation__PushNew__06ccb39a3632a487, &VS_Revelation__Push__421640a0294ec045, &VS_Revelation__Pop__c93ef8893c261f78, &VS_Revelation__Inherit__de099ee623b5e437, &VS_Revelation__Bind__cdd1b730257bcbc2, &VS_Revelation__TypeCheck__f98a9360371b3056, &VS_Revelation__Declare__0d1099da3b2beb77, &VS_Revelation__GenIdentifications__73dc51af3bc7c1ed, &VS_Revelation__GenSubtypeChecks__3a0acd522c25718b, &VS_Tipe__InitializeExport__a4a492ab35e21ee0, &VS_Token__DeclStart__730c82bc2c2001b8, &VS_Token__TypeStart__f71616cb38a20d02, &VS_Token__ExprStart__21dc8a0a27344836, &VS_Token__StmtStart__d5f1dc8e390e874c, &VS_Thread__Alerted__fc88feb43485af46, &VS_Rd__T__2555b70b3f7780b1, &VS_Rd__EndOfFile__f4a9d2f63b7e105d, &VS_Rd__Failure__e4a829e331222b6d, &VS_Rd__Error__5ca07bfe2ba90cfc, &VS_IntTable__T__e38bb59132b51757, &VS_IntTable__New__3dc7ffff24de1d12, &VS_IntTable__Get__d252c369205f828a, &VS_IntTable__Put__2e50da8725271a2d, &VS_Emit__MaxStream__cf0a0e8934c9c9f3, &VS_Emit__Format__bc4a2b083b93bbd7, &VS_Emit__Op__072646cc27c8ae10, &VS_Emit__OpS__f7dc93802c012951, &VS_Emit__OpSS__6d3e5a1c3d099356, &VS_Emit__OpSI__ab1965f432d76dc2, &VS_Emit__OpIS__9f7893f0232bd0ad, &VS_Emit__OpN__a3f6e37c396e144c, &VS_Emit__Push__bb0d136633891859, &VS_Emit__Pop__8a7be1412301ed32, &VS_Emit__Switch__e69d0876372d3ad7, &VS_Expr__T__2446b70b3f7780a5, &VS_Expr__List__3f87eceb2b9a246a, &VS_Host__versionStamps__349a7ae73215b586, &VS_Host__incrementalVersion__1798bcf82af0e178, &VS_Host__toCompile__bcbbdf8434b39d67, &VS_Host__OpenInterface__f7dcf6632ef32c58, &VS_Host__CloseFile__19dd0e0c3457343b, &VS_Text__T__fc4b369f3ab271fd, &VS_Temp__T__3a6c7dc12615e4ee, &VS_Temp__PushSet__421e3799382982bc, &VS_Temp__PopSet__e0f9f19236e0186c, &VS_Thread__Alerted__fc88feb43485af46, &VS_Wr__T__2555b70b3f7780b1, &VS_Wr__Failure__5f82cfb43dabf527, &VS_Wr__Error__c367253d3ed4fd15, &VS_Wr__PutText__e034dab73a793846, &VS_Void__T__d44caf853dc63223, &VS_Ident__MaxIDs__008b1dc032f417a4, &VS_Ident__stack__26abbee13e46561c, &VS_Ident__top__5f69d9f328d50d34, &VS_Ident__ParseList__bf92180a2a700808, &VS_Procedure__T__be7ead4a3afd8be5, &VS_Procedure__HasBody__0f7fcb6134b4267e, &VS_Procedure__GenHeaders__a26b8bbd2bbade42, &VS_Procedure__GenBodies__87a02e1926e07de1, &VS_Type__T__2446b70b3f7780a5, &VS_Type__Map__41dd9f4b33104fce, &VS_Type__List__5791758e343becc1, &VS_Type__GenDeclarations__c586cbee22a947af, &VS_Type__GenInitProcs__9df295572e487ce3, &VS_Type__GenMapProcs__dc48c1b1338c7672, &VS_Type__GenRegistrations__80433bb32aa13468, &VS_Type__FinishRegistrations__547b10f420e47e56, &VS_Variable__T__be7ead4a3afd8be5, &VS_Variable__InitGlobal__a8a0983620eb1d77, &VS_Variable__GenGlobalMap__4bde677a2bc87c63, &VS_Delay__Closure__94b4fe673a5d6ded, &VS_Delay__pending__c38e24f234433188, &VS_Delay__FinishUp__4aab618e339b9a83, &VS_Error__Msg__4d119a332467757f, &VS_Error__Str__2bd0723e3872e90c, &VS_Stmt__T__2446b70b3f7780a5, &VS_Stmt__Parse__35df10ad3fd1dfe6, &VS_Stmt__Bind__55f2c79a304c25df, &VS_Stmt__TypeCheck__e228c94928564a9d, &VS_Stmt__Precompile__68dddedb3aa69659, &VS_Stmt__Compile__53f9f2c43edb087a, &VS_Scope__T__3a6c7dc12615e4ee, &VS_Scope__ValueList__64bf053e22e4e53c, &VS_Scope__Initial__097aab742ccb9af2, &VS_Scope__PushNew__d323325530c46e5d, &VS_Scope__PopNew__3afab09a31bee774, &VS_Scope__Push__ff579fe72573f581, &VS_Scope__Pop__cfcd8a43301536dd, &VS_Scope__Insert__ef77c00626575764, &VS_Scope__LookUpInScope__176166ad3a7fb5b9, &VS_Scope__GenFrameTypes__0a54ad9f2c562d48, &VS_Scope__ToList__4f3684492cf42c93, &VS_Scope__Seal__6820dc2e2fab28b5, &VS_Scope__Bind__344f0d6129e368d1, &VS_Scope__TypeCheck__f0c8e8c4224804fd, &VS_Scope__Generate__e50d3065292f9146, &VS_Scope__WarnUnused__9058f21e35f1c66f, &VS_String__T__3a6c7dc12615e4ee, &VS_String__Add__0f5e21cc3d204b63, &VS_String__Put__2457561e210725b3, &VS_ValueRep__V__f28699153c608442, &VS_ValueRep__Init__ba99dff739390f9a, &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_Value__T__2446b70b3f7780a5, &VS_Value__Bind__6439d03d3a1be824, &VS_Value__TypeCheck__917dc8a02c0b0de4, &VS_Value__Declare0__c5e792dc3048d136, &VS_Value__NoteUse__ddcc76892c46c97c, &VS_Value__ClassOf__9c68d87829345fcf, &VS_Module__T__be7ead4a3afd8be5, &VS_Module__depth__a65bb56937bd5d03, &VS_Scanner__cur__929fa6f8367ea415, &VS_Scanner__MatchID__4fb3c66f3429afd9, &VS_Scanner__Match__aaf5b32f2f19a6d8, &VS_Scanner__Fail__a15a8cf32391aa62, &VS_Scanner__GetToken__192100a32c7e576d, NIL }; void Module__MLink (phase) int phase; { switch (phase) { case 0: { me_0.link = Module__init; Module__init = & me_0; t9_TC = t9_TC_init; REGISTERTYPE (TC9); t18_TC = t18_TC_init; REGISTERTYPE (TC18); t19_TC = t19_TC_init; REGISTERTYPE (TC19); t32_TC = t32_TC_init; REGISTERTYPE (TC32); t47_TC = t47_TC_init; REGISTERTYPE (TC47); break; }; case 1: { t32_TC.parent = TC_M3__Value; #line 22 "Module.m3" IDENTIFYTYPES (TC5, TC32); break; }; case 2: { break; }; }; };