#include "M3Runtime.h" typedef struct { int tc; char* str; int len; } TXT; PRIVATE TXT txt1 = { 3, "a revelation cannot be external", 32}; PRIVATE TXT txt2 = { 3, "a revelation cannot be inline", 30}; PRIVATE TXT txt3 = { 3, "a revelation cannot be obsolete", 32}; PRIVATE TXT txt4 = { 3, "a revelation cannot be unused", 30}; PRIVATE TXT txt5 = { 3, "missing \047=\047 or \047<:\047", 20}; PRIVATE TXT txt6 = { 3, "IDENTIFYTYPES (TC@, TC@);\012", 27}; PRIVATE TXT txt7 = { 3, "CHECKSUBTYPE (TC@, TC@);\012", 26}; PRIVATE TXT txt8 = { 3, "recursive revelation", 21}; PRIVATE TXT txt9 = { 3, "undefined", 10}; PRIVATE TXT txt10 = { 3, "is not a type", 14}; PRIVATE TXT txt11 = { 3, "is not an opaque type", 22}; PRIVATE TXT txt12 = { 3, "identification is not to a legal subtype", 41}; PRIVATE TXT txt13 = { 3, "must be identified with a new branded reference type", 53 }; PRIVATE TXT txt14 = { 3, "== ", 4}; PRIVATE TXT txt15 = { 3, "<: ", 4}; PRIVATE TXT txt16 = { 3, "EXPORT ", 8}; PRIVATE TXT txt17 = { 3, "IMPORT ", 8}; PRIVATE TXT txt18 = { 3, "char VS@__", 11}; PRIVATE TXT txt19 = { 3, "@@", 3}; PRIVATE TXT txt20 = { 3, " = \047\1340\047", 8}; PRIVATE TXT txt21 = { 3, ";\012", 3}; #line 37 "Revelation.m3" #define t3 ADDRESS #define t4 ADDRESS #define t64 ADDRESS typedef int t2; #define TC64 TC_ADDRESS IMPORT TYPE TC_ADDRESS; IMPORT char VS_ADDRESS__30f7308738738b44; #line 13 "../Interfaces/String.i3" #define t16 ADDRESS #define TC16 TC_String__T IMPORT TYPE TC_String__T; #line 13 IMPORT char VS_String__T__3a6c7dc12615e4ee; typedef struct { t16 _module; t16 _item; } t24; #define t69 ADDRESS #define t89 void typedef struct { TYPE self; int private; } t69_methods; #define t69_msize (sizeof (t69_methods)) typedef struct { ADDRESS methods; } t69_fields; #define t69_size (sizeof (t69_fields)) #define TC69 TC_UNTRACED_ROOT IMPORT TYPE TC_UNTRACED_ROOT; IMPORT char VS_UNTRACED_ROOT__3e0964513fd6da20; #line 15 "../Interfaces/M3.i3" #define t15 ADDRESS #define TC15 TC_M3__Value IMPORT TYPE TC_M3__Value; #line 15 IMPORT char VS_M3__Value__6f64cf9c2cae25fb; #define t12 ADDRESS #define TC12 TC_M3__Type IMPORT TYPE TC_M3__Type; #line 18 IMPORT char VS_M3__Type__4d87bc25311f81d2; typedef unsigned char t7; #line 18 "Revelation.m3" typedef struct { t24 _qid; t15 _obj; t12 _value; t12 _opaque; t7 _equal; t7 _bound; t7 _inBind; t7 _checked; t2 _depth; t2 _origin; #line 18 } t25; #line 29 PRIVATE void t4_PrintProc (); PRIVATE typecell t4_TC; PRIVATE typecell t4_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, 32, 0, NIL, 0, 0, (PROC)NIL, (PROC)NIL, t4_PrintProc, #line 29 "", 1259038280, 743626286}; PRIVATE TYPE TC4 = &t4_TC; typedef struct { t3 _next; t4 _ident; t7 _local; t7 _used; } t23; PRIVATE void t3_PrintProc (); PRIVATE typecell t3_TC; PRIVATE typecell t3_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, 10, 0, NIL, 0, 0, (PROC)NIL, (PROC)NIL, t3_PrintProc, #line 37 "", 1215995455, 601122762}; PRIVATE TYPE TC3 = &t3_TC; #line 14 "./Revelation.i3" #define t8 ADDRESS #define TC8 TC_Revelation__Set IMPORT TYPE TC_Revelation__Set; #line 14 IMPORT char VS_Revelation__Set__d30dba392ce2e71e; #line 16 "../Interfaces/Type.i3" #define t10 ADDRESS typedef struct { #line 116 ".ROOT/.boots/corelib/Interfaces/Wr.i3" char* elts; int size[1]; } t77; #line 15 ".ROOT/.boots/corelib/Interfaces/FPrint.i3" #define t29 t77 #define TC10 TC_Type__Map IMPORT TYPE TC_Type__Map; #line 16 "../Interfaces/Type.i3" IMPORT char VS_Type__Map__41dd9f4b33104fce; #define t11 ADDRESS typedef struct { #line 17 t11 _next; t12 _type; } t68; #define TC11 TC_Type__List IMPORT TYPE TC_Type__List; #line 17 IMPORT char VS_Type__List__5791758e343becc1; #line 43 "Revelation.m3" #define t21 ADDRESS typedef struct { #line 40 t3 _idents; t8 _next; } t22; PRIVATE void t21_PrintProc (); PRIVATE typecell t21_TC; PRIVATE typecell t21_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, 8, 0, NIL, 0, 0, (PROC)NIL, (PROC)NIL, t21_PrintProc, #line 43 "Revelation#$%^_0001", -271368085, 646579471}; PRIVATE TYPE TC21 = &t21_TC; #define t43 ADDRESS #define TC43 TC_REFANY IMPORT TYPE TC_REFANY; IMPORT char VS_REFANY__4b8748e831fc107a; #line 14 "../Interfaces/Expr.i3" #define t56 ADDRESS #define t53 ADDRESS #define TC53 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 t57 t77 #define TC56 TC_Expr__List IMPORT TYPE TC_Expr__List; #line 14 IMPORT char VS_Expr__List__3f87eceb2b9a246a; #line 17 "../Interfaces/Scope.i3" #define t61 ADDRESS #define t63 t77 #define TC61 TC_Scope__ValueList IMPORT TYPE TC_Scope__ValueList; #line 17 IMPORT char VS_Scope__ValueList__64bf053e22e4e53c; #define t90 ADDRESS #define TC90 TC_NULL IMPORT TYPE TC_NULL; IMPORT char VS_NULL__fb50c7d53bec30dc; #line 382 "Revelation.m3" typedef t89 (*t1)(); #line 15 ".ROOT/.boots/corelib/Interfaces/FPrint.i3" typedef signed_char t31; typedef struct { t2 elts[2]; } t5; #define t6 ADDRESS #define TC6 TC_TEXT IMPORT TYPE TC_TEXT; IMPORT char VS_TEXT__b7a92447326386f5; #define t6_MapProc TC_TEXT->mapProc #define t44 ADDRESS typedef struct { TYPE self; int private; } t44_methods; #define t44_msize (sizeof (t44_methods)) typedef struct { ADDRESS methods; } t44_fields; #define t44_size (sizeof (t44_fields)) #define TC44 TC_ROOT IMPORT TYPE TC_ROOT; IMPORT char VS_ROOT__349f58f628be0ac6; #define t44_MapProc TC_ROOT->mapProc #define t9 ADDRESS #define TC9 TC_Wr__T IMPORT TYPE TC_Wr__T; #line 90 ".ROOT/.boots/corelib/Interfaces/Wr.i3" IMPORT char VS_Wr__T__2555b70b3f7780b1; #define t9_MapProc TC_Wr__T->mapProc typedef t11 (*t13)(); #line 241 "Revelation.m3" typedef t12 (*t14)(); #line 15 "../Interfaces/Token.i3" typedef unsigned char t18; #line 45 typedef struct { int elts[4]; } t17; #line 14 "./Decl.i3" typedef struct { t16 _alias; t7 _isExternal; t7 _isInline; t7 _isUnused; t7 _isObsolete; } t19; #line 49 "Revelation.m3" typedef t8 (*t20)(); #line 23 ".ROOT/.boots/corelib/Interfaces/TextWr.i3" #define t26 ADDRESS #define TC26 TC_TextWr__T IMPORT TYPE TC_TextWr__T; #line 23 IMPORT char VS_TextWr__T__aa7fbe4a3afd8be5; #define t26_MapProc TC_TextWr__T->mapProc typedef t6 (*t27)(); typedef t26 (*t28)(); #line 17 ".ROOT/.boots/corelib/Interfaces/FPrint.i3" typedef void (*t30)(); #line 83 ".ROOT/.boots/corelib/Interfaces/Rd.i3" #define t32 ADDRESS #define TC32 TC_Rd__T IMPORT TYPE TC_Rd__T; #line 83 IMPORT char VS_Rd__T__2555b70b3f7780b1; #define t32_MapProc TC_Rd__T->mapProc typedef t32 (*t33)(); #line 26 "../Interfaces/Scanner.i3" typedef t16 (*t34)(); #line 13 typedef struct { t18 _token; t16 _string; t2 _value; t2 _offset; } t35; #line 287 ".ROOT/.boots/corelib/Interfaces/Rd.i3" typedef t7 (*t36)(); typedef int t37; #line 249 typedef t37 (*t38)(); typedef unsigned char t39; #line 189 #define t40 t77 typedef t39 (*t41)(); #line 84 typedef unsigned char t42; #line 63 "../Interfaces/Emit.i3" typedef t31 (*t45)(); #line 19 "../Interfaces/String.i3" typedef signed_char t73; #line 65 "../Interfaces/Token.i3" #define t71 t77 typedef struct { t16 elts[100]; } t74; #line 17 "../Interfaces/String.i3" typedef struct { t2 _top; t74 _stk; } t46; #line 19 "../Interfaces/M3.i3" #define t47 ADDRESS #define TC47 TC_M3__Temp IMPORT TYPE TC_M3__Temp; #line 19 IMPORT char VS_M3__Temp__450b691937f03dae; #line 16 "./Variable.i3" #define t48 ADDRESS #define TC48 TC_Variable__T IMPORT TYPE TC_Variable__T; #line 16 IMPORT char VS_Variable__T__be7ead4a3afd8be5; typedef double t49; #line 14 "../Interfaces/M3.i3" #define t50 ADDRESS #define TC50 TC_M3__Scope IMPORT TYPE TC_M3__Scope; #line 14 IMPORT char VS_M3__Scope__6e6d8848308d8a2d; #line 38 "./Variable.i3" typedef t47 (*t51)(); #line 24 typedef t48 (*t52)(); #line 31 "../Interfaces/ObjectType.i3" typedef t2 (*t54)(); #line 36 "../Interfaces/Expr.i3" typedef t53 (*t55)(); #line 14 "./Module.i3" #define t58 ADDRESS #define TC58 TC_Module__T IMPORT TYPE TC_Module__T; #line 14 IMPORT char VS_Module__T__be7ead4a3afd8be5; #line 30 typedef t50 (*t59)(); #line 18 typedef t58 (*t60)(); #line 38 "../Interfaces/Scope.i3" typedef t15 (*t62)(); #line 18 "./Value.i3" typedef unsigned char t65; #line 40 typedef t65 (*t66)(); #line 121 "../Interfaces/Type.i3" typedef t10 (*t67)(); #line 17 "../Interfaces/M3.i3" #define t70 ADDRESS #define TC70 TC_M3__Stmt IMPORT TYPE TC_M3__Stmt; #line 17 IMPORT char VS_M3__Stmt__376b307627fc1f2f; #line 65 "../Interfaces/Token.i3" typedef struct { t16 elts[97]; } t72; #line 67 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef signed_char t75; typedef t75 (*t76)(); #line 91 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef unsigned char t78; #line 15 ".ROOT/.boots/corelib/Interfaces/Thread.i3" #define t79 ADDRESS #define TC79 TC_Thread__T IMPORT TYPE TC_Thread__T; #line 15 IMPORT char VS_Thread__T__2555b70b3f7780b1; #define t79_MapProc TC_Thread__T->mapProc typedef t43 (*t80)(); #define t81 ADDRESS #define TC81 TC_Thread__Condition IMPORT TYPE TC_Thread__Condition; #line 21 IMPORT char VS_Thread__Condition__26d5968239e08f4e; #define t81_MapProc TC_Thread__Condition->mapProc #define t82 ADDRESS #define TC82 TC_MUTEX IMPORT TYPE TC_MUTEX; IMPORT char VS_MUTEX__1f9d4e89391ab815; #define t82_MapProc TC_MUTEX->mapProc typedef t79 (*t83)(); #line 23 #define t84 ADDRESS #line 23 typedef struct { t80 _apply; } t84_methods; #define t84_msize (sizeof (t84_methods)) typedef struct { #line 23 int filler; } t84_fields; #define t84_size (sizeof (t84_fields)) #define TC84 TC_Thread__Closure IMPORT TYPE TC_Thread__Closure; #line 23 IMPORT char VS_Thread__Closure__7fb5c6232c5a658a; #define t84_MapProc TC_Thread__Closure->mapProc typedef t81 (*t85)(); typedef t82 (*t86)(); #line 28 #define t87 ADDRESS #line 28 typedef struct { int filler; } t87_methods; #define t87_msize (sizeof (t87_methods)) typedef struct { #line 28 t37 _stackSize; } t87_fields; #define t87_size (sizeof (t87_fields)) #define TC87 TC_Thread__SizedClosure IMPORT TYPE TC_Thread__SizedClosure; #line 28 IMPORT char VS_Thread__SizedClosure__8a46717d2eae7b07; #define t87_MapProc TC_Thread__SizedClosure->mapProc typedef CLOSURE t88; typedef float t91; #line 10 "Revelation.m3" IMPORT INITLINK* Scanner__init; IMPORT INITLINK* Decl__init; IMPORT INITLINK* TextWr__init; IMPORT INITLINK* Wr__init; IMPORT INITLINK* FPrint__init; #line 10 IMPORT INITLINK* Text__init; IMPORT INITLINK* Host__init; IMPORT INITLINK* Token__init; IMPORT INITLINK* Emit__init; IMPORT INITLINK* RefType__init; #line 10 IMPORT INITLINK* ObjectType__init; IMPORT INITLINK* Scope__init; IMPORT INITLINK* OpaqueType__init; IMPORT INITLINK* Error__init; #line 10 IMPORT INITLINK* Module__init; IMPORT INITLINK* Type__init; IMPORT INITLINK* Value__init; IMPORT INITLINK* String__init; IMPORT INITLINK* Revelation__init; #line 10 IMPORT t35 _Scanner__cur; IMPORT char VS_Scanner__cur__929fa6f8367ea415; IMPORT t2 _Scanner__offset; IMPORT char VS_Scanner__offset__dfc05f042d8347f4; #line 10 IMPORT t89 _Scanner__Match (); IMPORT char VS_Scanner__Match__aaf5b32f2f19a6d8; IMPORT t16 _Scanner__MatchID (); IMPORT char VS_Scanner__MatchID__4fb3c66f3429afd9; #line 10 IMPORT t89 _Scanner__GetToken (); IMPORT char VS_Scanner__GetToken__192100a32c7e576d; IMPORT t89 _Scanner__Fail (); IMPORT char VS_Scanner__Fail__a15a8cf32391aa62; #line 10 IMPORT t26 _TextWr__New (); IMPORT char VS_TextWr__New__b2aced2f341cea58; IMPORT t6 _TextWr__ToText (); IMPORT char VS_TextWr__ToText__07606fcd3a0c5476; #line 10 IMPORT EXCEPTION_NAME _Thread__Alerted; IMPORT char VS_Thread__Alerted__fc88feb43485af46; IMPORT EXCEPTION_NAME _Wr__Failure; #line 10 IMPORT char VS_Wr__Failure__5f82cfb43dabf527; IMPORT EXCEPTION_NAME _Wr__Error; IMPORT char VS_Wr__Error__c367253d3ed4fd15; #line 10 IMPORT t89 _Wr__PutText (); IMPORT char VS_Wr__PutText__e034dab73a793846; IMPORT void _FPrint__FromText (); IMPORT char VS_FPrint__FromText__0bb4e38c3c08e10e; #line 10 IMPORT TYPE TC_Text__T; IMPORT char VS_Text__T__fc4b369f3ab271fd; IMPORT t7 _Host__verbose; IMPORT char VS_Host__verbose__446e4df03fef5543; #line 10 IMPORT t7 _Host__versionStamps; IMPORT char VS_Host__versionStamps__349a7ae73215b586; IMPORT t2 _Host__incrementalVersion; #line 10 IMPORT char VS_Host__incrementalVersion__1798bcf82af0e178; IMPORT t17 _Token__DeclStart; IMPORT char VS_Token__DeclStart__730c82bc2c2001b8; #line 10 IMPORT t17 _Token__TypeStart; IMPORT char VS_Token__TypeStart__f71616cb38a20d02; IMPORT t17 _Token__ExprStart; IMPORT char VS_Token__ExprStart__21dc8a0a27344836; #line 10 IMPORT char VS_Emit__MaxStream__cf0a0e8934c9c9f3; IMPORT TYPE TC_Emit__Format; IMPORT char VS_Emit__Format__bc4a2b083b93bbd7; #line 10 IMPORT t89 _Emit__Op (); IMPORT char VS_Emit__Op__072646cc27c8ae10; IMPORT t89 _Emit__OpII (); IMPORT char VS_Emit__OpII__2247fe46332f901b; #line 10 IMPORT t89 _Emit__OpN (); IMPORT char VS_Emit__OpN__a3f6e37c396e144c; IMPORT t89 _Emit__OpHH (); IMPORT char VS_Emit__OpHH__5077280930ca83a5; #line 10 IMPORT t89 _Emit__Comment (); IMPORT char VS_Emit__Comment__fa6bac093f4e04bf; IMPORT t7 _RefType__IsBranded (); IMPORT char VS_RefType__IsBranded__50ce8cd22d744a7b; #line 10 IMPORT t7 _ObjectType__IsBranded (); IMPORT char VS_ObjectType__IsBranded__bf3c65d12b324b94; IMPORT TYPE TC_Scope__T; #line 10 IMPORT char VS_Scope__T__3a6c7dc12615e4ee; IMPORT t15 _Scope__LookUpQID (); IMPORT char VS_Scope__LookUpQID__725ce38220cfad93; #line 10 IMPORT t7 _OpaqueType__Is (); IMPORT char VS_OpaqueType__Is__fc6b19392bae1e5e; IMPORT t12 _OpaqueType__Super (); IMPORT char VS_OpaqueType__Super__77b460cc2d28036a; #line 10 IMPORT t89 _Error__Msg (); IMPORT char VS_Error__Msg__4d119a332467757f; IMPORT t89 _Error__QID (); IMPORT char VS_Error__QID__84a7ccd932b81b86; #line 10 IMPORT t2 _Module__depth; IMPORT char VS_Module__depth__a65bb56937bd5d03; IMPORT TYPE TC_Type__T; IMPORT char VS_Type__T__2446b70b3f7780a5; #line 10 IMPORT t12 _Type__Parse (); IMPORT char VS_Type__Parse__603df5e3247e0b72; IMPORT t89 _Type__NoteDeclaration (); IMPORT char VS_Type__NoteDeclaration__363e372920d41f99; #line 10 IMPORT t12 _Type__Bind (); IMPORT char VS_Type__Bind__3443ccd12eedb9e8; IMPORT t89 _Type__Check (); IMPORT char VS_Type__Check__3c8ceb09206ee440; #line 10 IMPORT t2 _Type__Name (); IMPORT char VS_Type__Name__f99416972257a869; IMPORT t7 _Type__IsSubtype (); IMPORT char VS_Type__IsSubtype__8591fba5245cb882; #line 10 IMPORT t10 _Type__NewMap (); IMPORT char VS_Type__NewMap__910bd76d2e20a383; IMPORT t89 _Type__Fingerprint (); IMPORT char VS_Type__Fingerprint__0d24a3463c25e166; #line 10 IMPORT TYPE TC_Value__T; IMPORT char VS_Value__T__2446b70b3f7780a5; IMPORT t89 _Value__Declare0 (); IMPORT char VS_Value__Declare0__c5e792dc3048d136; #line 10 IMPORT t65 _Value__ClassOf (); IMPORT char VS_Value__ClassOf__9c68d87829345fcf; IMPORT t12 _Value__ToType (); IMPORT char VS_Value__ToType__360f3f043a5eeebd; #line 10 EXPORT t8 _Revelation__PushNew (); EXPORT char VS_Revelation__PushNew__06ccb39a3632a487 = '\0'; EXPORT t89 _Revelation__Push (); #line 10 EXPORT char VS_Revelation__Push__421640a0294ec045 = '\0'; EXPORT t89 _Revelation__Pop (); EXPORT char VS_Revelation__Pop__c93ef8893c261f78 = '\0'; #line 10 EXPORT t89 _Revelation__Parse (); EXPORT char VS_Revelation__Parse__286aceb32db03a80 = '\0'; EXPORT t89 _Revelation__Inherit (); #line 10 EXPORT char VS_Revelation__Inherit__de099ee623b5e437 = '\0'; EXPORT t89 _Revelation__Bind (); EXPORT char VS_Revelation__Bind__cdd1b730257bcbc2 = '\0'; #line 10 EXPORT t89 _Revelation__TypeCheck (); EXPORT char VS_Revelation__TypeCheck__f98a9360371b3056 = '\0'; EXPORT t89 _Revelation__Declare (); #line 10 EXPORT char VS_Revelation__Declare__0d1099da3b2beb77 = '\0'; EXPORT t12 _Revelation__LookUp (); EXPORT char VS_Revelation__LookUp__6390d9df2cfcbccb = '\0'; #line 10 EXPORT t11 _Revelation__LookUpAll (); EXPORT char VS_Revelation__LookUpAll__f12902e4391e886d = '\0'; EXPORT t89 _Revelation__GenIdentifications (); #line 10 EXPORT char VS_Revelation__GenIdentifications__73dc51af3bc7c1ed = '\0'; EXPORT t89 _Revelation__GenSubtypeChecks (); EXPORT char VS_Revelation__GenSubtypeChecks__3a0acd522c25718b = '\0'; #line 10 EXPORT t89 _Revelation__Initialize (); EXPORT char VS_Revelation__Initialize__a4fefaa52844954c = '\0'; PRIVATE TYPE TC_Revelation__T; #line 10 PRIVATE TYPE TC_Revelation__List; PRIVATE t3 _Revelation__all; PRIVATE t8 _Revelation__top; PRIVATE t89 _Revelation__New (); #line 10 PRIVATE t89 _Revelation__BindLHS (); PRIVATE t89 _Revelation__BindRHS (); PRIVATE t89 _Revelation__DoCheck (); PRIVATE t10 _Revelation__typeMap; #line 10 PRIVATE t9 _Revelation__fpWriter; PRIVATE t7 _Revelation__fpBusy; PRIVATE t89 _Revelation__DeclareOne (); EXPORT char VS_Revelation__Set__d02cfcc33d79ff8a = '\0'; #line 10 void Revelation__MMap (p) void (*p) (); { ADDRESS r = NIL; ADDRESS c = NIL; CHECKSTACKOVERFLOW; p (& (_Revelation__fpWriter), r, c); #line 10 }; #line 49 "Revelation.m3" EXPORT t8 _Revelation__PushNew () { t8 z0; t8 z2; #line 49 "Revelation.m3" { auto t8 _s; auto t8 __result; { CHECKSTACKOVERFLOW; { register t22* ptr = (t22*) UNEW (TC8); z0 = (t8) ptr; }; _s = z0; NILCHECKA (z2 = _s); ((*((t22*) z2))._next) = _Revelation__top; NILCHECKA (z2 = _s); ((*((t22*) z2))._idents) = (t3) 0; _Revelation__top = _s; __result = _s; return __result; } } }; #line 59 "Revelation.m3" EXPORT t89 _Revelation__Push (_s) t8 _s; { t7 z2; t7 z0; t8 z3; t7 z5; #line 59 "Revelation.m3" { { CHECKSTACKOVERFLOW; z2 = (_s != 0); z0 = 0; if (z2) { NILCHECKA (z3 = _s); z5 = (((*((t22*) z3))._next) == 0); z0 = z5; }; if (!z0) ASSERTFAULT; NILCHECKA (z3 = _s); ((*((t22*) z3))._next) = _Revelation__top; _Revelation__top = _s; } } }; #line 66 "Revelation.m3" EXPORT t89 _Revelation__Pop () { t8 z1; t8 z2; #line 66 "Revelation.m3" { auto t8 _s; { CHECKSTACKOVERFLOW; _s = _Revelation__top; NILCHECKA (z1 = _s); _Revelation__top = ((*((t22*) z1))._next); NILCHECKA (z2 = _s); ((*((t22*) z2))._next) = (t8) 0; } } }; #line 74 "Revelation.m3" EXPORT t89 _Revelation__Parse (_fail, _att) t17 * _fail; t19 _att; { t17 z3; t2 z4; t17 z5; t17 z1; t2 z2; t7 z6; t16 z7; t12 z8; #line 74 "Revelation.m3" { auto t17 _fail2; auto t16 _id; auto t16 _id2; auto t2 _loc; { CHECKSTACKOVERFLOW; if ((_att._isExternal)) { _Error__Msg (((ADDRESS)(& txt1.str))); goto if_1_end; }; if_1_end: /**/; if ((_att._isInline)) { _Error__Msg (((ADDRESS)(& txt2.str))); goto if_2_end; }; if_2_end: /**/; if ((_att._isObsolete)) { _Error__Msg (((ADDRESS)(& txt3.str))); goto if_3_end; }; if_3_end: /**/; if ((_att._isUnused)) { _Error__Msg (((ADDRESS)(& txt4.str))); goto if_4_end; }; if_4_end: /**/; z3.elts [0] = 0x00008000; z3.elts [1] = 0; z3.elts [2] = 0; z3.elts [3] = 0; z5 = z3; _Scanner__Match ( 83 , &(*_fail), &z5); z1.elts [0] = 0x00008000; z1.elts [1] = 0; z1.elts [2] = 0; z1.elts [3] = 0; z3.elts[0] = (*_fail).elts[0] | z1.elts[0]; #line 84 z3.elts[1] = (*_fail).elts[1] | z1.elts[1]; z3.elts[2] = (*_fail).elts[2] | z1.elts[2]; z3.elts[3] = (*_fail).elts[3] | z1.elts[3]; #line 84 _fail2.elts[0] = z3.elts[0]; _fail2.elts[1] = z3.elts[1]; _fail2.elts[2] = z3.elts[2]; _fail2.elts[3] = z3.elts[3]; z6 = ((_Scanner__cur._token) == 1 ); if (z6) do { _id2 = (t16) 0; z3.elts [0] = 0x00102000; z3.elts [1] = 0x00000001; z3.elts [2] = 0; z3.elts [3] = 0; z5.elts[0] = _Token__TypeStart.elts[0] | z3.elts[0]; #line 87 z5.elts[1] = _Token__TypeStart.elts[1] | z3.elts[1]; z5.elts[2] = _Token__TypeStart.elts[2] | z3.elts[2]; z5.elts[3] = _Token__TypeStart.elts[3] | z3.elts[3]; #line 87 z3 = z5; z7 = _Scanner__MatchID (&_fail2, &z3); _id = z7; z6 = ((_Scanner__cur._token) == 13 ); if (z6) { _Scanner__GetToken (); _id2 = _id; z3.elts [0] = 0x00100000; z3.elts [1] = 0x00000001; z3.elts [2] = 0; z3.elts [3] = 0; z5 = z3; z7 = _Scanner__MatchID (&_fail2, &z5); #line 92 _id = z7; goto if_5_end; }; if_5_end: /**/; _loc = _Scanner__offset; { register t18 e = (_Scanner__cur._token); if (e < 20) goto c1_else; if (e <= 20) goto c1_0; if (e < 32) goto c1_else; #line 95 if (e <= 32) goto c1_1; goto c1_else; c1_0:; _Scanner__GetToken (); z8 = _Type__Parse (&_fail2); _Revelation__New (_id2, _id, z8, 1 , _loc); goto c1_exit; c1_1:; _Scanner__GetToken (); z8 = _Type__Parse (&_fail2); _Revelation__New (_id2, _id, z8, 0 , _loc); goto c1_exit; c1_else:; _Scanner__Fail (((ADDRESS)(& txt5.str)), &(*_fail)); c1_exit: /* exit */; }; z3.elts [0] = 0; z3.elts [1] = 0; z3.elts [2] = 0; z3.elts [3] = 0; z5 = z3; _Scanner__Match ( 15 , &(*_fail), &z5); #line 104 z6 = ((_Scanner__cur._token) == 1 ); } while (z6); } } }; #line 108 "Revelation.m3" PRIVATE t89 _Revelation__New (_module, _name, _value, _eq, _loc) t16 _module; t16 _name; t12 _value; t7 _eq; t2 _loc; { t4 z0; t4 z2; t3 z1; t8 z3; t3 z4; #line 108 "Revelation.m3" { auto t4 _t; auto t3 _l; { CHECKSTACKOVERFLOW; { register t25* ptr = (t25*) UNEW (TC4); z0 = (t4) ptr; }; _t = z0; NILCHECKA (z2 = _t); (((*((t25*) z2))._qid)._module) = _module; NILCHECKA (z2 = _t); (((*((t25*) z2))._qid)._item) = _name; NILCHECKA (z2 = _t); ((*((t25*) z2))._obj) = (t15) 0; NILCHECKA (z2 = _t); ((*((t25*) z2))._value) = _value; NILCHECKA (z2 = _t); ((*((t25*) z2))._opaque) = (t12) 0; NILCHECKA (z2 = _t); ((*((t25*) z2))._equal) = _eq; NILCHECKA (z2 = _t); ((*((t25*) z2))._bound) = 0 ; NILCHECKA (z2 = _t); ((*((t25*) z2))._inBind) = 0 ; NILCHECKA (z2 = _t); ((*((t25*) z2))._checked) = 0 ; NILCHECKA (z2 = _t); ((*((t25*) z2))._depth) = _Module__depth; NILCHECKA (z2 = _t); ((*((t25*) z2))._origin) = _loc; { register t23* ptr = (t23*) UNEW (TC3); z1 = (t3) ptr; }; _l = z1; NILCHECKA (z3 = _Revelation__top); NILCHECKA (z4 = _l); ((*((t23*) z4))._next) = ((*((t22*) z3))._idents); NILCHECKA (z3 = _Revelation__top); #line 126 ((*((t22*) z3))._idents) = _l; NILCHECKA (z4 = _l); ((*((t23*) z4))._ident) = _t; NILCHECKA (z4 = _l); ((*((t23*) z4))._local) = 1 ; NILCHECKA (z4 = _l); ((*((t23*) z4))._used) = 0 ; { register t23* ptr = (t23*) UNEW (TC3); z1 = (t3) ptr; }; _l = z1; NILCHECKA (z4 = _l); ((*((t23*) z4))._next) = _Revelation__all; _Revelation__all = _l; NILCHECKA (z4 = _l); ((*((t23*) z4))._ident) = _t; } } }; #line 137 "Revelation.m3" EXPORT t89 _Revelation__Inherit (_s) t8 _s; { t8 z1; t7 z2; t3 z0; t3 z4; t8 z3; t3 z5; #line 137 "Revelation.m3" { auto t3 _x; auto t3 _y; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _s); _x = ((*((t22*) z1))._idents); z2 = (_x != 0); if (z2) do { { register t23* ptr = (t23*) UNEW (TC3); z0 = (t3) ptr; }; _y = z0; NILCHECKA (z1 = _Revelation__top); NILCHECKA (z4 = _y); ((*((t23*) z4))._next) = ((*((t22*) z1))._idents); NILCHECKA (z3 = _Revelation__top); #line 143 ((*((t22*) z3))._idents) = _y; NILCHECKA (z4 = _x); NILCHECKA (z5 = _y); ((*((t23*) z5))._ident) = ((*((t23*) z4))._ident); NILCHECKA (z4 = _y); ((*((t23*) z4))._local) = 0 ; NILCHECKA (z4 = _y); ((*((t23*) z4))._used) = 0 ; NILCHECKA (z4 = _x); _x = ((*((t23*) z4))._next); z2 = (_x != 0); } while (z2); } } }; #line 151 "Revelation.m3" EXPORT t89 _Revelation__Bind (_s) t8 _s; { t8 z1; t7 z2; t3 z3; #line 151 "Revelation.m3" { auto t3 _l; auto t2 _save; { CHECKSTACKOVERFLOW; _save = _Scanner__offset; NILCHECKA (z1 = _s); _l = ((*((t22*) z1))._idents); z2 = (_l != 0); if (z2) do { NILCHECKA (z3 = _l); _Revelation__BindLHS (((*((t23*) z3))._ident)); NILCHECKA (z3 = _l); #line 156 _l = ((*((t23*) z3))._next); z2 = (_l != 0); } while (z2); NILCHECKA (z1 = _s); _l = ((*((t22*) z1))._idents); z2 = (_l != 0); if (z2) do { NILCHECKA (z3 = _l); _Revelation__BindRHS (((*((t23*) z3))._ident)); NILCHECKA (z3 = _l); #line 159 _l = ((*((t23*) z3))._next); z2 = (_l != 0); } while (z2); _Scanner__offset = _save; } } }; #line 163 "Revelation.m3" PRIVATE t89 _Revelation__BindLHS (_t) t4 _t; { t4 z1; t7 z3; t4 z2; t15 z4; t65 z5; t12 z6; t7 z7; #line 163 "Revelation.m3" { auto t15 _obj; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); if (((*((t25*) z1))._bound)) { return; }; NILCHECKA (z1 = _t); z3 = ! ((*((t25*) z1))._checked); if (!z3) ASSERTFAULT; NILCHECKA (z1 = _t); _Scanner__offset = ((*((t25*) z1))._origin); NILCHECKA (z1 = _t); if (((*((t25*) z1))._inBind)) { NILCHECKA (z2 = _t); _Error__QID (&((*((t25*) z2))._qid), ((ADDRESS)(& txt8.str))); return; }; NILCHECKA (z2 = _t); ((*((t25*) z2))._inBind) = 1 ; NILCHECKA (z2 = _t); z4 = _Scope__LookUpQID (&((*((t25*) z2))._qid)); _obj = z4; NILCHECKA (z2 = _t); ((*((t25*) z2))._obj) = _obj; z3 = (_obj == 0); if (z3) { NILCHECKA (z2 = _t); _Error__QID (&((*((t25*) z2))._qid), ((ADDRESS)(& txt9.str))); NILCHECKA (z1 = _t); ((*((t25*) z1))._opaque) = ((*((t25*) z1))._value); goto if_8_end; }; z5 = _Value__ClassOf (_obj); #line 178 z3 = (z5 != 2 ); if (z3) { NILCHECKA (z2 = _t); _Error__QID (&((*((t25*) z2))._qid), ((ADDRESS)(& txt10.str))); NILCHECKA (z1 = _t); ((*((t25*) z1))._opaque) = ((*((t25*) z1))._value); goto if_8_end; }; z6 = _Value__ToType (_obj); NILCHECKA (z1 = _t); ((*((t25*) z1))._opaque) = z6; NILCHECKA (z1 = _t); z3 = 0; if (((*((t25*) z1))._equal)) { NILCHECKA (z1 = _t); z7 = (((*((t25*) z1))._depth) != 1 ); #line 184 z3 = z7; }; if (z3) { NILCHECKA (z2 = _t); _Type__NoteDeclaration (((*((t25*) z2))._value), _obj); goto if_9_end; }; if_9_end: /**/; #line 186 if_8_end: /**/; NILCHECKA (z2 = _t); ((*((t25*) z2))._inBind) = 0 ; } } }; #line 192 "Revelation.m3" PRIVATE t89 _Revelation__BindRHS (_t) t4 _t; { t4 z1; t7 z3; t4 z2; t12 z4; #line 192 "Revelation.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); if (((*((t25*) z1))._bound)) { return; }; NILCHECKA (z1 = _t); z3 = ! ((*((t25*) z1))._checked); if (!z3) ASSERTFAULT; NILCHECKA (z1 = _t); _Scanner__offset = ((*((t25*) z1))._origin); NILCHECKA (z1 = _t); if (((*((t25*) z1))._inBind)) { NILCHECKA (z2 = _t); _Error__QID (&((*((t25*) z2))._qid), ((ADDRESS)(& txt8.str))); NILCHECKA (z2 = _t); ((*((t25*) z2))._bound) = 1 ; return; }; NILCHECKA (z2 = _t); ((*((t25*) z2))._inBind) = 1 ; NILCHECKA (z2 = _t); z4 = _Type__Bind (((*((t25*) z2))._opaque)); NILCHECKA (z1 = _t); ((*((t25*) z1))._opaque) = z4; NILCHECKA (z2 = _t); z4 = _Type__Bind (((*((t25*) z2))._value)); NILCHECKA (z1 = _t); ((*((t25*) z1))._value) = z4; NILCHECKA (z2 = _t); ((*((t25*) z2))._inBind) = 0 ; NILCHECKA (z2 = _t); ((*((t25*) z2))._bound) = 1 ; } } }; #line 209 "Revelation.m3" EXPORT t89 _Revelation__TypeCheck (_s) t8 _s; { t8 z1; t7 z2; t3 z3; #line 209 "Revelation.m3" { auto t3 _l; auto t2 _save; { CHECKSTACKOVERFLOW; _save = _Scanner__offset; NILCHECKA (z1 = _s); _l = ((*((t22*) z1))._idents); z2 = (_l != 0); if (z2) do { NILCHECKA (z3 = _l); _Revelation__DoCheck (((*((t23*) z3))._ident)); NILCHECKA (z3 = _l); #line 214 _l = ((*((t23*) z3))._next); z2 = (_l != 0); } while (z2); _Scanner__offset = _save; } } }; #line 218 "Revelation.m3" PRIVATE t89 _Revelation__DoCheck (_t) t4 _t; { t4 z1; t4 z2; t7 z4; t7 z0; t4 z5; t12 z6; t7 z3; #line 218 "Revelation.m3" { auto t12 _type; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); if (((*((t25*) z1))._checked)) { return; }; NILCHECKA (z1 = _t); if (!((*((t25*) z1))._bound)) ASSERTFAULT; NILCHECKA (z1 = _t); _Scanner__offset = ((*((t25*) z1))._origin); NILCHECKA (z1 = _t); _type = ((*((t25*) z1))._value); _Type__Check (_type); NILCHECKA (z2 = _t); _Type__Check (((*((t25*) z2))._opaque)); NILCHECKA (z2 = _t); z4 = _OpaqueType__Is (((*((t25*) z2))._opaque)); z0 = ! z4; if (z0) { NILCHECKA (z2 = _t); _Error__QID (&((*((t25*) z2))._qid), ((ADDRESS)(& txt11.str))); goto if_13_end; }; NILCHECKA (z5 = _t); #line 228 z6 = _OpaqueType__Super (((*((t25*) z5))._opaque)); z3 = _Type__IsSubtype (_type, z6); z0 = ! z3; if (z0) { NILCHECKA (z2 = _t); _Error__QID (&((*((t25*) z2))._qid), ((ADDRESS)(& txt12.str))); goto if_13_end; }; if_13_end: /**/; NILCHECKA (z1 = _t); if (((*((t25*) z1))._equal)) { z3 = _RefType__IsBranded (_type); z0 = 1; if (! z3) { z3 = _ObjectType__IsBranded (_type); z0 = z3; }; z3 = ! z0; #line 233 if (z3) { NILCHECKA (z2 = _t); _Error__QID (&((*((t25*) z2))._qid), ((ADDRESS)(& txt13.str))); goto if_15_end; }; if_15_end: /**/; #line 235 goto if_14_end; }; if_14_end: /**/; NILCHECKA (z2 = _t); ((*((t25*) z2))._checked) = 1 ; } } }; #line 241 "Revelation.m3" EXPORT t12 _Revelation__LookUp (_key) t12 _key; { t8 z1; t7 z2; t3 z3; t4 z4; t7 z5; t7 z0; #line 241 "Revelation.m3" { auto t4 _t; auto t3 _l; auto t2 _save; auto t12 __result; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _Revelation__top); _l = ((*((t22*) z1))._idents); z2 = (_l != 0); if (z2) do { NILCHECKA (z3 = _l); _t = ((*((t23*) z3))._ident); NILCHECKA (z4 = _t); z5 = (((*((t25*) z4))._value) == 0); z0 = 1; if (! z5) { NILCHECKA (z4 = _t); z5 = (((*((t25*) z4))._opaque) != 0); #line 247 z0 = z5; }; if (!z0) ASSERTFAULT; NILCHECKA (z4 = _t); z2 = 0; if (((*((t25*) z4))._equal)) { NILCHECKA (z4 = _t); z5 = (((*((t25*) z4))._opaque) == _key); #line 248 z2 = z5; }; if (z2) { NILCHECKA (z3 = _l); ((*((t23*) z3))._used) = 1 ; NILCHECKA (z4 = _t); z2 = ! ((*((t25*) z4))._bound); if (z2) { _save = _Scanner__offset; _Revelation__BindRHS (_t); _Scanner__offset = _save; goto if_17_end; }; if_17_end: /**/; NILCHECKA (z4 = _t); __result = ((*((t25*) z4))._value); return __result; }; NILCHECKA (z3 = _l); _l = ((*((t23*) z3))._next); z2 = (_l != 0); } while (z2); __result = 0; return __result; } } }; #line 263 "Revelation.m3" EXPORT t11 _Revelation__LookUpAll (_key) t12 _key; { t8 z1; t7 z2; t3 z3; t4 z4; t7 z5; t7 z0; t11 z6; #line 263 "Revelation.m3" { auto t4 _t; auto t3 _l; auto t11 _matches; auto t11 _z; auto t2 _save; auto t11 __result; { CHECKSTACKOVERFLOW; _matches = (t11) 0; NILCHECKA (z1 = _Revelation__top); _l = ((*((t22*) z1))._idents); z2 = (_l != 0); if (z2) do { NILCHECKA (z3 = _l); _t = ((*((t23*) z3))._ident); NILCHECKA (z4 = _t); z5 = (((*((t25*) z4))._value) == 0); z0 = 1; if (! z5) { NILCHECKA (z4 = _t); z5 = (((*((t25*) z4))._opaque) != 0); #line 270 z0 = z5; }; if (!z0) ASSERTFAULT; NILCHECKA (z4 = _t); z5 = (((*((t25*) z4))._opaque) == _key); if (z5) { NILCHECKA (z3 = _l); ((*((t23*) z3))._used) = 1 ; NILCHECKA (z4 = _t); z2 = ! ((*((t25*) z4))._bound); if (z2) { _save = _Scanner__offset; _Revelation__BindRHS (_t); _Scanner__offset = _save; goto if_19_end; }; if_19_end: /**/; { register t68* ptr = (t68*) UNEW (TC11); z6 = (t11) ptr; }; _z = z6; NILCHECKA (z6 = _z); ((*((t68*) z6))._next) = _matches; NILCHECKA (z4 = _t); NILCHECKA (z6 = _z); ((*((t68*) z6))._type) = ((*((t25*) z4))._value); _matches = _z; goto if_18_end; }; if_18_end: /**/; NILCHECKA (z3 = _l); _l = ((*((t23*) z3))._next); z2 = (_l != 0); } while (z2); __result = _matches; return __result; } } }; #line 295 "Revelation.m3" EXPORT t89 _Revelation__Declare (_s) t8 _s; { t7 z1; t7 z2; t10 z3; t26 z4; t8 z5; t3 z6; #line 295 "Revelation.m3" { auto t3 _l; { CHECKSTACKOVERFLOW; z1 = ! _Revelation__fpBusy; if (!z1) ASSERTFAULT; _Revelation__fpBusy = 1 ; z2 = (_Revelation__typeMap == 0); if (z2) { z3 = _Type__NewMap (); _Revelation__typeMap = z3; z4 = _TextWr__New (); _Revelation__fpWriter = (t9) z4; goto if_20_end; }; if_20_end: /**/; NILCHECKA (z5 = _s); _l = ((*((t22*) z5))._idents); z2 = (_l != 0); if (z2) do { NILCHECKA (z6 = _l); if (((*((t23*) z6))._used)) { NILCHECKA (z6 = _l); _Revelation__DeclareOne (((*((t23*) z6))._ident), ((*((t23*) z6))._local)); #line 307 goto if_21_end; }; if_21_end: /**/; NILCHECKA (z6 = _l); _l = ((*((t23*) z6))._next); z2 = (_l != 0); } while (z2); _Revelation__fpBusy = 0 ; } } }; #line 314 "Revelation.m3" PRIVATE t89 _Revelation__DeclareOne (_t, _local) t4 _t; t7 _local; { t4 z2; t2 z0; t10 z3; t2 z4; t2 z5; t4 z1; t26 z6; t6 z7; t5 z8; t7 z9; t7 z10; t4 z11; #line 314 "Revelation.m3" { auto t6 _fpText; auto t5 _fprint; { ZERO1 (& _fpText); #line 314 CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); _Value__Declare0 (((*((t25*) z2))._obj)); { int from, to, index; from = 0 ; NILCHECKB (z3 = _Revelation__typeMap); z0 = (*((t29*) z3)).size[0] - 1; to = z0; #line 319 { auto t2 _i; { for (index = from; index <= to; index += 1) { _i = (t2) index; NILCHECKB (z3 = _Revelation__typeMap); #line 319 { register t77* array = & (*((t29*) z3)); z5 = _i; if (z5 >= (array->size[0])) RANGEFAULT; z4 = (int)(array->elts + (z5 * 4)); #line 319 }; (*(t2*)z4) = 0 ; } } }; }; if (_Host__versionStamps) { NILCHECKA (z1 = _t); if (((*((t25*) z1))._equal)) { _Wr__PutText (_Revelation__fpWriter, ((ADDRESS)(& txt14.str))); goto if_23_end; }; _Wr__PutText (_Revelation__fpWriter, ((ADDRESS)(& txt15.str))); if_23_end: /**/; NILCHECKA (z2 = _t); _Type__Fingerprint (((*((t25*) z2))._value), _Revelation__typeMap, _Revelation__fpWriter); z6 = NARROW (_Revelation__fpWriter, t26, TC26, z6); z7 = _TextWr__ToText (z6); _fpText = z7; _FPrint__FromText (_fpText, &z8); _fprint = z8; z9 = 0; if (_local) { z10 = (_Host__incrementalVersion < 1 ); z9 = z10; }; if (z9) { _Emit__Op (((ADDRESS)(& txt16.str))); goto if_24_end; }; _Emit__Op (((ADDRESS)(& txt17.str))); if_24_end: /**/; NILCHECKA (z11 = _t); _Emit__OpN (((ADDRESS)(& txt18.str)), ((*((t25*) z11))._obj)); _Emit__OpHH (((ADDRESS)(& txt19.str)), (_fprint.elts[ 0 ]), (_fprint.elts[ 1 ])); z9 = 0; if (_local) { z10 = (_Host__incrementalVersion < 1 ); z9 = z10; }; if (z9) { _Emit__Op (((ADDRESS)(& txt20.str))); goto if_25_end; }; if_25_end: /**/; _Emit__Op (((ADDRESS)(& txt21.str))); if (_Host__verbose) { _Emit__Comment (_fpText); goto if_26_end; }; if_26_end: /**/; goto if_22_end; }; if_22_end: /**/; #line 340 } } }; #line 344 "Revelation.m3" EXPORT t89 _Revelation__GenIdentifications () { t7 z2; t3 z1; t4 z3; t7 z4; t7 z0; t2 z5; #line 344 "Revelation.m3" { auto t4 _t; auto t3 _l; auto t2 _i; auto t2 _j; auto t2 _save; { CHECKSTACKOVERFLOW; _save = _Scanner__offset; _l = _Revelation__all; z2 = (_l != 0); if (z2) do { NILCHECKA (z1 = _l); _t = ((*((t23*) z1))._ident); NILCHECKA (z3 = _t); z4 = (((*((t25*) z3))._depth) == 1 ); z0 = 0; if (z4) { NILCHECKA (z3 = _t); z0 = ((*((t25*) z3))._equal); #line 351 }; if (z0) { NILCHECKA (z3 = _t); _Scanner__offset = ((*((t25*) z3))._origin); NILCHECKA (z3 = _t); z5 = _Type__Name (((*((t25*) z3))._opaque)); _i = z5; NILCHECKA (z3 = _t); z5 = _Type__Name (((*((t25*) z3))._value)); _j = z5; _Emit__OpII (((ADDRESS)(& txt6.str)), _i, _j); goto if_27_end; }; if_27_end: /**/; NILCHECKA (z1 = _l); _l = ((*((t23*) z1))._next); z2 = (_l != 0); } while (z2); _Scanner__offset = _save; } } }; #line 363 "Revelation.m3" EXPORT t89 _Revelation__GenSubtypeChecks () { t7 z2; t3 z1; t4 z3; t7 z4; t7 z0; t2 z5; #line 363 "Revelation.m3" { auto t4 _t; auto t3 _l; auto t2 _i; auto t2 _j; auto t2 _save; { CHECKSTACKOVERFLOW; _save = _Scanner__offset; _l = _Revelation__all; z2 = (_l != 0); if (z2) do { NILCHECKA (z1 = _l); _t = ((*((t23*) z1))._ident); NILCHECKA (z3 = _t); z4 = (((*((t25*) z3))._depth) == 1 ); z0 = 0; if (z4) { NILCHECKA (z3 = _t); z4 = ! ((*((t25*) z3))._equal); #line 370 z0 = z4; }; if (z0) { NILCHECKA (z3 = _t); _Scanner__offset = ((*((t25*) z3))._origin); NILCHECKA (z3 = _t); z5 = _Type__Name (((*((t25*) z3))._opaque)); _i = z5; NILCHECKA (z3 = _t); z5 = _Type__Name (((*((t25*) z3))._value)); _j = z5; _Emit__OpII (((ADDRESS)(& txt7.str)), _i, _j); goto if_28_end; }; if_28_end: /**/; NILCHECKA (z1 = _l); _l = ((*((t23*) z1))._next); z2 = (_l != 0); } while (z2); _Scanner__offset = _save; } } }; #line 382 "Revelation.m3" EXPORT t89 _Revelation__Initialize () { t3 z0; t8 z1; t8 z2; #line 382 "Revelation.m3" { { CHECKSTACKOVERFLOW; { register t23* ptr = (t23*) UNEW (TC3); z0 = (t3) ptr; }; _Revelation__all = z0; _Revelation__all = (t3) 0; { register t22* ptr = (t22*) UNEW (TC8); z1 = (t8) ptr; }; _Revelation__top = z1; NILCHECKA (z2 = _Revelation__top); #line 385 ((*((t22*) z2))._idents) = (t3) 0; NILCHECKA (z2 = _Revelation__top); ((*((t22*) z2))._next) = (t8) 0; } } }; PRIVATE int init_done = -1; #line 385 "Revelation.m3" PRIVATE void Revelation__initProc (g) int g; { #line 385 "Revelation.m3" if (init_done >= g) return; init_done = g; INITIALIZE (& Revelation__init); INITIALIZE (& Scanner__init); INITIALIZE (& Decl__init); #line 385 INITIALIZE (& TextWr__init); INITIALIZE (& Wr__init); INITIALIZE (& FPrint__init); INITIALIZE (& Text__init); INITIALIZE (& Host__init); #line 385 INITIALIZE (& Token__init); INITIALIZE (& Emit__init); INITIALIZE (& RefType__init); INITIALIZE (& ObjectType__init); INITIALIZE (& Scope__init); #line 385 INITIALIZE (& OpaqueType__init); INITIALIZE (& Error__init); INITIALIZE (& Module__init); INITIALIZE (& Type__init); INITIALIZE (& Value__init); #line 385 INITIALIZE (& String__init); #line 291 ZERO1 (& _Revelation__fpWriter); ZERO1B (& _Revelation__fpBusy); #line 290 ZERO1 ((& _Revelation__typeMap)); #line 385 return; }; #line 385 "Revelation.m3" PRIVATE void t3_PrintProc (ref) t23* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC3->brand); fprintf (stderr, "^ = { "); #line 385 fprintf (stderr, "next = %#x", (*ref)._next); fprintf (stderr, "ident = %#x", (*ref)._ident); fprintf (stderr, "local = %d", (*ref)._local); #line 385 fprintf (stderr, "used = %d", (*ref)._used); fprintf (stderr, "}"); fprintf (stderr, "}\n"); }; #line 385 "Revelation.m3" PRIVATE void t4_PrintProc (ref) t25* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC4->brand); fprintf (stderr, "^ = { "); #line 385 fprintf (stderr, "qid = { "); fprintf (stderr, "module = %#x", (*ref)._qid._module); fprintf (stderr, "item = %#x", (*ref)._qid._item); #line 385 fprintf (stderr, "}"); fprintf (stderr, "obj = %#x", (*ref)._obj); fprintf (stderr, "value = %#x", (*ref)._value); fprintf (stderr, "opaque = %#x", (*ref)._opaque); #line 385 fprintf (stderr, "equal = %d", (*ref)._equal); fprintf (stderr, "bound = %d", (*ref)._bound); fprintf (stderr, "inBind = %d", (*ref)._inBind); #line 385 fprintf (stderr, "checked = %d", (*ref)._checked); fprintf (stderr, "depth = %d", (*ref)._depth); fprintf (stderr, "origin = %d", (*ref)._origin); #line 385 fprintf (stderr, "}"); fprintf (stderr, "}\n"); }; #line 385 "Revelation.m3" PRIVATE void t21_PrintProc (ref) t22* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC21->brand); fprintf (stderr, "^ = { "); #line 385 fprintf (stderr, "idents = %#x", (*ref)._idents); fprintf (stderr, "next = %#x", (*ref)._next); fprintf (stderr, "}"); #line 385 fprintf (stderr, "}\n"); }; PRIVATE INITLINK me_0 ={(INITLINK*)NIL, 0, Revelation__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_TextWr__T__aa7fbe4a3afd8be5, &VS_TextWr__New__b2aced2f341cea58, &VS_TextWr__ToText__07606fcd3a0c5476, &VS_Thread__Alerted__fc88feb43485af46, &VS_Wr__T__2555b70b3f7780b1, &VS_Wr__Failure__5f82cfb43dabf527, &VS_Wr__Error__c367253d3ed4fd15, &VS_Wr__PutText__e034dab73a793846, &VS_FPrint__FromText__0bb4e38c3c08e10e, &VS_Text__T__fc4b369f3ab271fd, &VS_Host__verbose__446e4df03fef5543, &VS_Host__versionStamps__349a7ae73215b586, &VS_Host__incrementalVersion__1798bcf82af0e178, &VS_Token__DeclStart__730c82bc2c2001b8, &VS_Token__TypeStart__f71616cb38a20d02, &VS_Token__ExprStart__21dc8a0a27344836, &VS_Emit__MaxStream__cf0a0e8934c9c9f3, &VS_Emit__Format__bc4a2b083b93bbd7, &VS_Emit__Op__072646cc27c8ae10, &VS_Emit__OpII__2247fe46332f901b, &VS_Emit__OpN__a3f6e37c396e144c, &VS_Emit__OpHH__5077280930ca83a5, &VS_Emit__Comment__fa6bac093f4e04bf, &VS_RefType__IsBranded__50ce8cd22d744a7b, &VS_ObjectType__IsBranded__bf3c65d12b324b94, &VS_Scope__T__3a6c7dc12615e4ee, &VS_Scope__ValueList__64bf053e22e4e53c, &VS_Scope__LookUpQID__725ce38220cfad93, &VS_OpaqueType__Is__fc6b19392bae1e5e, &VS_OpaqueType__Super__77b460cc2d28036a, &VS_Error__Msg__4d119a332467757f, &VS_Error__QID__84a7ccd932b81b86, &VS_Module__T__be7ead4a3afd8be5, &VS_Module__depth__a65bb56937bd5d03, &VS_Type__T__2446b70b3f7780a5, &VS_Type__Map__41dd9f4b33104fce, &VS_Type__List__5791758e343becc1, &VS_Type__Parse__603df5e3247e0b72, &VS_Type__NoteDeclaration__363e372920d41f99, &VS_Type__Bind__3443ccd12eedb9e8, &VS_Type__Check__3c8ceb09206ee440, &VS_Type__Name__f99416972257a869, &VS_Type__IsSubtype__8591fba5245cb882, &VS_Type__NewMap__910bd76d2e20a383, &VS_Type__Fingerprint__0d24a3463c25e166, &VS_Value__T__2446b70b3f7780a5, &VS_Value__Declare0__c5e792dc3048d136, &VS_Value__ClassOf__9c68d87829345fcf, &VS_Value__ToType__360f3f043a5eeebd, &VS_String__T__3a6c7dc12615e4ee, &VS_Revelation__Set__d30dba392ce2e71e, &VS_Scanner__cur__929fa6f8367ea415, &VS_Scanner__MatchID__4fb3c66f3429afd9, &VS_Scanner__Match__aaf5b32f2f19a6d8, &VS_Scanner__Fail__a15a8cf32391aa62, &VS_Scanner__GetToken__192100a32c7e576d, NIL }; void Revelation__MLink (phase) int phase; { switch (phase) { case 0: { me_0.link = Revelation__init; Revelation__init = & me_0; t3_TC = t3_TC_init; REGISTERTYPE (TC3); t4_TC = t4_TC_init; REGISTERTYPE (TC4); t21_TC = t21_TC_init; REGISTERTYPE (TC21); break; }; case 1: { #line 40 "Revelation.m3" IDENTIFYTYPES (TC8, TC21); break; }; case 2: { break; }; }; };