#include "M3Runtime.h" typedef struct { int tc; char* str; int len; } TXT; PRIVATE TXT txt1 = { 3, "procedure declaration cannot include a body", 44}; PRIVATE TXT txt2 = { 3, "external procedure cannot include a body", 41}; PRIVATE TXT txt3 = { 3, "Initial name doesn\047t match final name", 38}; PRIVATE TXT txt4 = { 3, "expecting \047=\047 before procedure body", 36}; PRIVATE TXT txt5 = { 3, "procedure declaration must include a body", 42}; PRIVATE TXT txt6 = { 3, "_result", 8}; PRIVATE TXT txt7 = { 3, "\012\012", 3}; PRIVATE TXT txt8 = { 3, "void ", 6}; PRIVATE TXT txt9 = { 3, "t@ ", 4}; PRIVATE TXT txt10 = { 3, " ();\012", 6}; PRIVATE TXT txt11 = { 3, "/*** begin inline @ ***/\012", 26}; PRIVATE TXT txt12 = { 3, "{\001\012", 4}; PRIVATE TXT txt13 = { 3, "* ", 3}; PRIVATE TXT txt14 = { 3, "arg@;\012", 7}; PRIVATE TXT txt15 = { 3, "arg@ = ", 8}; PRIVATE TXT txt16 = { 3, "@;\012", 4}; PRIVATE TXT txt17 = { 3, "& (@);\012", 8}; PRIVATE TXT txt18 = { 3, "@ = ", 5}; PRIVATE TXT txt19 = { 3, "*arg@;\012", 8}; PRIVATE TXT txt20 = { 3, "proc_", 6}; PRIVATE TXT txt21 = { 3, "RETURNFAULT;\012", 14}; PRIVATE TXT txt22 = { 3, "\002};\012", 5}; PRIVATE TXT txt23 = { 3, "/*** end inline @ ***/\012", 24}; PRIVATE TXT txt24 = { 3, "builtin operation is not a procedure", 37}; PRIVATE TXT txt25 = { 3, "@", 2}; PRIVATE TXT txt26 = { 3, "\012", 2}; PRIVATE TXT txt27 = { 3, "EXPORT t@ (*", 13}; PRIVATE TXT txt28 = { 3, "_relay) () = 0;\012", 17}; PRIVATE TXT txt29 = { 3, "IMPORT t@ (*", 13}; PRIVATE TXT txt30 = { 3, "_relay) ();\012", 13}; PRIVATE TXT txt31 = { 3, " (\001", 4}; PRIVATE TXT txt32 = { 3, ",\012", 3}; PRIVATE TXT txt33 = { 3, "_return", 8}; PRIVATE TXT txt34 = { 3, "\002)\012", 4}; PRIVATE TXT txt35 = { 3, "t@* _return;\012", 14}; PRIVATE TXT txt36 = { 3, "{\012", 3}; PRIVATE TXT txt37 = { 3, "if (", 5}; PRIVATE TXT txt38 = { 3, "_relay != 0) { ", 16}; PRIVATE TXT txt39 = { 3, "return ", 8}; PRIVATE TXT txt40 = { 3, "_relay (\001", 10}; PRIVATE TXT txt41 = { 3, "\002);", 4}; PRIVATE TXT txt42 = { 3, " return;", 9}; PRIVATE TXT txt43 = { 3, "};\012", 4}; PRIVATE TXT txt44 = { 3, "CHECKSTACKOVERFLOW;\012", 21}; PRIVATE TXT txt45 = { 3, "function does not return a value", 33}; PRIVATE TXT txt46 = { 3, "procedure redefined", 20}; PRIVATE TXT txt47 = { 3, " ", 2}; #line 16 "../Interfaces/Type.i3" #define t5 ADDRESS #define t98 void typedef int t14; #line 37 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef struct { char* elts; int size[1]; } t93; #line 15 ".ROOT/.boots/corelib/Interfaces/FPrint.i3" #define t72 t93 #define TC5 TC_Type__Map IMPORT TYPE TC_Type__Map; #line 16 "../Interfaces/Type.i3" IMPORT char VS_Type__Map__41dd9f4b33104fce; #define t11 ADDRESS #define TC11 TC_NULL IMPORT TYPE TC_NULL; IMPORT char VS_NULL__fb50c7d53bec30dc; #line 17 "../Interfaces/Scope.i3" #define t21 ADDRESS #define t96 ADDRESS typedef struct { TYPE self; int private; } t96_methods; #define t96_msize (sizeof (t96_methods)) typedef struct { ADDRESS methods; } t96_fields; #define t96_size (sizeof (t96_fields)) #define TC96 TC_UNTRACED_ROOT IMPORT TYPE TC_UNTRACED_ROOT; IMPORT char VS_UNTRACED_ROOT__3e0964513fd6da20; #line 15 "../Interfaces/M3.i3" #define t12 ADDRESS #define TC12 TC_M3__Value IMPORT TYPE TC_M3__Value; #line 15 IMPORT char VS_M3__Value__6f64cf9c2cae25fb; #line 377 "Procedure.m3" #define t1 t93 #define TC21 TC_Scope__ValueList IMPORT TYPE TC_Scope__ValueList; #line 17 "../Interfaces/Scope.i3" IMPORT char VS_Scope__ValueList__64bf053e22e4e53c; #line 14 "../Interfaces/Expr.i3" #define t47 ADDRESS #define t19 ADDRESS #define TC19 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 t76 t93 #define TC47 TC_Expr__List IMPORT TYPE TC_Expr__List; #line 14 IMPORT char VS_Expr__List__3f87eceb2b9a246a; #line 18 "../Interfaces/ProcType.i3" #define t54 ADDRESS #define t74 ADDRESS #define TC74 TC_ADDRESS IMPORT TYPE TC_ADDRESS; IMPORT char VS_ADDRESS__30f7308738738b44; #line 13 "../Interfaces/String.i3" #define t30 ADDRESS #define TC30 TC_String__T IMPORT TYPE TC_String__T; #line 13 IMPORT char VS_String__T__3a6c7dc12615e4ee; typedef struct { t30 _module; t30 _item; } t55; #line 14 "../Interfaces/ProcType.i3" typedef struct { t54 _next; t55 _name; t12 _except; } t56; #define TC54 TC_ProcType__Raisee IMPORT TYPE TC_ProcType__Raisee; #line 18 IMPORT char VS_ProcType__Raisee__5fe771ff27c179d9; #define t64 ADDRESS #define TC64 TC_REFANY IMPORT TYPE TC_REFANY; IMPORT char VS_REFANY__4b8748e831fc107a; #line 17 "../Interfaces/Type.i3" #define t78 ADDRESS #define t3 ADDRESS #define TC3 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 { t78 _next; t3 _type; } t79; #define TC78 TC_Type__List IMPORT TYPE TC_Type__List; #line 17 IMPORT char VS_Type__List__5791758e343becc1; #line 510 "Procedure.m3" typedef signed_char t17; #line 65 "../Interfaces/Token.i3" #define t80 t93 typedef struct { t30 elts[100]; } t82; #line 17 "../Interfaces/String.i3" typedef struct { t14 _top; t82 _stk; } t2; #define t65 ADDRESS typedef struct { TYPE self; int private; } t65_methods; #define t65_msize (sizeof (t65_methods)) typedef struct { ADDRESS methods; } t65_fields; #define t65_size (sizeof (t65_fields)) #define TC65 TC_ROOT IMPORT TYPE TC_ROOT; IMPORT char VS_ROOT__349f58f628be0ac6; #define t65_MapProc TC_ROOT->mapProc #define t4 ADDRESS #define TC4 TC_Wr__T IMPORT TYPE TC_Wr__T; #line 90 ".ROOT/.boots/corelib/Interfaces/Wr.i3" IMPORT char VS_Wr__T__2555b70b3f7780b1; #define t4_MapProc TC_Wr__T->mapProc #define t6 ADDRESS #define TC6 TC_Procedure__T IMPORT TYPE TC_Procedure__T; #line 15 "./Procedure.i3" IMPORT char VS_Procedure__T__be7ead4a3afd8be5; #line 670 "Procedure.m3" typedef t98 (*t7)(); typedef unsigned char t8; #line 665 typedef t8 (*t9)(); #line 659 typedef t3 (*t10)(); #line 616 typedef t12 (*t13)(); #line 19 "../Interfaces/M3.i3" #define t15 ADDRESS #define TC15 TC_M3__Temp IMPORT TYPE TC_M3__Temp; #line 19 IMPORT char VS_M3__Temp__450b691937f03dae; #line 16 "../Interfaces/Stmt.i3" typedef unsigned char t67; typedef struct { int elts[1]; } t16; #line 510 "Procedure.m3" typedef struct { t12 elts[100]; } t18; #line 13 "./Formal.i3" typedef unsigned char t20; #line 501 "Procedure.m3" #define t22 t93 typedef t15 (*t23)(); #line 18 "./Value.i3" typedef unsigned char t24; #line 286 "Procedure.m3" typedef t24 (*t25)(); #line 14 "../Interfaces/M3.i3" #define t26 ADDRESS #define TC26 TC_M3__Scope IMPORT TYPE TC_M3__Scope; #line 14 IMPORT char VS_M3__Scope__6e6d8848308d8a2d; #line 16 "./Variable.i3" #define t27 ADDRESS #define TC27 TC_Variable__T IMPORT TYPE TC_Variable__T; #line 16 IMPORT char VS_Variable__T__be7ead4a3afd8be5; #line 147 "Procedure.m3" typedef signed_char t28; typedef struct { t12 elts[1]; } t29; #line 17 "../Interfaces/CallExpr.i3" #define t31 ADDRESS #define TC31 TC_CallExpr__MethodList IMPORT TYPE TC_CallExpr__MethodList; #line 17 IMPORT char VS_CallExpr__MethodList__7e87c2d720444b71; #define t32 ADDRESS #define TC32 TC_TEXT IMPORT TYPE TC_TEXT; IMPORT char VS_TEXT__b7a92447326386f5; #define t32_MapProc TC_TEXT->mapProc typedef t6 (*t33)(); #line 15 "../Interfaces/Token.i3" typedef unsigned char t34; #line 14 "./Decl.i3" typedef struct { t30 _alias; t8 _isExternal; t8 _isInline; t8 _isUnused; t8 _isObsolete; } t35; #line 45 "../Interfaces/Token.i3" typedef struct { int elts[4]; } t36; #line 17 "../Interfaces/M3.i3" #define t37 ADDRESS #define TC37 TC_M3__Stmt IMPORT TYPE TC_M3__Stmt; #line 17 IMPORT char VS_M3__Stmt__376b307627fc1f2f; #line 21 "Procedure.m3" #define t38 ADDRESS #line 52 "./ValueRep.i3" typedef t19 (*t68)(); #line 21 "Procedure.m3" typedef struct { int filler; } t38_methods; #define t38_msize (sizeof (t38_methods)) typedef struct { #line 21 t6 _next; t14 _level; t6 _peer; t3 _signature; t26 _syms; t37 _body; t8 _hasBody; t8 _inline; t8 _defined; t8 _builtin; t8 _active; #line 21 t27 _result; } t38_fields; #define t38_size (sizeof (t38_fields)) PRIVATE void t38_InitProc (); #line 21 PRIVATE void t38_SetupProc (); PRIVATE void t38_PrintProc (); PRIVATE typecell t38_TC; PRIVATE typecell t38_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, #line 21 t38_size, t38_msize, NIL, 0, 0, t38_InitProc, t38_SetupProc, t38_PrintProc, "Procedure#$%^_0002", 1103357434, 836713243}; PRIVATE TYPE TC38 = &t38_TC; #line 21 #line 83 ".ROOT/.boots/corelib/Interfaces/Rd.i3" #define t39 ADDRESS #define TC39 TC_Rd__T IMPORT TYPE TC_Rd__T; #line 83 IMPORT char VS_Rd__T__2555b70b3f7780b1; #define t39_MapProc TC_Rd__T->mapProc typedef t30 (*t40)(); #line 13 "../Interfaces/Scanner.i3" typedef struct { t34 _token; t30 _string; t14 _value; t14 _offset; } t41; #line 14 "./Module.i3" #define t42 ADDRESS #define TC42 TC_Module__T IMPORT TYPE TC_Module__T; #line 14 IMPORT char VS_Module__T__be7ead4a3afd8be5; #line 30 typedef t26 (*t43)(); #line 18 typedef t42 (*t44)(); #line 11 "../Interfaces/Delay.i3" #define t45 ADDRESS #line 11 typedef struct { t7 _apply; } t45_methods; #define t45_msize (sizeof (t45_methods)) typedef struct { #line 11 int filler; } t45_fields; #define t45_size (sizeof (t45_fields)) #define TC45 TC_Delay__Closure IMPORT TYPE TC_Delay__Closure; #line 11 IMPORT char VS_Delay__Closure__94b4fe673a5d6ded; #line 14 "../Interfaces/BlockStmt.i3" typedef t37 (*t46)(); #line 27 "../Interfaces/Emit.i3" typedef signed_char t48; #line 63 typedef t48 (*t49)(); typedef double t50; typedef unsigned char t51; #line 28 "../Interfaces/ProcType.i3" typedef t14 (*t52)(); #line 27 typedef t31 (*t53)(); #line 33 "../Interfaces/Host.i3" typedef t39 (*t57)(); typedef int t58; #line 249 ".ROOT/.boots/corelib/Interfaces/Rd.i3" typedef t58 (*t59)(); #line 220 typedef t32 (*t60)(); #line 189 #define t61 t93 typedef t51 (*t62)(); #line 84 typedef unsigned char t63; #line 27 "../Interfaces/Stmt.i3" typedef void (*t66)(); #line 15 ".ROOT/.boots/corelib/Interfaces/FPrint.i3" typedef struct { t14 elts[2]; } t69; #line 16 "./ValueRep.i3" typedef t8 t70; #define t71 ADDRESS #line 19 typedef struct { t7 _bind; t7 _typeCheck; t25 _class; t7 _fingerprint; t23 _load; t7 _write; t13 _select; t9 _declare0; t7 _declare1; #line 19 t7 _declare2; t9 _needsDecl; t68 _toExpr; t10 _toType; } t71_methods; #define t71_msize (sizeof (t71_methods)) typedef struct { #line 19 t14 _origin; t30 _name; t30 _extName; t26 _scope; t3 _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; t69 _fprint; #line 19 } t71_fields; #define t71_size (sizeof (t71_fields)) #define TC71 TC_M3__Value typedef void (*t73)(); #line 24 "./Variable.i3" typedef t27 (*t75)(); #line 121 "../Interfaces/Type.i3" typedef t5 (*t77)(); #line 65 "../Interfaces/Token.i3" typedef struct { t30 elts[97]; } t81; #line 91 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef unsigned char t83; #line 15 ".ROOT/.boots/corelib/Interfaces/Thread.i3" #define t84 ADDRESS #define TC84 TC_Thread__T IMPORT TYPE TC_Thread__T; #line 15 IMPORT char VS_Thread__T__2555b70b3f7780b1; #define t84_MapProc TC_Thread__T->mapProc typedef t64 (*t85)(); #define t86 ADDRESS #define TC86 TC_Thread__Condition IMPORT TYPE TC_Thread__Condition; #line 21 IMPORT char VS_Thread__Condition__26d5968239e08f4e; #define t86_MapProc TC_Thread__Condition->mapProc #define t87 ADDRESS #define TC87 TC_MUTEX IMPORT TYPE TC_MUTEX; IMPORT char VS_MUTEX__1f9d4e89391ab815; #define t87_MapProc TC_MUTEX->mapProc typedef t84 (*t88)(); #line 23 #define t89 ADDRESS #line 23 typedef struct { t85 _apply; } t89_methods; #define t89_msize (sizeof (t89_methods)) typedef struct { #line 23 int filler; } t89_fields; #define t89_size (sizeof (t89_fields)) #define TC89 TC_Thread__Closure IMPORT TYPE TC_Thread__Closure; #line 23 IMPORT char VS_Thread__Closure__7fb5c6232c5a658a; #define t89_MapProc TC_Thread__Closure->mapProc typedef t86 (*t90)(); typedef t87 (*t91)(); #line 28 #define t92 ADDRESS #line 28 typedef struct { int filler; } t92_methods; #define t92_msize (sizeof (t92_methods)) typedef struct { #line 28 t58 _stackSize; } t92_fields; #define t92_size (sizeof (t92_fields)) #define TC92 TC_Thread__SizedClosure IMPORT TYPE TC_Thread__SizedClosure; #line 28 IMPORT char VS_Thread__SizedClosure__8a46717d2eae7b07; #define t92_MapProc TC_Thread__SizedClosure->mapProc typedef signed_char t94; #line 67 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef t94 (*t95)(); typedef CLOSURE t97; typedef float t99; #line 12 "Procedure.m3" IMPORT INITLINK* Scanner__init; IMPORT INITLINK* Decl__init; IMPORT INITLINK* Module__init; IMPORT INITLINK* Delay__init; #line 12 IMPORT INITLINK* Temp__init; IMPORT INITLINK* Variable__init; IMPORT INITLINK* Wr__init; IMPORT INITLINK* Void__init; IMPORT INITLINK* Text__init; #line 12 IMPORT INITLINK* Token__init; IMPORT INITLINK* CallExpr__init; IMPORT INITLINK* Coverage__init; IMPORT INITLINK* Marker__init; #line 12 IMPORT INITLINK* BlockStmt__init; IMPORT INITLINK* Stmt__init; IMPORT INITLINK* Formal__init; IMPORT INITLINK* Expr__init; #line 12 IMPORT INITLINK* Emit__init; IMPORT INITLINK* ProcType__init; IMPORT INITLINK* Host__init; IMPORT INITLINK* ReturnStmt__init; #line 12 IMPORT INITLINK* Error__init; IMPORT INITLINK* Scope__init; IMPORT INITLINK* Type__init; IMPORT INITLINK* String__init; IMPORT INITLINK* ValueRep__init; #line 12 IMPORT INITLINK* Value__init; IMPORT INITLINK* Procedure__init; IMPORT t41 _Scanner__cur; IMPORT char VS_Scanner__cur__929fa6f8367ea415; #line 12 IMPORT t14 _Scanner__offset; IMPORT char VS_Scanner__offset__dfc05f042d8347f4; IMPORT t98 _Scanner__Match (); IMPORT char VS_Scanner__Match__aaf5b32f2f19a6d8; #line 12 IMPORT t30 _Scanner__MatchID (); IMPORT char VS_Scanner__MatchID__4fb3c66f3429afd9; IMPORT t98 _Scanner__GetToken (); IMPORT char VS_Scanner__GetToken__192100a32c7e576d; #line 12 IMPORT t98 _Scanner__Fail (); IMPORT char VS_Scanner__Fail__a15a8cf32391aa62; IMPORT t14 _Module__depth; IMPORT char VS_Module__depth__a65bb56937bd5d03; #line 12 IMPORT t8 _Delay__pending; IMPORT char VS_Delay__pending__c38e24f234433188; IMPORT t98 _Delay__FinishUp (); IMPORT char VS_Delay__FinishUp__4aab618e339b9a83; #line 12 IMPORT TYPE TC_Temp__T; IMPORT char VS_Temp__T__3a6c7dc12615e4ee; IMPORT t15 _Temp__AllocEmpty (); IMPORT char VS_Temp__AllocEmpty__20296f6d2a78c948; #line 12 IMPORT t15 _Temp__FromValue (); IMPORT char VS_Temp__FromValue__c79a4f6f291f20ac; IMPORT t98 _Temp__PushSet (); IMPORT char VS_Temp__PushSet__421e3799382982bc; #line 12 IMPORT t98 _Temp__PopSet (); IMPORT char VS_Temp__PopSet__e0f9f19236e0186c; IMPORT t27 _Variable__New (); IMPORT char VS_Variable__New__7401d5b22f8881d4; #line 12 IMPORT t27 _Variable__NewFormal (); IMPORT char VS_Variable__NewFormal__11d06a7f2428ac4c; IMPORT t98 _Variable__BindType (); #line 12 IMPORT char VS_Variable__BindType__6a32007d2a79f302; IMPORT EXCEPTION_NAME _Thread__Alerted; IMPORT char VS_Thread__Alerted__fc88feb43485af46; #line 12 IMPORT EXCEPTION_NAME _Wr__Failure; IMPORT char VS_Wr__Failure__5f82cfb43dabf527; IMPORT EXCEPTION_NAME _Wr__Error; IMPORT char VS_Wr__Error__c367253d3ed4fd15; #line 12 IMPORT t98 _Wr__PutText (); IMPORT char VS_Wr__PutText__e034dab73a793846; IMPORT t3 _Void__T; IMPORT char VS_Void__T__d44caf853dc63223; #line 12 IMPORT TYPE TC_Text__T; IMPORT char VS_Text__T__fc4b369f3ab271fd; IMPORT t36 _Token__DeclStart; IMPORT char VS_Token__DeclStart__730c82bc2c2001b8; #line 12 IMPORT t36 _Token__TypeStart; IMPORT char VS_Token__TypeStart__f71616cb38a20d02; IMPORT t36 _Token__ExprStart; IMPORT char VS_Token__ExprStart__21dc8a0a27344836; #line 12 IMPORT t98 _Coverage__NoteProcedure (); IMPORT char VS_Coverage__NoteProcedure__d23bd2312aba3946; IMPORT t98 _Coverage__CountProcedure (); #line 12 IMPORT char VS_Coverage__CountProcedure__41da494022db3d5e; IMPORT TYPE TC_Marker__Prefix; IMPORT char VS_Marker__Prefix__819dde3f21a97326; #line 12 IMPORT t98 _Marker__Pop (); IMPORT char VS_Marker__Pop__e998f6f7244b0f3e; IMPORT t98 _Marker__StartRaises (); IMPORT char VS_Marker__StartRaises__0f15931e32ee1d1a; #line 12 IMPORT t98 _Marker__EndRaises (); IMPORT char VS_Marker__EndRaises__36efc08b269a8318; IMPORT t98 _Marker__PushProcedure (); #line 12 IMPORT char VS_Marker__PushProcedure__9278f0072a06b043; IMPORT t37 _BlockStmt__ParseBlock (); IMPORT char VS_BlockStmt__ParseBlock__1f26c782367e9f87; #line 12 IMPORT TYPE TC_Stmt__T; IMPORT char VS_Stmt__T__2446b70b3f7780a5; IMPORT t98 _Stmt__Bind (); IMPORT char VS_Stmt__Bind__55f2c79a304c25df; #line 12 IMPORT t98 _Stmt__TypeCheck (); IMPORT char VS_Stmt__TypeCheck__e228c94928564a9d; IMPORT t98 _Stmt__Precompile (); IMPORT char VS_Stmt__Precompile__68dddedb3aa69659; #line 12 IMPORT void _Stmt__Compile (); IMPORT char VS_Stmt__Compile__53f9f2c43edb087a; IMPORT t8 _Formal__Split (); IMPORT char VS_Formal__Split__dd8860c23cba8174; #line 12 IMPORT TYPE TC_Expr__T; IMPORT char VS_Expr__T__2446b70b3f7780a5; IMPORT char VS_Emit__MaxStream__cf0a0e8934c9c9f3; IMPORT TYPE TC_Emit__Format; #line 12 IMPORT char VS_Emit__Format__bc4a2b083b93bbd7; IMPORT t98 _Emit__Op (); IMPORT char VS_Emit__Op__072646cc27c8ae10; IMPORT t98 _Emit__OpS (); #line 12 IMPORT char VS_Emit__OpS__f7dc93802c012951; IMPORT t98 _Emit__OpI (); IMPORT char VS_Emit__OpI__02cb878634bb9f49; IMPORT t98 _Emit__OpN (); #line 12 IMPORT char VS_Emit__OpN__a3f6e37c396e144c; IMPORT t98 _Emit__OpT (); IMPORT char VS_Emit__OpT__764bdffe21d249e8; IMPORT t98 _Emit__Push (); #line 12 IMPORT char VS_Emit__Push__bb0d136633891859; IMPORT t98 _Emit__Pop (); IMPORT char VS_Emit__Pop__8a7be1412301ed32; IMPORT t48 _Emit__Switch (); #line 12 IMPORT char VS_Emit__Switch__e69d0876372d3ad7; IMPORT t3 _ProcType__ParseSignature (); IMPORT char VS_ProcType__ParseSignature__2400d7a73b2da324; #line 12 IMPORT t26 _ProcType__Formals (); IMPORT char VS_ProcType__Formals__fdd88434270b1221; IMPORT t3 _ProcType__Result (); IMPORT char VS_ProcType__Result__fc16f9f320328006; #line 12 IMPORT t98 _ProcType__GenVar (); IMPORT char VS_ProcType__GenVar__ca49ceb122e5df00; IMPORT t8 _ProcType__LargeResult (); IMPORT char VS_ProcType__LargeResult__547fe44c362c53bb; #line 12 IMPORT t3 _ProcType__New (); IMPORT char VS_ProcType__New__43b2b105372c5e7b; IMPORT t98 _ProcType__SetMethods (); IMPORT char VS_ProcType__SetMethods__6a0811862efca621; #line 12 IMPORT t98 _ProcType__CopyValueOpenArrayParameters (); IMPORT char VS_ProcType__CopyValueOpenArrayParameters__17e0f6e626471273; #line 12 IMPORT t8 _Host__inlines; IMPORT char VS_Host__inlines__564ad924303b65d4; IMPORT t14 _Host__incrementalVersion; IMPORT char VS_Host__incrementalVersion__1798bcf82af0e178; #line 12 IMPORT t30 _Host__toCompile; IMPORT char VS_Host__toCompile__bcbbdf8434b39d67; IMPORT t98 _Error__Str (); IMPORT char VS_Error__Str__2bd0723e3872e90c; #line 12 IMPORT t98 _Error__WarnStr (); IMPORT char VS_Error__WarnStr__aa8e70c53534552c; IMPORT TYPE TC_Scope__T; IMPORT char VS_Scope__T__3a6c7dc12615e4ee; #line 12 IMPORT t26 _Scope__PushNew (); IMPORT char VS_Scope__PushNew__d323325530c46e5d; IMPORT t98 _Scope__PopNew (); IMPORT char VS_Scope__PopNew__3afab09a31bee774; #line 12 IMPORT t98 _Scope__Push (); IMPORT char VS_Scope__Push__ff579fe72573f581; IMPORT t98 _Scope__Pop (); IMPORT char VS_Scope__Pop__cfcd8a43301536dd; #line 12 IMPORT t98 _Scope__Insert (); IMPORT char VS_Scope__Insert__ef77c00626575764; IMPORT t8 _Scope__EmitFrameName (); IMPORT char VS_Scope__EmitFrameName__cc10a94421e6662d; #line 12 IMPORT t8 _Scope__EmitLocalFrameName (); IMPORT char VS_Scope__EmitLocalFrameName__ae9e9abf3a4de3a1; IMPORT t98 _Scope__EmitFrameType (); #line 12 IMPORT char VS_Scope__EmitFrameType__7dcb5adc2ab8ed27; IMPORT t98 _Scope__ToList (); IMPORT char VS_Scope__ToList__4f3684492cf42c93; #line 12 IMPORT t98 _Scope__Bind (); IMPORT char VS_Scope__Bind__344f0d6129e368d1; IMPORT t98 _Scope__TypeCheck (); IMPORT char VS_Scope__TypeCheck__f0c8e8c4224804fd; #line 12 IMPORT t98 _Scope__Enter (); IMPORT char VS_Scope__Enter__86781a4c2d3f0a08; IMPORT t98 _Scope__Exit (); IMPORT char VS_Scope__Exit__71e6b79c26940459; #line 12 IMPORT t98 _Scope__WarnUnused (); IMPORT char VS_Scope__WarnUnused__9058f21e35f1c66f; IMPORT t98 _Scope__NameToPrefix (); #line 12 IMPORT char VS_Scope__NameToPrefix__480892d13153ee71; IMPORT TYPE TC_Type__T; IMPORT char VS_Type__T__2446b70b3f7780a5; #line 12 IMPORT t3 _Type__Bind (); IMPORT char VS_Type__Bind__3443ccd12eedb9e8; IMPORT t8 _Type__IsEqual (); IMPORT char VS_Type__IsEqual__4098bc3f32325d05; #line 12 IMPORT t98 _Type__Check (); IMPORT char VS_Type__Check__3c8ceb09206ee440; IMPORT t14 _Type__Name (); IMPORT char VS_Type__Name__f99416972257a869; #line 12 IMPORT t8 _Type__IsAssignable (); IMPORT char VS_Type__IsAssignable__6d0a7b0e2c806002; IMPORT t98 _Type__Fingerprint (); IMPORT char VS_Type__Fingerprint__0d24a3463c25e166; #line 12 IMPORT t30 _String__Add (); IMPORT char VS_String__Add__0f5e21cc3d204b63; IMPORT t98 _String__PutStack (); IMPORT char VS_String__PutStack__2155a7863fdb4aca; #line 12 IMPORT TYPE TC_ValueRep__V; IMPORT char VS_ValueRep__V__f28699153c608442; IMPORT t98 _ValueRep__Init (); IMPORT char VS_ValueRep__Init__ba99dff739390f9a; #line 12 IMPORT t12 _ValueRep__NoDuplicates (); IMPORT char VS_ValueRep__NoDuplicates__ed93f73a247eb7b4; IMPORT t19 _ValueRep__NoExpr (); #line 12 IMPORT char VS_ValueRep__NoExpr__1297c63d2e046c2c; IMPORT t3 _ValueRep__NoType (); IMPORT char VS_ValueRep__NoType__4061f01226f55ca3; #line 12 IMPORT t15 _ValueRep__NoLoader (); IMPORT char VS_ValueRep__NoLoader__9a7f0c5b24f526c1; IMPORT t98 _ValueRep__NoWriter (); #line 12 IMPORT char VS_ValueRep__NoWriter__3b24d43c367f7122; IMPORT t98 _ValueRep__NoDeclarer (); IMPORT char VS_ValueRep__NoDeclarer__22db283420635bde; #line 12 IMPORT t8 _ValueRep__Never (); IMPORT char VS_ValueRep__Never__39b6ab0628d97589; IMPORT t8 _ValueRep__Always (); IMPORT char VS_ValueRep__Always__1b0a9bbf2173b8b3; #line 12 IMPORT TYPE TC_Value__T; IMPORT char VS_Value__T__2446b70b3f7780a5; IMPORT t98 _Value__Bind (); IMPORT char VS_Value__Bind__6439d03d3a1be824; #line 12 IMPORT t98 _Value__GenStorageClass (); IMPORT char VS_Value__GenStorageClass__fc0c1a1823c9d008; EXPORT t98 _Procedure__ParseDecl (); #line 12 EXPORT char VS_Procedure__ParseDecl__e8f979982ce97f32 = '\0'; EXPORT t3 _Procedure__Signature (); EXPORT char VS_Procedure__Signature__5809c1ae31522c6b = '\0'; #line 12 EXPORT t8 _Procedure__HasBody (); EXPORT char VS_Procedure__HasBody__0f7fcb6134b4267e = '\0'; EXPORT t98 _Procedure__BindBody (); #line 12 EXPORT char VS_Procedure__BindBody__1aa3b9ed2346183f = '\0'; EXPORT t98 _Procedure__CheckBody (); EXPORT char VS_Procedure__CheckBody__4fa501d93c015612 = '\0'; #line 12 EXPORT t8 _Procedure__IsNested (); EXPORT char VS_Procedure__IsNested__6138cc692dfd93f7 = '\0'; EXPORT t8 _Procedure__EmitFrameName (); #line 12 EXPORT char VS_Procedure__EmitFrameName__251de42f2658be73 = '\0'; EXPORT t98 _Procedure__Define (); EXPORT char VS_Procedure__Define__23155a563959ddb7 = '\0'; #line 12 EXPORT t98 _Procedure__GenHeaders (); EXPORT char VS_Procedure__GenHeaders__a26b8bbd2bbade42 = '\0'; EXPORT t98 _Procedure__GenBodies (); #line 12 EXPORT char VS_Procedure__GenBodies__87a02e1926e07de1 = '\0'; EXPORT t8 _Procedure__CanBeInlined (); EXPORT char VS_Procedure__CanBeInlined__7046919c31e68ee2 = '\0'; #line 12 EXPORT t15 _Procedure__ExpandInline (); EXPORT char VS_Procedure__ExpandInline__2b77f5a32f4333aa = '\0'; PRIVATE t30 _Procedure__resultName; #line 12 PRIVATE t30 _Procedure__raisesLabel; PRIVATE t6 _Procedure__all; PRIVATE t14 _Procedure__level; PRIVATE t6 _Procedure__Create (); #line 12 PRIVATE t98 _Procedure__Bind (); PRIVATE t98 _Procedure__Check (); PRIVATE t15 _Procedure__Load (); PRIVATE t98 _Procedure__WriteName (); #line 12 PRIVATE t8 _Procedure__Declarer (); PRIVATE t98 _Procedure__Compile (); PRIVATE t24 _Procedure__MyClass (); PRIVATE t98 _Procedure__ReverseList (); #line 12 PRIVATE t98 _Procedure__PrecompileBody (); PRIVATE t98 _Procedure__GenBody (); PRIVATE t12 _Procedure__Select (); PRIVATE t98 _Procedure__Redefined (); #line 12 PRIVATE t98 _Procedure__FPrinter (); EXPORT char VS_Procedure__T__38c4f5ac319464c8 = '\0'; IMPORT char VS_M3__Value__c975bdb53a08f518; #line 12 #line 55 "Procedure.m3" EXPORT t98 _Procedure__ParseDecl (_fail, _att, _headerOnly) t36 * _fail; t35 _att; t8 _headerOnly; { t36 z3; t14 z4; t36 z5; t36 z2; t30 z6; t6 z7; t8 z8; t6 z1; t3 z9; t26 z10; t37 z11; #line 55 "Procedure.m3" { auto t6 _t; auto t30 _id; { CHECKSTACKOVERFLOW; z3.elts [0] = 0x00008002; z3.elts [1] = 0; z3.elts [2] = 0; z3.elts [3] = 0; z5 = z3; _Scanner__Match ( 75 , &(*_fail), &z5); z2.elts [0] = 0x00018000; z2.elts [1] = 0; z2.elts [2] = 0; z2.elts [3] = 0; z3 = z2; z6 = _Scanner__MatchID (&(*_fail), &z3); #line 62 _id = z6; z7 = _Procedure__Create (_id); _t = z7; NILCHECKA (z7 = _t); (((t38_fields*)(z7+(0+t71_size+t96_size)))->_inline) = (_att._isInline); NILCHECKA (z7 = _t); (((t71_fields*)(z7+(0+t96_size)))->_unused) = (_att._isUnused); NILCHECKA (z7 = _t); (((t71_fields*)(z7+(0+t96_size)))->_obsolete) = (_att._isObsolete); if ((_att._isExternal)) { z8 = ((_att._alias) == 0); if (z8) { NILCHECKA (z1 = _t); (_att._alias) = (((t71_fields*)(z1+(0+t96_size)))->_name); #line 68 goto if_2_end; }; if_2_end: /**/; NILCHECKA (z7 = _t); (((t71_fields*)(z7+(0+t96_size)))->_external) = 1 ; NILCHECKA (z7 = _t); (((t71_fields*)(z7+(0+t96_size)))->_extName) = (_att._alias); goto if_1_end; }; if_1_end: /**/; 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 72 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 72 z2 = z3; z9 = _ProcType__ParseSignature (&z2, _id); NILCHECKA (z1 = _t); (((t38_fields*)(z1+(0+t71_size+t96_size)))->_signature) = z9; _Scope__Insert (_t); z8 = ((_Scanner__cur._token) == 20 ); if (z8) { _Scanner__GetToken (); if (_headerOnly) { _Error__Str (_id, ((ADDRESS)(& txt1.str))); goto if_4_end; }; if_4_end: /**/; if ((_att._isExternal)) { _Error__WarnStr ( 2 , _id, ((ADDRESS)(& txt2.str))); NILCHECKA (z7 = _t); (((t71_fields*)(z7+(0+t96_size)))->_external) = 0 ; NILCHECKA (z7 = _t); (((t71_fields*)(z7+(0+t96_size)))->_extName) = (t30) 0; goto if_5_end; }; if_5_end: /**/; NILCHECKA (z7 = _t); (((t38_fields*)(z7+(0+t71_size+t96_size)))->_hasBody) = 1 ; z10 = _Scope__PushNew ( 1 , _id, 1 ); NILCHECKA (z1 = _t); (((t38_fields*)(z1+(0+t71_size+t96_size)))->_syms) = z10; _Procedure__level += 1 ; 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 87 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 87 z2 = z3; z11 = _BlockStmt__ParseBlock (&z2); NILCHECKA (z1 = _t); (((t38_fields*)(z1+(0+t71_size+t96_size)))->_body) = z11; _Procedure__level -= 1 ; z2.elts [0] = 0x00008000; z2.elts [1] = 0; z2.elts [2] = 0; z2.elts [3] = 0; z3 = z2; z6 = _Scanner__MatchID (&(*_fail), &z3); #line 89 _id = z6; NILCHECKA (z7 = _t); z8 = (_id != (((t71_fields*)(z7+(0+t96_size)))->_name)); if (z8) { _Error__Str (_id, ((ADDRESS)(& txt3.str))); goto if_6_end; }; if_6_end: /**/; _Scope__PopNew (); goto if_3_end; }; z8 = 1; if (! _headerOnly) { z8 = (_att._isExternal); }; if (z8) { goto if_3_end; #line 93 }; z8 = ((_Scanner__cur._token) == 15 ); if (z8) { _Error__Str (_id, ((ADDRESS)(& txt4.str))); _Scanner__GetToken (); NILCHECKA (z7 = _t); (((t38_fields*)(z7+(0+t71_size+t96_size)))->_hasBody) = 1 ; z10 = _Scope__PushNew ( 1 , _id, 0 ); NILCHECKA (z1 = _t); (((t38_fields*)(z1+(0+t71_size+t96_size)))->_syms) = z10; _Procedure__level += 1 ; 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 103 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 103 z2 = z3; z11 = _BlockStmt__ParseBlock (&z2); NILCHECKA (z1 = _t); (((t38_fields*)(z1+(0+t71_size+t96_size)))->_body) = z11; _Procedure__level -= 1 ; z2.elts [0] = 0x00008000; z2.elts [1] = 0; z2.elts [2] = 0; z2.elts [3] = 0; z3 = z2; z6 = _Scanner__MatchID (&(*_fail), &z3); #line 105 _id = z6; NILCHECKA (z7 = _t); z8 = (_id != (((t71_fields*)(z7+(0+t96_size)))->_name)); if (z8) { _Error__Str (_id, ((ADDRESS)(& txt3.str))); goto if_7_end; }; if_7_end: /**/; _Scope__PopNew (); goto if_3_end; }; _Error__Str (_id, ((ADDRESS)(& txt5.str))); if_3_end: /**/; z3.elts [0] = 0; z3.elts [1] = 0; z3.elts [2] = 0; z3.elts [3] = 0; z5 = z3; _Scanner__Match ( 15 , &(*_fail), &z5); #line 113 } } }; #line 116 "Procedure.m3" EXPORT t8 _Procedure__IsNested (_t) t6 _t; { t8 z2; t8 z0; t6 z3; t8 z4; #line 116 "Procedure.m3" { auto t8 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; z2 = (_t != 0); z0 = 0; if (z2) { NILCHECKA (z3 = _t); z4 = ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_level) != 0 ); #line 118 z0 = z4; }; __result = z0; return __result; } } }; #line 121 "Procedure.m3" PRIVATE t6 _Procedure__Create (_name) t30 _name; { t6 z0; t6 z2; #line 121 "Procedure.m3" { auto t6 _t; auto t6 __result; { CHECKSTACKOVERFLOW; { register char** ptr = (char**) UNEWOBJ (TC6); z0 = (t6) ptr; }; _t = z0; _ValueRep__Init (_t, _name); NILCHECKA (z2 = _t); (((t71_fields*)(z2+(0+t96_size)))->_readonly) = 1 ; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_next) = _Procedure__all; _Procedure__all = _t; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_peer) = (t6) 0; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_signature) = (t3) 0; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_syms) = (t26) 0; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_hasBody) = 0 ; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_body) = (t37) 0; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_inline) = 0 ; NILCHECKA (z2 = _t); (((t71_fields*)(z2+(0+t96_size)))->_external) = 0 ; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_defined) = 0 ; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_builtin) = 0 ; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_active) = 0 ; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_result) = (t27) 0; NILCHECKA (z2 = _t); (((t71_fields*)(z2+(0+t96_size)))->_extName) = (t30) 0; NILCHECKA (z2 = _t); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_level) = _Procedure__level; __result = _t; return __result; } } }; #line 144 "Procedure.m3" EXPORT t98 _Procedure__Define (_name, _methods, _signature) t32 _name; t31 _methods; t3 _signature; { t8 z2; t93 z3; t3 z4; t30 z5; t6 z6; t6 z1; #line 144 "Procedure.m3" { auto t6 _t; auto t30 _s; auto t29 _formals; auto t3 _sig; { CHECKSTACKOVERFLOW; z2 = (_signature == 0); if (z2) { (_formals.elts[ 0 ]) = (t12) 0; { z3.elts = (char*) (& _formals); z3.size[0] = 1; }; z4 = _ProcType__New (&z3, 0); #line 150 _sig = z4; goto if_8_end; }; _sig = _signature; if_8_end: /**/; _ProcType__SetMethods (_sig, _methods); z5 = _String__Add (_name, 999999 ); _s = z5; z6 = _Procedure__Create (_s); _t = z6; NILCHECKA (z6 = _t); (((t38_fields*)(z6+(0+t71_size+t96_size)))->_signature) = _sig; NILCHECKA (z6 = _t); (((t38_fields*)(z6+(0+t71_size+t96_size)))->_defined) = 1 ; z2 = (_signature == 0); NILCHECKA (z1 = _t); (((t38_fields*)(z1+(0+t71_size+t96_size)))->_builtin) = z2; _Scope__Insert (_t); } } }; #line 162 "Procedure.m3" PRIVATE t98 _Procedure__Bind (_p) t6 _p; { t6 z1; t8 z3; t6 z2; t3 z4; #line 162 "Procedure.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _p); z3 = ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_peer) != 0); if (z3) { NILCHECKA (z2 = _p); #line 164 _Value__Bind ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_peer)); goto if_9_end; }; if_9_end: /**/; NILCHECKA (z2 = _p); z4 = _Type__Bind ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_signature)); NILCHECKA (z1 = _p); #line 165 (((t38_fields*)(z1+(0+t71_size+t96_size)))->_signature) = z4; NILCHECKA (z1 = _p); (((t71_fields*)(z1+(0+t96_size)))->_type) = (((t38_fields*)(z1+(0+t71_size+t96_size)))->_signature); #line 166 } } }; #line 169 "Procedure.m3" EXPORT t98 _Procedure__BindBody (_p) t6 _p; { t6 z1; t8 z2; t8 z3; t6 z4; t26 z5; t14 z6; t21 z7; t14 z8; t27 z9; t12 z10; t3 z11; t8 z0; t30 z12; #line 169 "Procedure.m3" { auto t21 _objs; auto t14 _n; auto t27 _v; auto t3 _type; auto t26 _formals; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _p); z2 = 1; if (! (((t38_fields*)(z1+(0+t71_size+t96_size)))->_defined)) { NILCHECKA (z1 = _p); z3 = ! (((t38_fields*)(z1+(0+t71_size+t96_size)))->_hasBody); #line 177 z2 = z3; }; if (z2) { return; }; _Coverage__NoteProcedure (_p); NILCHECKA (z4 = _p); _Scope__Push ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_syms)); NILCHECKA (z4 = _p); z5 = _ProcType__Formals ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_signature)); _formals = z5; z2 = (_formals != 0); if (z2) { _Scope__ToList (_formals, &_objs, &_n); { { auto t14 _save; { _save = _Module__depth; _Module__depth = 1 ; { int from, to, index; from = 0 ; z6 = _n - 1 ; to = z6; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 189 _i = (t14) index; NILCHECKB (z7 = _objs); { register t93* array = & (*((t1*) z7)); z8 = _i; if (z8 >= (array->size[0])) RANGEFAULT; #line 190 z6 = (int)(array->elts + (z8 * 4)); }; z9 = _Variable__NewFormal ((*(t12*)z6)); _v = z9; _Scope__Insert (_v); NILCHECKA (z9 = _v); NILCHECKB (z7 = _objs); { register t93* array = & (*((t1*) z7)); z8 = _i; #line 193 if (z8 >= (array->size[0])) RANGEFAULT; z6 = (int)(array->elts + (z8 * 4)); }; NILCHECKA (z10 = (*(t12*)z6)); #line 193 (((t71_fields*)(z10+(0+t96_size)))->_scope) = (((t71_fields*)(z9+(0+t96_size)))->_scope); NILCHECKA (z9 = _v); (((t71_fields*)(z9+(0+t96_size)))->_declared) = 1 ; } } }; }; _Module__depth = _save; } } }; goto if_11_end; }; if_11_end: /**/; NILCHECKA (z4 = _p); z11 = _ProcType__Result ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_signature)); _type = z11; z2 = (_type != 0); z0 = 0; if (z2) { z3 = (_type != _Void__T); z0 = z3; }; if (z0) { z2 = (_Procedure__resultName == 0); if (z2) { z12 = _String__Add (((ADDRESS)(& txt6.str)), 999999 ); _Procedure__resultName = z12; #line 202 goto if_13_end; }; if_13_end: /**/; { { auto t14 _save; auto t14 _saveOffset; { _save = _Module__depth; _saveOffset = _Scanner__offset; _Module__depth = 1 ; NILCHECKA (z1 = _p); _Scanner__offset = (((t71_fields*)(z1+(0+t96_size)))->_origin); z9 = _Variable__New (_Procedure__resultName, 1 ); NILCHECKA (z1 = _p); (((t38_fields*)(z1+(0+t71_size+t96_size)))->_result) = z9; _Module__depth = _save; _Scanner__offset = _saveOffset; } } }; NILCHECKA (z4 = _p); _Variable__BindType ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_result), _type, 0 , 0 , 0 ); NILCHECKA (z4 = _p); _Scope__Insert ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_result)); goto if_12_end; }; if_12_end: /**/; NILCHECKA (z4 = _p); _Scope__Bind ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_syms), 1 ); NILCHECKA (z4 = _p); _Stmt__Bind ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_body)); NILCHECKA (z4 = _p); _Value__Bind ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_result)); if (_Delay__pending) { _Delay__FinishUp (); goto if_14_end; }; if_14_end: /**/; _Scope__Pop (); } } }; #line 222 "Procedure.m3" PRIVATE t98 _Procedure__Check (_p) t6 _p; { t6 z2; t6 z1; t8 z3; t6 z4; #line 222 "Procedure.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z2 = _p); _Type__Check ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_signature)); NILCHECKA (z1 = _p); z3 = ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_peer) != 0); if (z3) { NILCHECKA (z2 = _p); #line 225 NILCHECKA (z4 = (((t38_fields*)(z2+(0+t71_size+t96_size)))->_peer)); _Type__Check ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_signature)); #line 225 goto if_15_end; }; if_15_end: /**/; } } }; #line 228 "Procedure.m3" EXPORT t98 _Procedure__CheckBody (_p) t6 _p; { t6 z1; t8 z2; t8 z3; t6 z4; t6 z5; t8 z0; t3 z6; #line 228 "Procedure.m3" { auto t3 _result; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _p); if (!(((t71_fields*)(z1+(0+t96_size)))->_checked)) ASSERTFAULT; NILCHECKA (z1 = _p); z2 = 1; if (! (((t38_fields*)(z1+(0+t71_size+t96_size)))->_defined)) { NILCHECKA (z1 = _p); z3 = ! (((t38_fields*)(z1+(0+t71_size+t96_size)))->_hasBody); #line 232 z2 = z3; }; if (z2) { return; }; NILCHECKA (z1 = _p); z3 = ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_peer) != 0); if (z3) { NILCHECKA (z4 = _p); NILCHECKA (z5 = (((t38_fields*)(z4+(0+t71_size+t96_size)))->_peer)); NILCHECKA (z4 = _p); z3 = _Type__IsAssignable ((((t38_fields*)(z5+(0+t71_size+t96_size)))->_signature), (((t38_fields*)(z4+(0+t71_size+t96_size)))->_signature)); #line 235 z0 = ! z3; if (z0) { _Procedure__Redefined (_p); goto if_18_end; }; if_18_end: /**/; goto if_17_end; }; if_17_end: /**/; NILCHECKA (z4 = _p); z6 = _ProcType__Result ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_signature)); _result = z6; NILCHECKA (z4 = _p); _Scope__Push ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_syms)); NILCHECKA (z4 = _p); _Scope__TypeCheck ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_syms), 1 ); NILCHECKA (z4 = _p); _Marker__PushProcedure (_result, (((t38_fields*)(z4+(0+t71_size+t96_size)))->_result), 0 ); NILCHECKA (z4 = _p); _Stmt__TypeCheck ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_body)); if (_Delay__pending) { _Delay__FinishUp (); goto if_19_end; }; if_19_end: /**/; _Marker__Pop (); NILCHECKA (z4 = _p); _Scope__WarnUnused ((((t38_fields*)(z4+(0+t71_size+t96_size)))->_syms)); _Scope__Pop (); } } }; #line 252 "Procedure.m3" PRIVATE t15 _Procedure__Load (_p) t6 _p; { t6 z1; t6 z2; t15 z3; #line 252 "Procedure.m3" { auto t15 __result; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _p); if ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_builtin)) { NILCHECKA (z2 = _p); _Error__Str ((((t71_fields*)(z2+(0+t96_size)))->_name), ((ADDRESS)(& txt24.str))); goto if_20_end; #line 255 }; if_20_end: /**/; z3 = _Temp__FromValue (_p, 0 ); __result = z3; return __result; } } }; #line 260 "Procedure.m3" PRIVATE t98 _Procedure__WriteName (_p) t6 _p; { t6 z1; t8 z3; t6 z4; #line 260 "Procedure.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _p); z3 = ((((t71_fields*)(z1+(0+t96_size)))->_extName) == 0); if (z3) { _Emit__OpN (((ADDRESS)(& txt25.str)), _p); goto if_21_end; }; NILCHECKA (z4 = _p); _Emit__OpS (((ADDRESS)(& txt25.str)), (((t71_fields*)(z4+(0+t96_size)))->_extName)); if_21_end: /**/; } } }; #line 268 "Procedure.m3" PRIVATE t8 _Procedure__Declarer (_p) t6 _p; { t6 z2; t3 z3; t8 z4; t14 z5; #line 268 "Procedure.m3" { auto t3 _result; auto t8 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; _Value__GenStorageClass (_p, 1 ); NILCHECKA (z2 = _p); z3 = _ProcType__Result ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_signature)); _result = z3; z4 = _ProcType__LargeResult (_result); if (z4) { _Emit__Op (((ADDRESS)(& txt8.str))); goto if_22_end; }; z5 = _Type__Name (_result); _Emit__OpI (((ADDRESS)(& txt9.str)), z5); if_22_end: /**/; _Procedure__WriteName (_p); _Emit__Op (((ADDRESS)(& txt10.str))); __result = 1 ; return __result; } } }; #line 282 "Procedure.m3" PRIVATE t98 _Procedure__Compile (_p) t6 _p; { #line 282 "Procedure.m3" { { CHECKSTACKOVERFLOW; } } }; #line 286 "Procedure.m3" PRIVATE t24 _Procedure__MyClass (_t) t6 _t; { #line 286 "Procedure.m3" { auto t24 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; __result = 4 ; return __result; } } }; #line 291 "Procedure.m3" EXPORT t8 _Procedure__EmitFrameName (_t) t6 _t; { t6 z2; t8 z3; #line 291 "Procedure.m3" { auto t8 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); z3 = _Scope__EmitLocalFrameName ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_syms)); __result = z3; #line 293 return __result; } } }; #line 296 "Procedure.m3" EXPORT t98 _Procedure__GenHeaders () { t8 z2; t6 z1; t8 z0; t6 z3; t3 z4; t14 z5; #line 296 "Procedure.m3" { auto t6 _p; { CHECKSTACKOVERFLOW; _Procedure__ReverseList (); _Emit__Op (((ADDRESS)(& txt7.str))); _p = _Procedure__all; z2 = (_p != 0); if (z2) do { NILCHECKA (z1 = _p); if ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_hasBody)) { NILCHECKA (z1 = _p); z2 = ! (((t38_fields*)(z1+(0+t71_size+t96_size)))->_builtin); z0 = 0; if (z2) { NILCHECKA (z3 = _p); #line 304 z2 = ! (((t71_fields*)(z3+(0+t96_size)))->_declared); z0 = z2; }; if (z0) { { t3 with; NILCHECKA (z3 = _p); z4 = _ProcType__Result ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_signature)); #line 305 with = z4; { auto t3 _tRes; { _tRes = with; _Value__GenStorageClass (_p, 1 ); z2 = _ProcType__LargeResult (_tRes); if (z2) { _Emit__Op (((ADDRESS)(& txt8.str))); goto if_25_end; }; z5 = _Type__Name (_tRes); _Emit__OpI (((ADDRESS)(& txt9.str)), z5); if_25_end: /**/; } } }; _Procedure__WriteName (_p); _Emit__Op (((ADDRESS)(& txt10.str))); goto if_24_end; }; if_24_end: /**/; goto if_23_end; }; if_23_end: /**/; NILCHECKA (z1 = _p); _p = (((t38_fields*)(z1+(0+t71_size+t96_size)))->_next); z2 = (_p != 0); } while (z2); _Emit__Op (((ADDRESS)(& txt7.str))); } } }; #line 320 "Procedure.m3" PRIVATE t98 _Procedure__ReverseList () { t8 z2; t6 z1; t6 z3; #line 320 "Procedure.m3" { auto t6 _p1; auto t6 _p2; auto t6 _p3; { CHECKSTACKOVERFLOW; _p1 = _Procedure__all; _p2 = (t6) 0; z2 = (_p1 != 0); if (z2) do { NILCHECKA (z1 = _p1); _p3 = (((t38_fields*)(z1+(0+t71_size+t96_size)))->_next); NILCHECKA (z3 = _p1); (((t38_fields*)(z3+(0+t71_size+t96_size)))->_next) = _p2; _p2 = _p1; _p1 = _p3; z2 = (_p1 != 0); } while (z2); _Procedure__all = _p2; } } }; #line 334 "Procedure.m3" EXPORT t98 _Procedure__GenBodies () { t8 z2; t6 z1; t8 z3; t8 z0; t6 z4; t8 z5; #line 334 "Procedure.m3" { auto t6 _p; { CHECKSTACKOVERFLOW; _p = _Procedure__all; z2 = (_p != 0); if (z2) do { NILCHECKA (z1 = _p); z2 = 0; if ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_hasBody)) { NILCHECKA (z1 = _p); z3 = ! (((t38_fields*)(z1+(0+t71_size+t96_size)))->_defined); #line 339 z2 = z3; }; z0 = 0; if (z2) { z3 = (_Host__toCompile == 0); z2 = 1; if (! z3) { NILCHECKA (z4 = _p); z5 = (_Host__toCompile == (((t71_fields*)(z4+(0+t96_size)))->_name)); #line 339 z2 = z5; }; z0 = z2; }; if (z0) { _Procedure__PrecompileBody (_p); goto if_26_end; }; if_26_end: /**/; NILCHECKA (z1 = _p); _p = (((t38_fields*)(z1+(0+t71_size+t96_size)))->_next); z2 = (_p != 0); } while (z2); _p = _Procedure__all; z2 = (_p != 0); if (z2) do { NILCHECKA (z1 = _p); z2 = 0; if ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_hasBody)) { NILCHECKA (z1 = _p); z3 = ! (((t38_fields*)(z1+(0+t71_size+t96_size)))->_defined); #line 348 z2 = z3; }; z0 = 0; if (z2) { z3 = (_Host__toCompile == 0); z2 = 1; if (! z3) { NILCHECKA (z4 = _p); z5 = (_Host__toCompile == (((t71_fields*)(z4+(0+t96_size)))->_name)); #line 348 z2 = z5; }; z0 = z2; }; if (z0) { NILCHECKA (z1 = _p); _Scanner__offset = (((t71_fields*)(z1+(0+t96_size)))->_origin); _Procedure__GenBody (_p); goto if_27_end; }; if_27_end: /**/; NILCHECKA (z1 = _p); _p = (((t38_fields*)(z1+(0+t71_size+t96_size)))->_next); z2 = (_p != 0); } while (z2); } } }; #line 357 "Procedure.m3" PRIVATE t98 _Procedure__PrecompileBody (_p) t6 _p; { t6 z2; t6 z3; t3 z4; #line 357 "Procedure.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z2 = _p); _ProcType__GenVar ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_signature)); NILCHECKA (z2 = _p); _Scope__Push ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_syms)); NILCHECKA (z3 = _p); z4 = _ProcType__Result ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_signature)); NILCHECKA (z2 = _p); #line 361 _Marker__PushProcedure (z4, (((t38_fields*)(z2+(0+t71_size+t96_size)))->_result), 0 ); NILCHECKA (z2 = _p); _Stmt__Precompile ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_body)); _Marker__Pop (); _Scope__Pop (); } } }; #line 367 "Procedure.m3" PRIVATE t98 _Procedure__GenBody (_p) t6 _p; { t6 z2; t3 z3; t8 z4; t8 z0; t14 z5; t6 z6; t26 z7; t21 z8; t14 z9; t8 z10; t21 z1; t12 z11; t48 z12; t30 z13; t16 z14; t16 z15; #line 367 "Procedure.m3" { auto t14 _i; auto t14 _nFormals; auto t21 _objs; auto t20 _mode; auto t14 _offset; auto t19 _expr; auto t3 _type; auto t3 _tresult; #line 367 auto t18 _formals; auto t16 _oc; auto t8 _needComa; auto t8 _unused; { ZERO1B (& _mode); ZERO1B (& _needComa); ZERO1B (& _unused); #line 379 ZERO1B ((& _needComa)); #line 367 CHECKSTACKOVERFLOW; #line 382 NILCHECKA (z2 = _p); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_active) = 1 ; _Emit__Push (); NILCHECKA (z2 = _p); _Scope__Push ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_syms)); NILCHECKA (z2 = _p); z3 = _ProcType__Result ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_signature)); _tresult = z3; _Emit__Op (((ADDRESS)(& txt26.str))); z4 = (_Host__incrementalVersion == 0 ); z0 = 0; if (z4) { NILCHECKA (z2 = _p); z0 = (((t71_fields*)(z2+(0+t96_size)))->_exported); #line 389 }; if (z0) { z5 = _Type__Name (_tresult); _Emit__OpI (((ADDRESS)(& txt27.str)), z5); _Procedure__WriteName (_p); _Emit__Op (((ADDRESS)(& txt28.str))); goto if_28_end; }; z4 = (_Host__incrementalVersion > 0 ); z0 = 0; if (z4) { #line 392 NILCHECKA (z2 = _p); z0 = (((t71_fields*)(z2+(0+t96_size)))->_exported); }; if (z0) { z5 = _Type__Name (_tresult); _Emit__OpI (((ADDRESS)(& txt29.str)), z5); _Procedure__WriteName (_p); _Emit__Op (((ADDRESS)(& txt30.str))); goto if_28_end; }; if_28_end: /**/; _Value__GenStorageClass (_p, 1 ); z4 = _ProcType__LargeResult (_tresult); if (z4) { _Emit__Op (((ADDRESS)(& txt8.str))); goto if_29_end; }; z5 = _Type__Name (_tresult); _Emit__OpI (((ADDRESS)(& txt9.str)), z5); if_29_end: /**/; _Procedure__WriteName (_p); _Emit__Op (((ADDRESS)(& txt31.str))); NILCHECKA (z2 = _p); z4 = _Scope__EmitFrameName ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_syms)); _needComa = z4; NILCHECKA (z6 = _p); z7 = _ProcType__Formals ((((t38_fields*)(z6+(0+t71_size+t96_size)))->_signature)); _Scope__ToList (z7, &_objs, &_nFormals); { int from, to, index; from = 0 ; z5 = _nFormals - 1 ; to = z5; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 409 _i = (t14) index; { { auto t8 _b; { ZERO1B (& _b); NILCHECKB (z8 = _objs); { register t93* array = & (*((t1*) z8)); z9 = _i; #line 410 if (z9 >= (array->size[0])) RANGEFAULT; z5 = (int)(array->elts + (z9 * 4)); }; z10 = _Formal__Split ((*(t12*)z5), &_offset, &_mode, &_type, &_expr, &_unused); #line 410 _b = z10; if (!_b) ASSERTFAULT; } } }; NILCHECKB (z1 = _objs); { register t93* array = & (*((t1*) z1)); z9 = _i; if (z9 >= (array->size[0])) RANGEFAULT; #line 413 z5 = (int)(array->elts + (z9 * 4)); }; z9 = _offset; if ((z9 < 0) || (99 < z9)) RANGEFAULT; (_formals.elts[z9]) = (*(t12*)z5); #line 413 } } }; }; { int from, to, index; from = 0 ; z5 = _nFormals - 1 ; to = z5; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 415 _i = (t14) index; if (_needComa) { _Emit__Op (((ADDRESS)(& txt32.str))); goto if_30_end; }; if_30_end: /**/; z5 = _i; if (z5 > 99) RANGEFAULT; _Emit__OpN (((ADDRESS)(& txt25.str)), (_formals.elts[z5])); _needComa = 1 ; #line 417 } } }; }; z4 = _ProcType__LargeResult (_tresult); if (z4) { if (_needComa) { _Emit__Op (((ADDRESS)(& txt32.str))); goto if_32_end; }; if_32_end: /**/; _Emit__Op (((ADDRESS)(& txt33.str))); _needComa = 1 ; goto if_31_end; }; if_31_end: /**/; _Emit__Op (((ADDRESS)(& txt34.str))); NILCHECKA (z2 = _p); _Scope__EmitFrameType ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_syms)); { int from, to, index; from = 0 ; z5 = _nFormals - 1 ; to = z5; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 426 _i = (t14) index; { { auto t8 _b; { ZERO1B (& _b); z5 = _i; if (z5 > 99) RANGEFAULT; z10 = _Formal__Split ((_formals.elts[z5]), &_offset, &_mode, &_type, &_expr, &_unused); #line 427 _b = z10; if (!_b) ASSERTFAULT; } } }; z5 = _Type__Name (_type); _Emit__OpI (((ADDRESS)(& txt9.str)), z5); z4 = (_mode != 0 ); if (z4) { _Emit__Op (((ADDRESS)(& txt13.str))); goto if_33_end; }; if_33_end: /**/; z5 = _i; if (z5 > 99) RANGEFAULT; _Emit__OpN (((ADDRESS)(& txt16.str)), (_formals.elts[z5])); z5 = _i; if (z5 > 99) RANGEFAULT; NILCHECKA (z11 = (_formals.elts[z5])); (((t71_fields*)(z11+(0+t96_size)))->_declared) = 1 ; #line 433 } } }; }; z4 = _ProcType__LargeResult (_tresult); if (z4) { z5 = _Type__Name (_tresult); _Emit__OpI (((ADDRESS)(& txt35.str)), z5); goto if_34_end; }; if_34_end: /**/; _Emit__Op (((ADDRESS)(& txt36.str))); z12 = _Emit__Switch ( 1 ); _i = z12; _Temp__PushSet (); NILCHECKA (z6 = _p); _Marker__PushProcedure (_tresult, (((t38_fields*)(z6+(0+t71_size+t96_size)))->_result), 0 ); z4 = (_Procedure__raisesLabel == 0); if (z4) { z13 = _String__Add (((ADDRESS)(& txt20.str)), 999999 ); _Procedure__raisesLabel = z13; #line 444 goto if_35_end; }; if_35_end: /**/; NILCHECKA (z6 = _p); _Marker__StartRaises (_Procedure__raisesLabel, 0 , (((t38_fields*)(z6+(0+t71_size+t96_size)))->_signature)); NILCHECKA (z2 = _p); _Scope__Enter ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_syms)); z4 = (_Host__incrementalVersion == 0 ); z0 = 0; if (z4) { NILCHECKA (z2 = _p); z0 = (((t71_fields*)(z2+(0+t96_size)))->_exported); #line 447 }; if (z0) { _Emit__Op (((ADDRESS)(& txt37.str))); _Procedure__WriteName (_p); _Emit__Op (((ADDRESS)(& txt38.str))); z4 = _ProcType__LargeResult (_tresult); z0 = ! z4; z4 = 0; if (z0) { z10 = (_tresult != _Void__T); z4 = z10; }; z0 = 0; #line 451 if (z4) { z4 = (_tresult != 0); z0 = z4; }; if (z0) { _Emit__Op (((ADDRESS)(& txt39.str))); goto if_37_end; }; if_37_end: /**/; _Procedure__WriteName (_p); _Emit__Op (((ADDRESS)(& txt40.str))); NILCHECKA (z2 = _p); z4 = _Scope__EmitFrameName ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_syms)); _needComa = z4; { int from, to, index; from = 0 ; z5 = _nFormals - 1 ; to = z5; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 458 _i = (t14) index; if (_needComa) { _Emit__Op (((ADDRESS)(& txt32.str))); goto if_38_end; }; if_38_end: /**/; z5 = _i; if (z5 > 99) RANGEFAULT; _Emit__OpN (((ADDRESS)(& txt25.str)), (_formals.elts[z5])); _needComa = 1 ; #line 460 } } }; }; z4 = _ProcType__LargeResult (_tresult); if (z4) { if (_needComa) { _Emit__Op (((ADDRESS)(& txt32.str))); goto if_40_end; }; if_40_end: /**/; _Emit__Op (((ADDRESS)(& txt33.str))); _needComa = 1 ; goto if_39_end; }; if_39_end: /**/; _Emit__Op (((ADDRESS)(& txt41.str))); z4 = _ProcType__LargeResult (_tresult); z0 = 1; if (! z4) { z4 = (_tresult == _Void__T); z0 = z4; }; z4 = 1; if (! z0) { #line 467 z10 = (_tresult == 0); z4 = z10; }; if (z4) { _Emit__Op (((ADDRESS)(& txt42.str))); goto if_41_end; }; if_41_end: /**/; _Emit__Op (((ADDRESS)(& txt43.str))); goto if_36_end; }; if_36_end: /**/; _Emit__Op (((ADDRESS)(& txt44.str))); _Coverage__CountProcedure (_p); NILCHECKA (z2 = _p); _ProcType__CopyValueOpenArrayParameters ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_signature)); NILCHECKA (z2 = _p); _Stmt__Compile ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_body), &z14); _oc.elts[0] = z14.elts[0]; z0 = ((_oc.elts [0] & (1<<0)) != 0); z4 = 0; if (z0) { z10 = _Type__IsEqual (_tresult, _Void__T); z0 = ! z10; z4 = z0; #line 477 }; if (z4) { NILCHECKA (z6 = _p); _Error__WarnStr ( 1 , (((t71_fields*)(z6+(0+t96_size)))->_name), ((ADDRESS)(& txt45.str))); _Emit__Op (((ADDRESS)(& txt21.str))); z14.elts [0] = 0x00000001; z15.elts[0] = _oc.elts[0] & ~ z14.elts[0]; _oc.elts[0] = z15.elts[0]; goto if_42_end; #line 481 }; if_42_end: /**/; NILCHECKA (z2 = _p); _Scope__Exit ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_syms)); NILCHECKA (z2 = _p); _Marker__EndRaises ((((t38_fields*)(z2+(0+t71_size+t96_size)))->_signature)); _Marker__Pop (); z12 = _Emit__Switch ( 1 ); _i = z12; _Emit__Op (((ADDRESS)(& txt22.str))); _Temp__PopSet (); _Emit__Pop (); NILCHECKA (z2 = _p); (((t38_fields*)(z2+(0+t71_size+t96_size)))->_active) = 0 ; } } }; #line 495 "Procedure.m3" EXPORT t8 _Procedure__CanBeInlined (_t) t6 _t; { t8 z1; t8 z3; t8 z0; t6 z2; #line 495 "Procedure.m3" { auto t8 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; z1 = 0; if (_Host__inlines) { z3 = (_t != 0); z1 = z3; }; z0 = 0; if (z1) { NILCHECKA (z2 = _t); z0 = (((t38_fields*)(z2+(0+t71_size+t96_size)))->_inline); #line 497 }; z1 = 0; if (z0) { NILCHECKA (z2 = _t); z1 = (((t38_fields*)(z2+(0+t71_size+t96_size)))->_hasBody); }; z0 = 0; if (z1) { #line 497 NILCHECKA (z2 = _t); z3 = ! (((t71_fields*)(z2+(0+t96_size)))->_external); z0 = z3; }; z1 = 0; if (z0) { NILCHECKA (z2 = _t); #line 497 z3 = ! (((t38_fields*)(z2+(0+t71_size+t96_size)))->_active); z1 = z3; }; __result = z1; return __result; } } }; #line 501 "Procedure.m3" EXPORT t15 _Procedure__ExpandInline (_p, _actuals) t6 _p; t22 * _actuals; { t6 z1; t8 z2; t6 z3; t26 z4; t14 z5; t21 z6; t14 z7; t8 z8; t3 z9; t8 z10; t8 z0; t12 z11; t15 z12; t30 z13; t6 z14; t16 z15; t16 z16; #line 501 "Procedure.m3" { auto t14 _nFormals; auto t21 _objs; auto t20 _mode; auto t14 _offset; auto t19 _expr; auto t3 _type; auto t3 _tresult; auto t18 _formals; #line 501 auto t16 _oc; auto t8 _unused; auto t15 _result; auto t14 _save; auto t15 __result; { ZERO1B (& _mode); ZERO1B (& _unused); #line 501 CHECKSTACKOVERFLOW; #line 516 NILCHECKA (z1 = _p); z2 = ! (((t38_fields*)(z1+(0+t71_size+t96_size)))->_active); if (!z2) ASSERTFAULT; NILCHECKA (z3 = _p); (((t38_fields*)(z3+(0+t71_size+t96_size)))->_active) = 1 ; _save = _Scanner__offset; NILCHECKA (z1 = _p); _Scanner__offset = (((t71_fields*)(z1+(0+t96_size)))->_origin); NILCHECKA (z3 = _p); z4 = _ProcType__Formals ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_signature)); _Scope__ToList (z4, &_objs, &_nFormals); { int from, to, index; from = 0 ; z5 = _nFormals - 1 ; to = z5; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 523 _i = (t14) index; { { auto t8 _b; { ZERO1B (& _b); NILCHECKB (z6 = _objs); { register t93* array = & (*((t1*) z6)); z7 = _i; #line 524 if (z7 >= (array->size[0])) RANGEFAULT; z5 = (int)(array->elts + (z7 * 4)); }; z8 = _Formal__Split ((*(t12*)z5), &_offset, &_mode, &_type, &_expr, &_unused); #line 524 _b = z8; if (!_b) ASSERTFAULT; } } }; NILCHECKB (z6 = _objs); { register t93* array = & (*((t1*) z6)); z7 = _i; if (z7 >= (array->size[0])) RANGEFAULT; #line 526 z5 = (int)(array->elts + (z7 * 4)); }; z7 = _offset; if ((z7 < 0) || (99 < z7)) RANGEFAULT; (_formals.elts[z7]) = (*(t12*)z5); #line 526 } } }; }; NILCHECKA (z3 = _p); _Scope__Push ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_syms)); NILCHECKA (z3 = _p); z9 = _ProcType__Result ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_signature)); _tresult = z9; _Emit__OpN (((ADDRESS)(& txt11.str)), _p); _Emit__Op (((ADDRESS)(& txt12.str))); { int from, to, index; from = 0 ; z5 = _nFormals - 1 ; to = z5; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 537 _i = (t14) index; z5 = _i; if (z5 > 99) RANGEFAULT; z10 = _Formal__Split ((_formals.elts[z5]), &_offset, &_mode, &_type, &_expr, &_unused); z5 = _Type__Name (_type); _Emit__OpI (((ADDRESS)(& txt9.str)), z5); z2 = (_mode != 0 ); z0 = 1; if (! z2) { z8 = _ProcType__LargeResult (_type); z0 = z8; }; if (z0) { _Emit__Op (((ADDRESS)(& txt13.str))); goto if_43_end; }; if_43_end: /**/; _Emit__OpI (((ADDRESS)(& txt14.str)), _i); } } }; }; { int from, to, index; from = 0 ; z5 = _nFormals - 1 ; to = z5; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 547 _i = (t14) index; z5 = _i; if (z5 > 99) RANGEFAULT; z10 = _Formal__Split ((_formals.elts[z5]), &_offset, &_mode, &_type, &_expr, &_unused); _Emit__OpI (((ADDRESS)(& txt15.str)), _i); z2 = (_mode != 0 ); if (z2) { { register t93* array = & (*_actuals); z7 = _i; if (z7 >= (array->size[0])) RANGEFAULT; z5 = (int)(array->elts + (z7 * 4)); #line 551 }; _Emit__OpT (((ADDRESS)(& txt16.str)), (*(t15*)z5)); goto if_44_end; }; z2 = _ProcType__LargeResult (_type); if (z2) { { register t93* array = & (*_actuals); z7 = _i; if (z7 >= (array->size[0])) RANGEFAULT; z5 = (int)(array->elts + (z7 * 4)); #line 553 }; _Emit__OpT (((ADDRESS)(& txt17.str)), (*(t15*)z5)); goto if_44_end; }; { register t93* array = & (*_actuals); z7 = _i; if (z7 >= (array->size[0])) RANGEFAULT; z5 = (int)(array->elts + (z7 * 4)); #line 555 }; _Emit__OpT (((ADDRESS)(& txt16.str)), (*(t15*)z5)); if_44_end: /**/; } } }; }; _Emit__Op (((ADDRESS)(& txt12.str))); NILCHECKA (z3 = _p); _Scope__EmitFrameType ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_syms)); { int from, to, index; from = 0 ; z5 = _nFormals - 1 ; to = z5; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 566 _i = (t14) index; z5 = _i; if (z5 > 99) RANGEFAULT; z10 = _Formal__Split ((_formals.elts[z5]), &_offset, &_mode, &_type, &_expr, &_unused); z5 = _Type__Name (_type); _Emit__OpI (((ADDRESS)(& txt9.str)), z5); z2 = (_mode != 0 ); if (z2) { _Emit__Op (((ADDRESS)(& txt13.str))); goto if_45_end; }; if_45_end: /**/; z5 = _i; if (z5 > 99) RANGEFAULT; _Emit__OpN (((ADDRESS)(& txt16.str)), (_formals.elts[z5])); z5 = _i; if (z5 > 99) RANGEFAULT; NILCHECKA (z11 = (_formals.elts[z5])); (((t71_fields*)(z11+(0+t96_size)))->_declared) = 1 ; #line 571 } } }; }; { int from, to, index; from = 0 ; z5 = _nFormals - 1 ; to = z5; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 575 _i = (t14) index; z5 = _i; if (z5 > 99) RANGEFAULT; z10 = _Formal__Split ((_formals.elts[z5]), &_offset, &_mode, &_type, &_expr, &_unused); z5 = _i; if (z5 > 99) RANGEFAULT; _Emit__OpN (((ADDRESS)(& txt18.str)), (_formals.elts[z5])); z2 = (_mode != 0 ); if (z2) { _Emit__OpI (((ADDRESS)(& txt14.str)), _i); goto if_46_end; }; z2 = _ProcType__LargeResult (_type); if (z2) { _Emit__OpI (((ADDRESS)(& txt19.str)), _i); goto if_46_end; }; _Emit__OpI (((ADDRESS)(& txt14.str)), _i); if_46_end: /**/; } } }; }; NILCHECKA (z1 = _p); z8 = ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_result) != 0); if (z8) { z12 = _Temp__AllocEmpty (_tresult, 0 ); #line 587 _result = z12; goto if_47_end; }; if_47_end: /**/; NILCHECKA (z3 = _p); _Marker__PushProcedure (_tresult, (((t38_fields*)(z3+(0+t71_size+t96_size)))->_result), 1 ); z2 = (_Procedure__raisesLabel == 0); if (z2) { z13 = _String__Add (((ADDRESS)(& txt20.str)), 999999 ); _Procedure__raisesLabel = z13; #line 589 goto if_48_end; }; if_48_end: /**/; NILCHECKA (z14 = _p); _Marker__StartRaises (_Procedure__raisesLabel, 0 , (((t38_fields*)(z14+(0+t71_size+t96_size)))->_signature)); NILCHECKA (z3 = _p); _Scope__Enter ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_syms)); _Coverage__CountProcedure (_p); NILCHECKA (z3 = _p); _Stmt__Compile ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_body), &z15); _oc.elts[0] = z15.elts[0]; z0 = ((_oc.elts [0] & (1<<0)) != 0); z2 = 0; if (z0) { z8 = _Type__IsEqual (_tresult, _Void__T); z0 = ! z8; z2 = z0; #line 594 }; if (z2) { _Emit__Op (((ADDRESS)(& txt21.str))); z15.elts [0] = 0x00000001; z16.elts[0] = _oc.elts[0] & ~ z15.elts[0]; _oc.elts[0] = z16.elts[0]; goto if_49_end; #line 597 }; if_49_end: /**/; NILCHECKA (z3 = _p); _Scope__Exit ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_syms)); NILCHECKA (z3 = _p); _Marker__EndRaises ((((t38_fields*)(z3+(0+t71_size+t96_size)))->_signature)); _Marker__Pop (); NILCHECKA (z1 = _p); z8 = ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_result) != 0); if (z8) { _Emit__OpT (((ADDRESS)(& txt18.str)), _result); NILCHECKA (z3 = _p); _Emit__OpN (((ADDRESS)(& txt16.str)), (((t38_fields*)(z3+(0+t71_size+t96_size)))->_result)); #line 604 goto if_50_end; }; if_50_end: /**/; _Emit__Op (((ADDRESS)(& txt22.str))); _Emit__Op (((ADDRESS)(& txt22.str))); _Emit__OpN (((ADDRESS)(& txt23.str)), _p); _Scanner__offset = _save; NILCHECKA (z3 = _p); (((t38_fields*)(z3+(0+t71_size+t96_size)))->_active) = 0 ; __result = _result; return __result; } } }; #line 616 "Procedure.m3" PRIVATE t12 _Procedure__Select (_a, _vb) t6 _a; t12 _vb; { t6 z1; t8 z2; t8 z3; t6 z4; #line 616 "Procedure.m3" { auto t6 _b; auto t12 __result; { CHECKSTACKOVERFLOW; { register ADDRESS ref = (ADDRESS) _vb; register int tc = TYPECODE (ref); if (tc == 0) goto tc0_0; if (ISSUBTYPE (tc, TC6)) goto tc0_1; #line 620 goto tc0_else; tc0_0:; _Procedure__Redefined (_a); __result = _a; return __result; tc0_1:; { auto t6 _t; { _t = (t6) ref; _b = _t; } } goto tc0_exit; tc0_else:; _Procedure__Redefined (_a); __result = _a; return __result; tc0_exit:; }; NILCHECKA (z1 = _a); z2 = 0; if ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_hasBody)) { NILCHECKA (z1 = _b); z2 = (((t38_fields*)(z1+(0+t71_size+t96_size)))->_hasBody); #line 627 }; if (z2) { _Procedure__Redefined (_a); __result = _b; return __result; }; NILCHECKA (z1 = _a); if ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_hasBody)) { NILCHECKA (z1 = _a); z3 = ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_peer) != 0); if (z3) { _Procedure__Redefined (_a); goto if_52_end; }; NILCHECKA (z4 = _a); (((t38_fields*)(z4+(0+t71_size+t96_size)))->_peer) = _b; NILCHECKA (z1 = _a); z2 = 1; if (! (((t71_fields*)(z1+(0+t96_size)))->_imported)) { NILCHECKA (z1 = _b); z2 = (((t71_fields*)(z1+(0+t96_size)))->_imported); #line 635 }; NILCHECKA (z1 = _a); (((t71_fields*)(z1+(0+t96_size)))->_imported) = z2; NILCHECKA (z1 = _b); NILCHECKA (z4 = _a); (((t71_fields*)(z4+(0+t96_size)))->_scope) = (((t71_fields*)(z1+(0+t96_size)))->_scope); #line 636 if_52_end: /**/; __result = _a; return __result; }; NILCHECKA (z1 = _b); if ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_hasBody)) { NILCHECKA (z1 = _b); z3 = ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_peer) != 0); if (z3) { _Procedure__Redefined (_b); goto if_53_end; }; NILCHECKA (z4 = _b); (((t38_fields*)(z4+(0+t71_size+t96_size)))->_peer) = _a; NILCHECKA (z1 = _b); z2 = 1; if (! (((t71_fields*)(z1+(0+t96_size)))->_imported)) { NILCHECKA (z1 = _a); z2 = (((t71_fields*)(z1+(0+t96_size)))->_imported); #line 644 }; NILCHECKA (z1 = _b); (((t71_fields*)(z1+(0+t96_size)))->_imported) = z2; NILCHECKA (z1 = _a); NILCHECKA (z4 = _b); (((t71_fields*)(z4+(0+t96_size)))->_scope) = (((t71_fields*)(z1+(0+t96_size)))->_scope); #line 645 if_53_end: /**/; __result = _b; return __result; }; _Procedure__Redefined (_a); __result = _b; return __result; } } }; #line 654 "Procedure.m3" PRIVATE t98 _Procedure__Redefined (_t) t6 _t; { t6 z2; #line 654 "Procedure.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); _Error__Str ((((t71_fields*)(z2+(0+t96_size)))->_name), ((ADDRESS)(& txt46.str))); } } }; #line 659 "Procedure.m3" EXPORT t3 _Procedure__Signature (_t) t6 _t; { t8 z2; t6 z1; #line 659 "Procedure.m3" { auto t3 __result; { CHECKSTACKOVERFLOW; z2 = (_t == 0); if (z2) { __result = 0; return __result; }; NILCHECKA (z1 = _t); __result = (((t38_fields*)(z1+(0+t71_size+t96_size)))->_signature); return __result; } } }; #line 665 "Procedure.m3" EXPORT t8 _Procedure__HasBody (_t) t6 _t; { t8 z2; t8 z0; t6 z3; #line 665 "Procedure.m3" { auto t8 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; z2 = (_t != 0); z0 = 0; if (z2) { NILCHECKA (z3 = _t); z0 = (((t38_fields*)(z3+(0+t71_size+t96_size)))->_hasBody); }; #line 667 __result = z0; return __result; } } }; #line 670 "Procedure.m3" PRIVATE t98 _Procedure__FPrinter (_t, _map, _wr) t6 _t; t5 _map; t4 _wr; { t6 z1; t8 z3; t6 z2; #line 670 "Procedure.m3" { auto t3 _sig; auto t2 _s; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); z3 = ((((t38_fields*)(z1+(0+t71_size+t96_size)))->_peer) == 0); if (z3) { NILCHECKA (z1 = _t); _sig = (((t38_fields*)(z1+(0+t71_size+t96_size)))->_signature); goto if_55_end; }; NILCHECKA (z1 = _t); NILCHECKA (z2 = (((t38_fields*)(z1+(0+t71_size+t96_size)))->_peer)); _sig = (((t38_fields*)(z2+(0+t71_size+t96_size)))->_signature); #line 675 if_55_end: /**/; (_s._top) = 0 ; _Scope__NameToPrefix (_t, &_s, 0 ); _String__PutStack (_wr, _s); _Wr__PutText (_wr, ((ADDRESS)(& txt47.str))); _Type__Fingerprint (_sig, _map, _wr); } } }; PRIVATE int init_done = -1; #line 681 "Procedure.m3" PRIVATE void Procedure__initProc (g) int g; { #line 681 "Procedure.m3" if (init_done >= g) return; init_done = g; INITIALIZE (& Procedure__init); INITIALIZE (& Scanner__init); INITIALIZE (& Decl__init); #line 681 INITIALIZE (& Module__init); INITIALIZE (& Delay__init); INITIALIZE (& Temp__init); INITIALIZE (& Variable__init); INITIALIZE (& Wr__init); #line 681 INITIALIZE (& Void__init); INITIALIZE (& Text__init); INITIALIZE (& Token__init); INITIALIZE (& CallExpr__init); INITIALIZE (& Coverage__init); #line 681 INITIALIZE (& Marker__init); INITIALIZE (& BlockStmt__init); INITIALIZE (& Stmt__init); INITIALIZE (& Formal__init); INITIALIZE (& Expr__init); #line 681 INITIALIZE (& Emit__init); INITIALIZE (& ProcType__init); INITIALIZE (& Host__init); INITIALIZE (& ReturnStmt__init); INITIALIZE (& Error__init); #line 681 INITIALIZE (& Scope__init); INITIALIZE (& Type__init); INITIALIZE (& String__init); INITIALIZE (& ValueRep__init); INITIALIZE (& Value__init); #line 50 ZERO1 ((& _Procedure__resultName)); ZERO1 ((& _Procedure__raisesLabel)); ZERO1 ((& _Procedure__all)); ZERO1 ((& _Procedure__level)); #line 681 return; }; #line 681 "Procedure.m3" PRIVATE void t38_InitProc (obj) char* obj; { register t38_fields* p; #line 681 "Procedure.m3" CHECKSTACKOVERFLOW; p = (t38_fields*) (obj + TC12->datasize); p->_level = 0 ; }; #line 681 "Procedure.m3" PRIVATE void t38_SetupProc () { register int* p; #line 681 "Procedure.m3" t38_TC.datasize += TC12->datasize; t38_TC.methodsize += TC12->methodsize; p = (int*) UALLOC (t38_TC.methodsize); COPY (TC12->defaultMethods, p, (TC12->methodsize)); #line 681 p[0] = (int)(& t38_TC); p[1] = 0; ((t71_methods*) (((char*)p) + TC96->methodsize))->_bind = _Procedure__Bind; ((t71_methods*) (((char*)p) + TC96->methodsize))->_typeCheck = _Procedure__Check; #line 681 ((t71_methods*) (((char*)p) + TC96->methodsize))->_class = _Procedure__MyClass; ((t71_methods*) (((char*)p) + TC96->methodsize))->_fingerprint = _Procedure__FPrinter; #line 681 ((t71_methods*) (((char*)p) + TC96->methodsize))->_load = _Procedure__Load; ((t71_methods*) (((char*)p) + TC96->methodsize))->_write = _Procedure__WriteName; #line 681 ((t71_methods*) (((char*)p) + TC96->methodsize))->_select = _Procedure__Select; ((t71_methods*) (((char*)p) + TC96->methodsize))->_declare0 = _Procedure__Declarer; #line 681 ((t71_methods*) (((char*)p) + TC96->methodsize))->_declare1 = _Procedure__Compile; ((t71_methods*) (((char*)p) + TC96->methodsize))->_needsDecl = _ValueRep__Always; #line 681 ((t71_methods*) (((char*)p) + TC96->methodsize))->_toExpr = _ValueRep__NoExpr; ((t71_methods*) (((char*)p) + TC96->methodsize))->_toType = _ValueRep__NoType; #line 681 t38_TC.defaultMethods = (char*) p; }; #line 681 "Procedure.m3" PRIVATE void t38_PrintProc (obj) char *obj; { t38_fields* o; #line 681 "Procedure.m3" CHECKSTACKOVERFLOW; if (TC12->printProc != 0) {TC12->printProc (obj); } fprintf (stderr, "{%s} ", TC38->brand); o = (t38_fields*) (obj + TC12->datasize); #line 681 fprintf (stderr, "next = %#x", o->_next); fprintf (stderr, ", "); fprintf (stderr, "level = %d", o->_level); fprintf (stderr, ", "); #line 681 fprintf (stderr, "peer = %#x", o->_peer); fprintf (stderr, ", "); fprintf (stderr, "signature = %#x", o->_signature); fprintf (stderr, ", "); #line 681 fprintf (stderr, "syms = %#x", o->_syms); fprintf (stderr, ", "); fprintf (stderr, "body = %#x", o->_body); fprintf (stderr, ", "); #line 681 fprintf (stderr, "hasBody = %d", o->_hasBody); fprintf (stderr, ", "); fprintf (stderr, "inline = %d", o->_inline); fprintf (stderr, ", "); #line 681 fprintf (stderr, "defined = %d", o->_defined); fprintf (stderr, ", "); fprintf (stderr, "builtin = %d", o->_builtin); fprintf (stderr, ", "); #line 681 fprintf (stderr, "active = %d", o->_active); fprintf (stderr, ", "); fprintf (stderr, "result = %#x", o->_result); fprintf (stderr, ", "); #line 681 }; PRIVATE INITLINK me_0 ={(INITLINK*)NIL, 0, Procedure__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_Module__T__be7ead4a3afd8be5, &VS_Module__depth__a65bb56937bd5d03, &VS_Delay__Closure__94b4fe673a5d6ded, &VS_Delay__pending__c38e24f234433188, &VS_Delay__FinishUp__4aab618e339b9a83, &VS_Temp__T__3a6c7dc12615e4ee, &VS_Temp__AllocEmpty__20296f6d2a78c948, &VS_Temp__FromValue__c79a4f6f291f20ac, &VS_Temp__PushSet__421e3799382982bc, &VS_Temp__PopSet__e0f9f19236e0186c, &VS_Variable__T__be7ead4a3afd8be5, &VS_Variable__New__7401d5b22f8881d4, &VS_Variable__NewFormal__11d06a7f2428ac4c, &VS_Variable__BindType__6a32007d2a79f302, &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_Text__T__fc4b369f3ab271fd, &VS_Token__DeclStart__730c82bc2c2001b8, &VS_Token__TypeStart__f71616cb38a20d02, &VS_Token__ExprStart__21dc8a0a27344836, &VS_CallExpr__MethodList__7e87c2d720444b71, &VS_Coverage__NoteProcedure__d23bd2312aba3946, &VS_Coverage__CountProcedure__41da494022db3d5e, &VS_Marker__Prefix__819dde3f21a97326, &VS_Marker__Pop__e998f6f7244b0f3e, &VS_Marker__StartRaises__0f15931e32ee1d1a, &VS_Marker__EndRaises__36efc08b269a8318, &VS_Marker__PushProcedure__9278f0072a06b043, &VS_BlockStmt__ParseBlock__1f26c782367e9f87, &VS_Stmt__T__2446b70b3f7780a5, &VS_Stmt__Bind__55f2c79a304c25df, &VS_Stmt__TypeCheck__e228c94928564a9d, &VS_Stmt__Precompile__68dddedb3aa69659, &VS_Stmt__Compile__53f9f2c43edb087a, &VS_Formal__Split__dd8860c23cba8174, &VS_Expr__T__2446b70b3f7780a5, &VS_Expr__List__3f87eceb2b9a246a, &VS_Emit__MaxStream__cf0a0e8934c9c9f3, &VS_Emit__Format__bc4a2b083b93bbd7, &VS_Emit__Op__072646cc27c8ae10, &VS_Emit__OpS__f7dc93802c012951, &VS_Emit__OpI__02cb878634bb9f49, &VS_Emit__OpN__a3f6e37c396e144c, &VS_Emit__OpT__764bdffe21d249e8, &VS_Emit__Push__bb0d136633891859, &VS_Emit__Pop__8a7be1412301ed32, &VS_Emit__Switch__e69d0876372d3ad7, &VS_ProcType__Raisee__5fe771ff27c179d9, &VS_ProcType__ParseSignature__2400d7a73b2da324, &VS_ProcType__Formals__fdd88434270b1221, &VS_ProcType__Result__fc16f9f320328006, &VS_ProcType__GenVar__ca49ceb122e5df00, &VS_ProcType__LargeResult__547fe44c362c53bb, &VS_ProcType__New__43b2b105372c5e7b, &VS_ProcType__SetMethods__6a0811862efca621, &VS_ProcType__CopyValueOpenArrayParameters__17e0f6e626471273, &VS_Host__inlines__564ad924303b65d4, &VS_Host__incrementalVersion__1798bcf82af0e178, &VS_Host__toCompile__bcbbdf8434b39d67, &VS_Error__Str__2bd0723e3872e90c, &VS_Error__WarnStr__aa8e70c53534552c, &VS_Scope__T__3a6c7dc12615e4ee, &VS_Scope__ValueList__64bf053e22e4e53c, &VS_Scope__PushNew__d323325530c46e5d, &VS_Scope__PopNew__3afab09a31bee774, &VS_Scope__Push__ff579fe72573f581, &VS_Scope__Pop__cfcd8a43301536dd, &VS_Scope__Insert__ef77c00626575764, &VS_Scope__EmitFrameName__cc10a94421e6662d, &VS_Scope__EmitLocalFrameName__ae9e9abf3a4de3a1, &VS_Scope__EmitFrameType__7dcb5adc2ab8ed27, &VS_Scope__ToList__4f3684492cf42c93, &VS_Scope__Bind__344f0d6129e368d1, &VS_Scope__TypeCheck__f0c8e8c4224804fd, &VS_Scope__Enter__86781a4c2d3f0a08, &VS_Scope__Exit__71e6b79c26940459, &VS_Scope__WarnUnused__9058f21e35f1c66f, &VS_Scope__NameToPrefix__480892d13153ee71, &VS_Type__T__2446b70b3f7780a5, &VS_Type__Map__41dd9f4b33104fce, &VS_Type__List__5791758e343becc1, &VS_Type__Bind__3443ccd12eedb9e8, &VS_Type__IsEqual__4098bc3f32325d05, &VS_Type__Check__3c8ceb09206ee440, &VS_Type__Name__f99416972257a869, &VS_Type__IsAssignable__6d0a7b0e2c806002, &VS_Type__Fingerprint__0d24a3463c25e166, &VS_String__T__3a6c7dc12615e4ee, &VS_String__Add__0f5e21cc3d204b63, &VS_String__PutStack__2155a7863fdb4aca, &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__GenStorageClass__fc0c1a1823c9d008, &VS_Procedure__T__be7ead4a3afd8be5, &VS_Scanner__cur__929fa6f8367ea415, &VS_Scanner__MatchID__4fb3c66f3429afd9, &VS_Scanner__Match__aaf5b32f2f19a6d8, &VS_Scanner__Fail__a15a8cf32391aa62, &VS_Scanner__GetToken__192100a32c7e576d, NIL }; void Procedure__MLink (phase) int phase; { switch (phase) { case 0: { me_0.link = Procedure__init; Procedure__init = & me_0; t38_TC = t38_TC_init; REGISTERTYPE (TC38); break; }; case 1: { t38_TC.parent = TC_M3__Value; #line 21 "Procedure.m3" IDENTIFYTYPES (TC6, TC38); break; }; case 2: { break; }; }; };