#include "M3Runtime.h" typedef struct { int tc; char* str; int len; } TXT; PRIVATE TXT txt1 = { 3, "bad expression", 15}; PRIVATE TXT txt2 = { 3, "array constructor has no values", 32}; PRIVATE TXT txt3 = { 3, "bad selector", 13}; PRIVATE TXT txt4 = { 3, "syntax error: expected \047keyword := value\047", 42}; #line 14 "./Expr.i3" #define t9 ADDRESS #define t73 void #define t53 ADDRESS typedef struct { TYPE self; int private; } t53_methods; #define t53_msize (sizeof (t53_methods)) typedef struct { ADDRESS methods; } t53_fields; #define t53_size (sizeof (t53_fields)) #define TC53 TC_UNTRACED_ROOT IMPORT TYPE TC_UNTRACED_ROOT; IMPORT char VS_UNTRACED_ROOT__3e0964513fd6da20; #line 16 "../Interfaces/M3.i3" #define t4 ADDRESS #define TC4 TC_M3__Expr IMPORT TYPE TC_M3__Expr; #line 16 IMPORT char VS_M3__Expr__8ae39aaa2d432477; #line 116 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef struct { char* elts; int size[1]; } t61; #line 188 "ExprParse.m3" #define t1 t61 #define TC9 TC_Expr__List IMPORT TYPE TC_Expr__List; #line 14 "./Expr.i3" IMPORT char VS_Expr__List__3f87eceb2b9a246a; #define t27 ADDRESS #define TC27 TC_REFANY IMPORT TYPE TC_REFANY; IMPORT char VS_REFANY__4b8748e831fc107a; #define t34 ADDRESS typedef int t12; #define TC34 TC_ADDRESS IMPORT TYPE TC_ADDRESS; IMPORT char VS_ADDRESS__30f7308738738b44; #line 17 "../Interfaces/Scope.i3" #define t40 ADDRESS #define t2 ADDRESS #define TC2 TC_M3__Value IMPORT TYPE TC_M3__Value; #line 15 "../Interfaces/M3.i3" IMPORT char VS_M3__Value__6f64cf9c2cae25fb; #line 17 "../Interfaces/Scope.i3" #define t44 t61 #define TC40 TC_Scope__ValueList IMPORT TYPE TC_Scope__ValueList; #line 17 IMPORT char VS_Scope__ValueList__64bf053e22e4e53c; #line 16 "../Interfaces/Type.i3" #define t46 ADDRESS #define t52 t61 #define TC46 TC_Type__Map IMPORT TYPE TC_Type__Map; #line 16 IMPORT char VS_Type__Map__41dd9f4b33104fce; #define t50 ADDRESS #define t8 ADDRESS #define TC8 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 { t50 _next; t8 _type; } t51; #define TC50 TC_Type__List IMPORT TYPE TC_Type__List; #line 17 IMPORT char VS_Type__List__5791758e343becc1; #define t74 ADDRESS #define TC74 TC_NULL IMPORT TYPE TC_NULL; IMPORT char VS_NULL__fb50c7d53bec30dc; #line 13 "../Interfaces/String.i3" #define t3 ADDRESS #define TC3 TC_String__T IMPORT TYPE TC_String__T; #line 13 IMPORT char VS_String__T__3a6c7dc12615e4ee; #line 15 "../Interfaces/Token.i3" typedef unsigned char t13; #line 45 typedef struct { int elts[4]; } t5; #line 270 "ExprParse.m3" typedef t4 (*t6)(); typedef unsigned char t7; #line 188 typedef short t10; typedef struct { t4 elts[301]; } t11; #line 38 "../Interfaces/Scanner.i3" typedef t73 (*t14)(); #define t28 ADDRESS typedef struct { TYPE self; int private; } t28_methods; #define t28_msize (sizeof (t28_methods)) typedef struct { ADDRESS methods; } t28_fields; #define t28_size (sizeof (t28_fields)) #define TC28 TC_ROOT IMPORT TYPE TC_ROOT; IMPORT char VS_ROOT__349f58f628be0ac6; #define t28_MapProc TC_ROOT->mapProc #define t15 ADDRESS #define TC15 TC_Rd__T IMPORT TYPE TC_Rd__T; #line 83 ".ROOT/.boots/corelib/Interfaces/Rd.i3" IMPORT char VS_Rd__T__2555b70b3f7780b1; #define t15_MapProc TC_Rd__T->mapProc #define t16 ADDRESS #define TC16 TC_TEXT IMPORT TYPE TC_TEXT; IMPORT char VS_TEXT__b7a92447326386f5; #define t16_MapProc TC_TEXT->mapProc typedef t3 (*t17)(); #line 13 "../Interfaces/Scanner.i3" typedef struct { t13 _token; t3 _string; t12 _value; t12 _offset; } t18; #line 287 ".ROOT/.boots/corelib/Interfaces/Rd.i3" typedef t7 (*t19)(); typedef int t20; #line 249 typedef t20 (*t21)(); #line 220 typedef t16 (*t22)(); typedef unsigned char t23; #line 189 #define t24 t61 typedef t23 (*t25)(); #line 84 typedef unsigned char t26; #line 17 "./CallExpr.i3" #define t29 ADDRESS #define TC29 TC_CallExpr__MethodList IMPORT TYPE TC_CallExpr__MethodList; #line 17 IMPORT char VS_CallExpr__MethodList__7e87c2d720444b71; #line 19 "../Interfaces/M3.i3" #define t33 ADDRESS #define TC33 TC_M3__Temp IMPORT TYPE TC_M3__Temp; #line 19 IMPORT char VS_M3__Temp__450b691937f03dae; #line 22 "./CallExpr.i3" typedef t33 (*t30)(); #line 20 typedef t8 (*t31)(); typedef t29 (*t32)(); typedef double t35; #line 14 "./CompareExpr.i3" typedef unsigned char t36; #line 31 "../Interfaces/ObjectType.i3" typedef t12 (*t37)(); #line 14 "../Interfaces/M3.i3" #define t38 ADDRESS #define TC38 TC_M3__Scope IMPORT TYPE TC_M3__Scope; #line 14 IMPORT char VS_M3__Scope__6e6d8848308d8a2d; #line 19 "../Interfaces/String.i3" typedef signed_char t57; #line 65 "../Interfaces/Token.i3" #define t55 t61 typedef struct { t3 elts[100]; } t58; #line 17 "../Interfaces/String.i3" typedef struct { t12 _top; t58 _stk; } t39; #line 14 typedef struct { t3 _module; t3 _item; } t41; #line 38 "../Interfaces/Scope.i3" typedef t2 (*t42)(); #line 31 typedef t38 (*t43)(); #line 90 ".ROOT/.boots/corelib/Interfaces/Wr.i3" #define t45 ADDRESS #define TC45 TC_Wr__T IMPORT TYPE TC_Wr__T; #line 90 IMPORT char VS_Wr__T__2555b70b3f7780b1; #define t45_MapProc TC_Wr__T->mapProc typedef unsigned char t47; #line 40 "../Interfaces/Value.i3" typedef t47 (*t48)(); #line 121 "../Interfaces/Type.i3" typedef t46 (*t49)(); #line 17 "../Interfaces/M3.i3" #define t54 ADDRESS #define TC54 TC_M3__Stmt IMPORT TYPE TC_M3__Stmt; #line 17 IMPORT char VS_M3__Stmt__376b307627fc1f2f; #line 65 "../Interfaces/Token.i3" typedef struct { t3 elts[97]; } t56; #line 67 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef signed_char t59; typedef t59 (*t60)(); #line 91 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef unsigned char t62; #line 15 ".ROOT/.boots/corelib/Interfaces/Thread.i3" #define t63 ADDRESS #define TC63 TC_Thread__T IMPORT TYPE TC_Thread__T; #line 15 IMPORT char VS_Thread__T__2555b70b3f7780b1; #define t63_MapProc TC_Thread__T->mapProc typedef t27 (*t64)(); #define t65 ADDRESS #define TC65 TC_Thread__Condition IMPORT TYPE TC_Thread__Condition; #line 21 IMPORT char VS_Thread__Condition__26d5968239e08f4e; #define t65_MapProc TC_Thread__Condition->mapProc #define t66 ADDRESS #define TC66 TC_MUTEX IMPORT TYPE TC_MUTEX; IMPORT char VS_MUTEX__1f9d4e89391ab815; #define t66_MapProc TC_MUTEX->mapProc typedef t63 (*t67)(); #line 23 #define t68 ADDRESS #line 23 typedef struct { t64 _apply; } t68_methods; #define t68_msize (sizeof (t68_methods)) typedef struct { #line 23 int filler; } t68_fields; #define t68_size (sizeof (t68_fields)) #define TC68 TC_Thread__Closure IMPORT TYPE TC_Thread__Closure; #line 23 IMPORT char VS_Thread__Closure__7fb5c6232c5a658a; #define t68_MapProc TC_Thread__Closure->mapProc typedef t65 (*t69)(); typedef t66 (*t70)(); #line 28 #define t71 ADDRESS #line 28 typedef struct { int filler; } t71_methods; #define t71_msize (sizeof (t71_methods)) typedef struct { #line 28 t20 _stackSize; } t71_fields; #define t71_size (sizeof (t71_fields)) #define TC71 TC_Thread__SizedClosure IMPORT TYPE TC_Thread__SizedClosure; #line 28 IMPORT char VS_Thread__SizedClosure__8a46717d2eae7b07; #define t71_MapProc TC_Thread__SizedClosure->mapProc typedef CLOSURE t72; typedef float t75; #line 10 "ExprParse.m3" IMPORT INITLINK* Scanner__init; IMPORT INITLINK* EnumExpr__init; IMPORT INITLINK* KeywordExpr__init; IMPORT INITLINK* NamedExpr__init; #line 10 IMPORT INITLINK* RangeExpr__init; IMPORT INITLINK* ConsExpr__init; IMPORT INITLINK* CallExpr__init; IMPORT INITLINK* TypeExpr__init; #line 10 IMPORT INITLINK* SubscriptExpr__init; IMPORT INITLINK* QualifyExpr__init; IMPORT INITLINK* DerefExpr__init; IMPORT INITLINK* TextExpr__init; #line 10 IMPORT INITLINK* LongrealExpr__init; IMPORT INITLINK* RealExpr__init; IMPORT INITLINK* IntegerExpr__init; IMPORT INITLINK* ConcatExpr__init; #line 10 IMPORT INITLINK* NotExpr__init; IMPORT INITLINK* NegateExpr__init; IMPORT INITLINK* PlusExpr__init; IMPORT INITLINK* InExpr__init; #line 10 IMPORT INITLINK* SubtractExpr__init; IMPORT INITLINK* AddExpr__init; IMPORT INITLINK* ModExpr__init; IMPORT INITLINK* DivideExpr__init; #line 10 IMPORT INITLINK* DivExpr__init; IMPORT INITLINK* MultiplyExpr__init; IMPORT INITLINK* CompareExpr__init; IMPORT INITLINK* EqualExpr__init; #line 10 IMPORT INITLINK* OrExpr__init; IMPORT INITLINK* AndExpr__init; IMPORT INITLINK* ObjectType__init; IMPORT INITLINK* CHar__init; #line 10 IMPORT INITLINK* Value__init; IMPORT INITLINK* Type__init; IMPORT INITLINK* String__init; IMPORT INITLINK* Error__init; IMPORT INITLINK* Expr__init; #line 10 IMPORT INITLINK* Token__init; IMPORT INITLINK* ExprParse__init; IMPORT t18 _Scanner__cur; IMPORT char VS_Scanner__cur__929fa6f8367ea415; #line 10 IMPORT t73 _Scanner__Match (); IMPORT char VS_Scanner__Match__aaf5b32f2f19a6d8; IMPORT t3 _Scanner__MatchID (); IMPORT char VS_Scanner__MatchID__4fb3c66f3429afd9; #line 10 IMPORT t73 _Scanner__GetToken (); IMPORT char VS_Scanner__GetToken__192100a32c7e576d; IMPORT t73 _Scanner__Fail (); IMPORT char VS_Scanner__Fail__a15a8cf32391aa62; #line 10 IMPORT t4 _EnumExpr__New (); IMPORT char VS_EnumExpr__New__4dc38ae92c11d10f; IMPORT t4 _KeywordExpr__New (); IMPORT char VS_KeywordExpr__New__3c2bbe8b31c0d46b; #line 10 IMPORT t4 _NamedExpr__New (); IMPORT char VS_NamedExpr__New__6a9d9f423596e37d; IMPORT t7 _NamedExpr__Split (); IMPORT char VS_NamedExpr__Split__034b990827a61ddc; #line 10 IMPORT t4 _RangeExpr__New (); IMPORT char VS_RangeExpr__New__994c470a3fe972ea; IMPORT t4 _ConsExpr__New (); IMPORT char VS_ConsExpr__New__3a31cb372bfb3a81; #line 10 IMPORT t4 _CallExpr__New (); IMPORT char VS_CallExpr__New__eef778f52be44442; IMPORT t4 _TypeExpr__New (); IMPORT char VS_TypeExpr__New__1f10d03a28487bf7; #line 10 IMPORT t4 _SubscriptExpr__New (); IMPORT char VS_SubscriptExpr__New__233fed2b234c5b11; IMPORT t4 _QualifyExpr__New (); #line 10 IMPORT char VS_QualifyExpr__New__e5b2c7be3fb31b56; IMPORT t4 _DerefExpr__New (); IMPORT char VS_DerefExpr__New__344f21aa225a201e; #line 10 IMPORT t4 _TextExpr__New (); IMPORT char VS_TextExpr__New__59f81ed53141605d; IMPORT t4 _LongrealExpr__NewS (); IMPORT char VS_LongrealExpr__NewS__b15c4da130a8ffb1; #line 10 IMPORT t4 _RealExpr__NewS (); IMPORT char VS_RealExpr__NewS__c219e06a31e90d6b; IMPORT t4 _IntegerExpr__New (); IMPORT char VS_IntegerExpr__New__864172512ee81acd; #line 10 IMPORT t4 _ConcatExpr__New (); IMPORT char VS_ConcatExpr__New__ab8b85833d72c085; IMPORT t4 _NotExpr__New (); IMPORT char VS_NotExpr__New__ec8622143bd956b4; #line 10 IMPORT t4 _NegateExpr__New (); IMPORT char VS_NegateExpr__New__62e617003229e476; IMPORT t4 _PlusExpr__New (); IMPORT char VS_PlusExpr__New__bf642fd93973a3b9; #line 10 IMPORT t4 _InExpr__New (); IMPORT char VS_InExpr__New__54d7e56a3756b0b5; IMPORT t4 _SubtractExpr__New (); IMPORT char VS_SubtractExpr__New__557c96a3390757a2; #line 10 IMPORT t4 _AddExpr__New (); IMPORT char VS_AddExpr__New__a866024b2bf44084; IMPORT t4 _ModExpr__New (); IMPORT char VS_ModExpr__New__1adaaaa62850acc7; #line 10 IMPORT t4 _DivideExpr__New (); IMPORT char VS_DivideExpr__New__91c519523520f59a; IMPORT t4 _DivExpr__New (); IMPORT char VS_DivExpr__New__ae8d1054208575fc; #line 10 IMPORT t4 _MultiplyExpr__New (); IMPORT char VS_MultiplyExpr__New__85eb063a2ffd28fc; IMPORT t4 _CompareExpr__NewLT (); #line 10 IMPORT char VS_CompareExpr__NewLT__d3bc668c338ffbca; IMPORT t4 _CompareExpr__NewLE (); IMPORT char VS_CompareExpr__NewLE__270970fc3aa3e654; #line 10 IMPORT t4 _CompareExpr__NewGT (); IMPORT char VS_CompareExpr__NewGT__95364c512e28e614; IMPORT t4 _CompareExpr__NewGE (); IMPORT char VS_CompareExpr__NewGE__61835a212704fb8a; #line 10 IMPORT t4 _EqualExpr__NewEQ (); IMPORT char VS_EqualExpr__NewEQ__930765563129e052; IMPORT t4 _EqualExpr__NewNE (); IMPORT char VS_EqualExpr__NewNE__29a40e682d0d7ece; #line 10 IMPORT t4 _OrExpr__New (); IMPORT char VS_OrExpr__New__fab633f338537c35; IMPORT t4 _AndExpr__New (); IMPORT char VS_AndExpr__New__3ecf5ff13c484356; #line 10 IMPORT t73 _ObjectType__SetSuper (); IMPORT char VS_ObjectType__SetSuper__b06a283422493524; IMPORT t8 _CHar__T; IMPORT char VS_CHar__T__0265fbec363e7a68; #line 10 IMPORT TYPE TC_Value__T; IMPORT char VS_Value__T__2446b70b3f7780a5; IMPORT TYPE TC_Type__T; IMPORT char VS_Type__T__2446b70b3f7780a5; #line 10 IMPORT t8 _Type__Parse (); IMPORT char VS_Type__Parse__603df5e3247e0b72; IMPORT t73 _Error__Msg (); IMPORT char VS_Error__Msg__4d119a332467757f; #line 10 IMPORT TYPE TC_Expr__T; IMPORT char VS_Expr__T__2446b70b3f7780a5; IMPORT t5 _Token__DeclStart; IMPORT char VS_Token__DeclStart__730c82bc2c2001b8; #line 10 IMPORT t5 _Token__TypeStart; IMPORT char VS_Token__TypeStart__f71616cb38a20d02; IMPORT t5 _Token__ExprStart; IMPORT char VS_Token__ExprStart__21dc8a0a27344836; #line 10 EXPORT t4 _ExprParse__E0 (); EXPORT char VS_ExprParse__E0__d85087933166b10e = '\0'; PRIVATE t4 _ExprParse__E1 (); PRIVATE t4 _ExprParse__E2 (); #line 10 PRIVATE t4 _ExprParse__E3 (); PRIVATE t4 _ExprParse__E4 (); PRIVATE t4 _ExprParse__E5 (); PRIVATE t5 _ExprParse__SelectStart = {{ 0x000f2000, 0x00002000, 0x00000100 }}; #line 10 PRIVATE t4 _ExprParse__E6 (); PRIVATE t4 _ExprParse__EPrimary (); PRIVATE t4 _ExprParse__ESelector (); PRIVATE t4 _ExprParse__EActual (); #line 10 PRIVATE t4 _ExprParse__EConstructor (); #line 26 "ExprParse.m3" EXPORT t4 _ExprParse__E0 (_fail) t5 _fail; { t5 z1; t12 z2; t5 z3; t4 z4; t7 z5; t4 z6; #line 26 "ExprParse.m3" { auto t4 _a; auto t4 __result; { CHECKSTACKOVERFLOW; z1.elts [0] = 0; z1.elts [1] = 0; z1.elts [2] = 0x00000400; z1.elts [3] = 0; z3.elts[0] = _fail.elts[0] | z1.elts[0]; #line 29 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 29 _fail.elts[0] = z3.elts[0]; _fail.elts[1] = z3.elts[1]; _fail.elts[2] = z3.elts[2]; _fail.elts[3] = z3.elts[3]; z4 = _ExprParse__E1 (_fail); _a = z4; z5 = ((_Scanner__cur._token) == 74 ); if (z5) do { _Scanner__GetToken (); z4 = _ExprParse__E1 (_fail); z6 = _OrExpr__New (_a, z4); _a = z6; z5 = ((_Scanner__cur._token) == 74 ); } while (z5); __result = _a; return __result; } } }; #line 38 "ExprParse.m3" PRIVATE t4 _ExprParse__E1 (_fail) t5 _fail; { t5 z1; t12 z2; t5 z3; t4 z4; t7 z5; t4 z6; #line 38 "ExprParse.m3" { auto t4 _a; auto t4 __result; { CHECKSTACKOVERFLOW; z1.elts [0] = 0; z1.elts [1] = 0x00000200; z1.elts [2] = 0; z1.elts [3] = 0; z3.elts[0] = _fail.elts[0] | z1.elts[0]; #line 41 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 41 _fail.elts[0] = z3.elts[0]; _fail.elts[1] = z3.elts[1]; _fail.elts[2] = z3.elts[2]; _fail.elts[3] = z3.elts[3]; z4 = _ExprParse__E2 (&_fail); _a = z4; z5 = ((_Scanner__cur._token) == 41 ); if (z5) do { _Scanner__GetToken (); z4 = _ExprParse__E2 (&_fail); z6 = _AndExpr__New (_a, z4); _a = z6; z5 = ((_Scanner__cur._token) == 41 ); } while (z5); __result = _a; return __result; } } }; #line 50 "ExprParse.m3" PRIVATE t4 _ExprParse__E2 (_fail) t5 * _fail; { t7 z3; t4 z2; t12 z4; t12 z5; t12 z6; t7 z1; #line 50 "ExprParse.m3" { auto t4 _a; auto t12 _n; auto t4 __result; { CHECKSTACKOVERFLOW; _n = 0 ; z3 = ((_Scanner__cur._token) == 71 ); if (z3) do { _Scanner__GetToken (); _n += 1 ; z3 = ((_Scanner__cur._token) == 71 ); } while (z3); z2 = _ExprParse__E3 (&(*_fail)); _a = z2; z3 = (_n > 0 ); if (z3) { z2 = _NotExpr__New (_a); _a = z2; z4 = _n; z5 = 2 ; z6 = z4 - (z5 * (IDIV (z4, z5))); z1 = (z6 == 0 ); if (z1) { z2 = _NotExpr__New (_a); _a = z2; #line 61 goto if_2_end; }; if_2_end: /**/; goto if_1_end; }; if_1_end: /**/; __result = _a; return __result; } } }; #line 66 "ExprParse.m3" PRIVATE t4 _ExprParse__E3 (_fail) t5 * _fail; { t5 z2; t4 z3; t7 z0; #line 66 "ExprParse.m3" { PRIVATE t5 _RelOps = {{ 0x03f00000, 0, 0x00000001 }}; auto t4 _a; auto t4 _b; auto t13 _t; auto t5 _fail2; auto t4 __result; #line 66 { ZERO1B (& _t); #line 66 CHECKSTACKOVERFLOW; z2.elts[0] = (*_fail).elts[0] | _RelOps.elts[0]; z2.elts[1] = (*_fail).elts[1] | _RelOps.elts[1]; z2.elts[2] = (*_fail).elts[2] | _RelOps.elts[2]; #line 71 z2.elts[3] = (*_fail).elts[3] | _RelOps.elts[3]; _fail2.elts[0] = z2.elts[0]; _fail2.elts[1] = z2.elts[1]; _fail2.elts[2] = z2.elts[2]; #line 71 _fail2.elts[3] = z2.elts[3]; z3 = _ExprParse__E4 (&_fail2); _a = z3; {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && ((_RelOps.elts [j/32] & (1<<(j%32))) != 0); }; #line 73 if (z0) do { _t = (_Scanner__cur._token); _Scanner__GetToken (); z3 = _ExprParse__E4 (&_fail2); _b = z3; { register t13 e = _t; if (e < 20) goto c1_else; if (e <= 20) goto c1_0; if (e <= 21) goto c1_1; if (e <= 22) goto c1_2; #line 77 if (e <= 23) goto c1_4; if (e <= 24) goto c1_3; if (e <= 25) goto c1_5; if (e < 64) goto c1_else; if (e <= 64) goto c1_6; #line 77 goto c1_else; c1_0:; z3 = _EqualExpr__NewEQ (_a, _b); _a = z3; goto c1_exit; c1_1:; z3 = _EqualExpr__NewNE (_a, _b); _a = z3; goto c1_exit; c1_2:; z3 = _CompareExpr__NewLT (_a, _b); _a = z3; goto c1_exit; c1_3:; z3 = _CompareExpr__NewLE (_a, _b); _a = z3; goto c1_exit; c1_4:; z3 = _CompareExpr__NewGT (_a, _b); _a = z3; goto c1_exit; c1_5:; z3 = _CompareExpr__NewGE (_a, _b); _a = z3; goto c1_exit; c1_6:; z3 = _InExpr__New (_a, _b); _a = z3; goto c1_exit; c1_else:; if (! 0 ) ASSERTFAULT; c1_exit: /* exit */; }; {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && ((_RelOps.elts [j/32] & (1<<(j%32))) != 0); }; #line 85 } while (z0); __result = _a; return __result; } } }; #line 91 "ExprParse.m3" PRIVATE t4 _ExprParse__E4 (_fail) t5 * _fail; { t5 z2; t4 z3; t7 z0; #line 91 "ExprParse.m3" { PRIVATE t5 _AddOps = {{ 0x00001180 }}; auto t4 _a; auto t4 _b; auto t13 _t; auto t5 _fail2; auto t4 __result; { ZERO1B (& _t); #line 91 CHECKSTACKOVERFLOW; z2.elts[0] = (*_fail).elts[0] | _AddOps.elts[0]; z2.elts[1] = (*_fail).elts[1] | _AddOps.elts[1]; z2.elts[2] = (*_fail).elts[2] | _AddOps.elts[2]; #line 95 z2.elts[3] = (*_fail).elts[3] | _AddOps.elts[3]; _fail2.elts[0] = z2.elts[0]; _fail2.elts[1] = z2.elts[1]; _fail2.elts[2] = z2.elts[2]; #line 95 _fail2.elts[3] = z2.elts[3]; z3 = _ExprParse__E5 (&_fail2); _a = z3; {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && ((_AddOps.elts [j/32] & (1<<(j%32))) != 0); }; #line 97 if (z0) do { _t = (_Scanner__cur._token); _Scanner__GetToken (); z3 = _ExprParse__E5 (&_fail2); _b = z3; switch (_t) { case 7: z3 = _AddExpr__New (_a, _b); _a = z3; break; case 8: z3 = _SubtractExpr__New (_a, _b); _a = z3; break; case 12: z3 = _ConcatExpr__New (_a, _b); _a = z3; break; default: /**/; if (! 0 ) ASSERTFAULT; }; {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && ((_AddOps.elts [j/32] & (1<<(j%32))) != 0); }; #line 105 } while (z0); __result = _a; return __result; } } }; #line 111 "ExprParse.m3" PRIVATE t4 _ExprParse__E5 (_fail) t5 * _fail; { t5 z2; t4 z3; t7 z0; #line 111 "ExprParse.m3" { PRIVATE t5 _MulOps = {{ 0x00000600, 0x00020000, 0x00000020 }}; auto t4 _a; auto t4 _b; auto t13 _t; auto t5 _fail2; auto t4 __result; #line 111 { ZERO1B (& _t); #line 111 CHECKSTACKOVERFLOW; z2.elts[0] = (*_fail).elts[0] | _MulOps.elts[0]; z2.elts[1] = (*_fail).elts[1] | _MulOps.elts[1]; z2.elts[2] = (*_fail).elts[2] | _MulOps.elts[2]; #line 115 z2.elts[3] = (*_fail).elts[3] | _MulOps.elts[3]; _fail2.elts[0] = z2.elts[0]; _fail2.elts[1] = z2.elts[1]; _fail2.elts[2] = z2.elts[2]; #line 115 _fail2.elts[3] = z2.elts[3]; z3 = _ExprParse__E6 (&_fail2); _a = z3; {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && ((_MulOps.elts [j/32] & (1<<(j%32))) != 0); }; #line 117 if (z0) do { _t = (_Scanner__cur._token); _Scanner__GetToken (); z3 = _ExprParse__E6 (&_fail2); _b = z3; { register t13 e = _t; if (e < 9) goto c2_else; if (e <= 9) goto c2_0; if (e <= 10) goto c2_1; if (e < 49) goto c2_else; #line 121 if (e <= 49) goto c2_2; if (e < 69) goto c2_else; if (e <= 69) goto c2_3; goto c2_else; c2_0:; z3 = _MultiplyExpr__New (_a, _b); _a = z3; goto c2_exit; c2_1:; z3 = _DivideExpr__New (_a, _b); _a = z3; goto c2_exit; c2_2:; z3 = _DivExpr__New (_a, _b); _a = z3; goto c2_exit; c2_3:; z3 = _ModExpr__New (_a, _b); _a = z3; goto c2_exit; c2_else:; if (! 0 ) ASSERTFAULT; c2_exit: /* exit */; }; {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && ((_MulOps.elts [j/32] & (1<<(j%32))) != 0); }; #line 126 } while (z0); __result = _a; return __result; } } }; #line 136 "ExprParse.m3" PRIVATE t4 _ExprParse__E6 (_fail) t5 * _fail; { t7 z3; t5 z2; t4 z4; t7 z0; t12 z5; t7 z1; t12 z6; t12 z7; #line 136 "ExprParse.m3" { auto t4 _a; auto t12 _p; auto t12 _m; auto t5 _fail2; auto t4 __result; { CHECKSTACKOVERFLOW; _p = 0 ; _m = 0 ; loop_0:; z3 = ((_Scanner__cur._token) == 7 ); if (z3) { _Scanner__GetToken (); _p += 1 ; goto if_3_end; }; z3 = ((_Scanner__cur._token) == 8 ); if (z3) { _Scanner__GetToken (); _m += 1 ; goto if_3_end; }; goto loop_exit_0; if_3_end: /**/; goto loop_0; loop_exit_0: /**/; z2.elts[0] = (*_fail).elts[0] | _ExprParse__SelectStart.elts[0]; z2.elts[1] = (*_fail).elts[1] | _ExprParse__SelectStart.elts[1]; #line 147 z2.elts[2] = (*_fail).elts[2] | _ExprParse__SelectStart.elts[2]; z2.elts[3] = (*_fail).elts[3] | _ExprParse__SelectStart.elts[3]; #line 147 _fail2.elts[0] = z2.elts[0]; _fail2.elts[1] = z2.elts[1]; _fail2.elts[2] = z2.elts[2]; _fail2.elts[3] = z2.elts[3]; z4 = _ExprParse__EPrimary (&_fail2); _a = z4; {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && ((_ExprParse__SelectStart.elts [j/32] & (1<<(j%32))) != 0); }; #line 149 if (z0) do { z4 = _ExprParse__ESelector (_a, &_fail2); _a = z4; {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && ((_ExprParse__SelectStart.elts [j/32] & (1<<(j%32))) != 0); }; #line 149 } while (z0); z5 = _p + _m; z1 = (z5 > 0 ); if (z1) { z5 = _m; z6 = 2 ; z7 = z5 - (z6 * (IDIV (z5, z6))); z1 = (z7 == 1 ); if (z1) { z4 = _NegateExpr__New (_a); _a = z4; goto if_5_end; }; z4 = _PlusExpr__New (_a); _a = z4; if_5_end: /**/; goto if_4_end; }; if_4_end: /**/; __result = _a; return __result; } } }; #line 159 "ExprParse.m3" PRIVATE t4 _ExprParse__EPrimary (_fail) t5 * _fail; { t4 z3; t4 z4; t5 z2; t12 z5; t5 z6; t4 z1; t5 z7; t8 z8; #line 159 "ExprParse.m3" { auto t4 _a; auto t4 __result; { CHECKSTACKOVERFLOW; { register t13 e = (_Scanner__cur._token); if (e < 1) goto c3_else; if (e <= 1) goto c3_0; if (e <= 2) goto c3_1; if (e <= 3) goto c3_3; #line 162 if (e <= 4) goto c3_4; if (e <= 5) goto c3_2; if (e <= 6) goto c3_5; if (e < 16) goto c3_else; if (e <= 16) goto c3_6; #line 162 if (e <= 18) goto c3_7; if (e < 42) goto c3_else; if (e <= 42) goto c3_7; if (e < 44) goto c3_else; if (e <= 45) goto c3_7; #line 162 if (e < 72) goto c3_else; if (e <= 72) goto c3_7; if (e < 75) goto c3_else; if (e <= 75) goto c3_7; if (e < 79) goto c3_else; #line 162 if (e <= 80) goto c3_7; if (e < 84) goto c3_else; if (e <= 84) goto c3_7; if (e < 92) goto c3_else; if (e <= 92) goto c3_7; #line 162 goto c3_else; c3_0:; z3 = _NamedExpr__New ((_Scanner__cur._string)); _a = z3; _Scanner__GetToken (); goto c3_exit; c3_1:; z3 = _IntegerExpr__New ((_Scanner__cur._value)); _a = z3; _Scanner__GetToken (); goto c3_exit; c3_2:; z4 = _EnumExpr__New (_CHar__T, (_Scanner__cur._value)); _a = z4; _Scanner__GetToken (); goto c3_exit; c3_3:; z3 = _RealExpr__NewS ((_Scanner__cur._string)); _a = z3; _Scanner__GetToken (); goto c3_exit; c3_4:; z3 = _LongrealExpr__NewS ((_Scanner__cur._string)); _a = z3; _Scanner__GetToken (); goto c3_exit; c3_5:; z3 = _TextExpr__New ((_Scanner__cur._string)); _a = z3; _Scanner__GetToken (); goto c3_exit; c3_6:; _Scanner__GetToken (); z2.elts [0] = 0x10000000; z2.elts [1] = 0; z2.elts [2] = 0; z2.elts [3] = 0; z6.elts[0] = (*_fail).elts[0] | z2.elts[0]; #line 172 z6.elts[1] = (*_fail).elts[1] | z2.elts[1]; z6.elts[2] = (*_fail).elts[2] | z2.elts[2]; z6.elts[3] = (*_fail).elts[3] | z2.elts[3]; #line 172 z1 = _ExprParse__E0 (z6); _a = z1; z6.elts [0] = 0; z6.elts [1] = 0; z6.elts [2] = 0; z6.elts [3] = 0; z7 = z6; _Scanner__Match ( 28 , &(*_fail), &z7); #line 173 goto c3_exit; c3_7:; z8 = _Type__Parse (&(*_fail)); z1 = _TypeExpr__New (z8); _a = z1; goto c3_exit; c3_else:; _Scanner__Fail (((ADDRESS)(& txt1.str)), &(*_fail)); z3 = _IntegerExpr__New ( 0 ); _a = z3; c3_exit: /* exit */; }; __result = _a; return __result; } } }; #line 185 "ExprParse.m3" PRIVATE t4 _ExprParse__ESelector (_a, _fail) t4 _a; t5 * _fail; { t4 z2; t5 z5; t3 z4; t12 z6; t5 z7; t4 z3; t7 z8; t5 z1; t9 z0; t9 z9; t12 z10; t12 z11; t4 z12; t8 z13; #line 185 "ExprParse.m3" { auto t12 _i; auto t11 _args; auto t9 _argList; auto t8 _t; auto t7 _open; auto t4 __result; { ZERO1B (& _open); #line 185 CHECKSTACKOVERFLOW; { register t13 e = (_Scanner__cur._token); if (e < 13) goto c4_else; if (e <= 13) goto c4_1; if (e < 16) goto c4_else; #line 193 if (e <= 16) goto c4_3; if (e <= 17) goto c4_2; if (e <= 18) goto c4_4; if (e <= 19) goto c4_0; if (e < 45) goto c4_else; #line 193 if (e <= 45) goto c4_5; if (e < 72) goto c4_else; if (e <= 72) goto c4_5; goto c4_else; c4_0:; _Scanner__GetToken (); z2 = _DerefExpr__New (_a); _a = z2; goto c4_exit; c4_1:; _Scanner__GetToken (); z5 = _ExprParse__SelectStart; z4 = _Scanner__MatchID (&(*_fail), &z5); z2 = _QualifyExpr__New (_a, z4); _a = z2; #line 199 goto c4_exit; c4_2:; _Scanner__GetToken (); loop_1:; z5.elts [0] = 0x20004000; z5.elts [1] = 0; z5.elts [2] = 0; z5.elts [3] = 0; z7.elts[0] = (*_fail).elts[0] | z5.elts[0]; z7.elts[1] = (*_fail).elts[1] | z5.elts[1]; #line 203 z7.elts[2] = (*_fail).elts[2] | z5.elts[2]; z7.elts[3] = (*_fail).elts[3] | z5.elts[3]; z3 = _ExprParse__E0 (z7); #line 203 z2 = _SubscriptExpr__New (_a, z3); _a = z2; z8 = ((_Scanner__cur._token) != 14 ); if (z8) { goto loop_exit_1; }; _Scanner__GetToken (); goto loop_1; loop_exit_1: /**/; z5.elts [0] = 0; z5.elts [1] = 0; z5.elts [2] = 0; z5.elts [3] = 0; z7 = z5; _Scanner__Match ( 29 , &(*_fail), &z7); #line 208 goto c4_exit; c4_3:; _Scanner__GetToken (); _i = 0 ; z8 = ((_Scanner__cur._token) != 28 ); if (z8) { loop_2:; z5.elts [0] = 0x10004000; z5.elts [1] = 0; z5.elts [2] = 0; z5.elts [3] = 0; z7.elts[0] = (*_fail).elts[0] | z5.elts[0]; z7.elts[1] = (*_fail).elts[1] | z5.elts[1]; #line 214 z7.elts[2] = (*_fail).elts[2] | z5.elts[2]; z7.elts[3] = (*_fail).elts[3] | z5.elts[3]; z1 = z7; z2 = _ExprParse__EActual (&z1); #line 214 z6 = _i; if ((z6 < 0) || (300 < z6)) RANGEFAULT; (_args.elts[z6]) = z2; _i += 1 ; z8 = ((_Scanner__cur._token) != 14 ); if (z8) { goto loop_exit_2; }; _Scanner__GetToken (); goto loop_2; loop_exit_2: /**/; goto if_7_end; }; if_7_end: /**/; z5.elts [0] = 0; z5.elts [1] = 0; z5.elts [2] = 0; z5.elts [3] = 0; z7 = z5; _Scanner__Match ( 28 , &(*_fail), &z7); { register t61* ptr; int sz[1]; sz[0] = _i; ptr = (t61*) UNEWA(TC9, 8 + sz[0] * 4); ptr->elts = (char*)(& ptr->size[1]); #line 221 ptr->size[0] = sz[0]; z0 = (t9) ptr; }; _argList = z0; { int from, to, index; from = 0 ; z6 = _i - 1 ; to = z6; { auto t12 _j; { for (index = from; index <= to; index += 1) { #line 222 _j = (t12) index; z6 = _j; if (z6 > 300) RANGEFAULT; NILCHECKB (z9 = _argList); { register t61* array = & (*((t1*) z9)); #line 222 z11 = _j; if (z11 >= (array->size[0])) RANGEFAULT; z10 = (int)(array->elts + (z11 * 4)); }; (*(t4*)z10) = (_args.elts[z6]); #line 222 } } }; }; z3 = _CallExpr__New (_a, _argList); _a = z3; goto c4_exit; c4_4:; _Scanner__GetToken (); _i = 0 ; _open = 0 ; z8 = ((_Scanner__cur._token) != 30 ); if (z8) { loop_3:; z8 = ((_Scanner__cur._token) == 26 ); if (z8) { z8 = (_i == 0 ); if (z8) { _Error__Msg (((ADDRESS)(& txt2.str))); goto if_11_end; }; if_11_end: /**/; _open = 1 ; _Scanner__GetToken (); goto loop_exit_3; }; z5.elts [0] = 0x40004000; z5.elts [1] = 0; z5.elts [2] = 0; z5.elts [3] = 0; z7.elts[0] = (*_fail).elts[0] | z5.elts[0]; #line 237 z7.elts[1] = (*_fail).elts[1] | z5.elts[1]; z7.elts[2] = (*_fail).elts[2] | z5.elts[2]; z7.elts[3] = (*_fail).elts[3] | z5.elts[3]; #line 237 z1 = z7; z2 = _ExprParse__EConstructor (&z1); z6 = _i; if ((z6 < 0) || (300 < z6)) RANGEFAULT; (_args.elts[z6]) = z2; _i += 1 ; z8 = ((_Scanner__cur._token) != 14 ); if (z8) { goto loop_exit_3; }; _Scanner__GetToken (); goto loop_3; loop_exit_3: /**/; goto if_9_end; }; if_9_end: /**/; z5.elts [0] = 0; z5.elts [1] = 0; z5.elts [2] = 0; z5.elts [3] = 0; z7 = z5; _Scanner__Match ( 30 , &(*_fail), &z7); { register t61* ptr; int sz[1]; sz[0] = _i; ptr = (t61*) UNEWA(TC9, 8 + sz[0] * 4); ptr->elts = (char*)(& ptr->size[1]); #line 244 ptr->size[0] = sz[0]; z0 = (t9) ptr; }; _argList = z0; { int from, to, index; from = 0 ; z6 = _i - 1 ; to = z6; { auto t12 _j; { for (index = from; index <= to; index += 1) { #line 245 _j = (t12) index; z6 = _j; if (z6 > 300) RANGEFAULT; NILCHECKB (z9 = _argList); { register t61* array = & (*((t1*) z9)); #line 245 z11 = _j; if (z11 >= (array->size[0])) RANGEFAULT; z10 = (int)(array->elts + (z11 * 4)); }; (*(t4*)z10) = (_args.elts[z6]); #line 245 } } }; }; z12 = _ConsExpr__New (_a, _argList, _open); _a = z12; goto c4_exit; c4_5:; z13 = _Type__Parse (&(*_fail)); _t = z13; _ObjectType__SetSuper (_t, _a); z2 = _TypeExpr__New (_t); _a = z2; goto c4_exit; c4_else:; _Scanner__Fail (((ADDRESS)(& txt3.str)), &(*_fail)); c4_exit: /* exit */; }; __result = _a; return __result; } } }; #line 256 "ExprParse.m3" PRIVATE t4 _ExprParse__EActual (_fail) t5 * _fail; { t5 z2; t12 z3; t5 z4; t4 z1; t7 z5; t4 z6; t4 z7; #line 256 "ExprParse.m3" { auto t4 _a; auto t3 _name; auto t2 _obj; auto t4 __result; { CHECKSTACKOVERFLOW; z2.elts [0] = 0x00000800; z2.elts [1] = 0; z2.elts [2] = 0; z2.elts [3] = 0; z4.elts[0] = (*_fail).elts[0] | z2.elts[0]; #line 259 z4.elts[1] = (*_fail).elts[1] | z2.elts[1]; z4.elts[2] = (*_fail).elts[2] | z2.elts[2]; z4.elts[3] = (*_fail).elts[3] | z2.elts[3]; #line 259 z1 = _ExprParse__E0 (z4); _a = z1; z5 = ((_Scanner__cur._token) == 11 ); if (z5) { _Scanner__GetToken (); z5 = _NamedExpr__Split (_a, &_name, &_obj); if (z5) { z6 = _ExprParse__E0 ((*_fail)); z7 = _KeywordExpr__New (_name, z6); _a = z7; goto if_14_end; }; _Error__Msg (((ADDRESS)(& txt4.str))); if_14_end: /**/; goto if_13_end; }; if_13_end: /**/; __result = _a; return __result; } } }; #line 270 "ExprParse.m3" PRIVATE t4 _ExprParse__EConstructor (_fail) t5 * _fail; { t5 z2; t12 z3; t5 z4; t4 z1; t7 z5; t4 z6; t4 z7; #line 270 "ExprParse.m3" { auto t4 _a; auto t3 _name; auto t2 _obj; auto t4 __result; { CHECKSTACKOVERFLOW; z2.elts [0] = 0x04000800; z2.elts [1] = 0; z2.elts [2] = 0; z2.elts [3] = 0; z4.elts[0] = (*_fail).elts[0] | z2.elts[0]; #line 273 z4.elts[1] = (*_fail).elts[1] | z2.elts[1]; z4.elts[2] = (*_fail).elts[2] | z2.elts[2]; z4.elts[3] = (*_fail).elts[3] | z2.elts[3]; #line 273 z1 = _ExprParse__E0 (z4); _a = z1; z5 = ((_Scanner__cur._token) == 26 ); if (z5) { _Scanner__GetToken (); z6 = _ExprParse__E0 ((*_fail)); z7 = _RangeExpr__New (_a, z6); _a = z7; goto if_15_end; }; z5 = ((_Scanner__cur._token) == 11 ); #line 276 if (z5) { _Scanner__GetToken (); z5 = _NamedExpr__Split (_a, &_name, &_obj); if (z5) { z6 = _ExprParse__E0 ((*_fail)); z7 = _KeywordExpr__New (_name, z6); _a = z7; goto if_16_end; }; _Error__Msg (((ADDRESS)(& txt4.str))); if_16_end: /**/; goto if_15_end; }; if_15_end: /**/; __result = _a; return __result; } } }; PRIVATE int init_done = -1; #line 284 "ExprParse.m3" PRIVATE void ExprParse__initProc (g) int g; { #line 284 "ExprParse.m3" if (init_done >= g) return; init_done = g; INITIALIZE (& ExprParse__init); INITIALIZE (& Scanner__init); INITIALIZE (& EnumExpr__init); #line 284 INITIALIZE (& KeywordExpr__init); INITIALIZE (& NamedExpr__init); INITIALIZE (& RangeExpr__init); INITIALIZE (& ConsExpr__init); #line 284 INITIALIZE (& CallExpr__init); INITIALIZE (& TypeExpr__init); INITIALIZE (& SubscriptExpr__init); INITIALIZE (& QualifyExpr__init); #line 284 INITIALIZE (& DerefExpr__init); INITIALIZE (& TextExpr__init); INITIALIZE (& LongrealExpr__init); INITIALIZE (& RealExpr__init); #line 284 INITIALIZE (& IntegerExpr__init); INITIALIZE (& ConcatExpr__init); INITIALIZE (& NotExpr__init); INITIALIZE (& NegateExpr__init); #line 284 INITIALIZE (& PlusExpr__init); INITIALIZE (& InExpr__init); INITIALIZE (& SubtractExpr__init); INITIALIZE (& AddExpr__init); #line 284 INITIALIZE (& ModExpr__init); INITIALIZE (& DivideExpr__init); INITIALIZE (& DivExpr__init); INITIALIZE (& MultiplyExpr__init); #line 284 INITIALIZE (& CompareExpr__init); INITIALIZE (& EqualExpr__init); INITIALIZE (& OrExpr__init); INITIALIZE (& AndExpr__init); #line 284 INITIALIZE (& ObjectType__init); INITIALIZE (& CHar__init); INITIALIZE (& Value__init); INITIALIZE (& Type__init); INITIALIZE (& String__init); #line 284 INITIALIZE (& Error__init); INITIALIZE (& Expr__init); INITIALIZE (& Token__init); return; }; PRIVATE INITLINK me_0 ={(INITLINK*)NIL, 0, ExprParse__initProc}; static char* VSimports[] = { &VS_Scanner__cur__929fa6f8367ea415, &VS_Scanner__Match__aaf5b32f2f19a6d8, &VS_Scanner__MatchID__4fb3c66f3429afd9, &VS_Scanner__GetToken__192100a32c7e576d, &VS_Scanner__Fail__a15a8cf32391aa62, &VS_EnumExpr__New__4dc38ae92c11d10f, &VS_KeywordExpr__New__3c2bbe8b31c0d46b, &VS_NamedExpr__New__6a9d9f423596e37d, &VS_NamedExpr__Split__034b990827a61ddc, &VS_RangeExpr__New__994c470a3fe972ea, &VS_ConsExpr__New__3a31cb372bfb3a81, &VS_CallExpr__New__eef778f52be44442, &VS_CallExpr__MethodList__7e87c2d720444b71, &VS_TypeExpr__New__1f10d03a28487bf7, &VS_SubscriptExpr__New__233fed2b234c5b11, &VS_QualifyExpr__New__e5b2c7be3fb31b56, &VS_DerefExpr__New__344f21aa225a201e, &VS_TextExpr__New__59f81ed53141605d, &VS_LongrealExpr__NewS__b15c4da130a8ffb1, &VS_RealExpr__NewS__c219e06a31e90d6b, &VS_IntegerExpr__New__864172512ee81acd, &VS_ConcatExpr__New__ab8b85833d72c085, &VS_NotExpr__New__ec8622143bd956b4, &VS_NegateExpr__New__62e617003229e476, &VS_PlusExpr__New__bf642fd93973a3b9, &VS_InExpr__New__54d7e56a3756b0b5, &VS_SubtractExpr__New__557c96a3390757a2, &VS_AddExpr__New__a866024b2bf44084, &VS_ModExpr__New__1adaaaa62850acc7, &VS_DivideExpr__New__91c519523520f59a, &VS_DivExpr__New__ae8d1054208575fc, &VS_MultiplyExpr__New__85eb063a2ffd28fc, &VS_CompareExpr__NewLT__d3bc668c338ffbca, &VS_CompareExpr__NewLE__270970fc3aa3e654, &VS_CompareExpr__NewGT__95364c512e28e614, &VS_CompareExpr__NewGE__61835a212704fb8a, &VS_EqualExpr__NewEQ__930765563129e052, &VS_EqualExpr__NewNE__29a40e682d0d7ece, &VS_OrExpr__New__fab633f338537c35, &VS_AndExpr__New__3ecf5ff13c484356, &VS_ObjectType__SetSuper__b06a283422493524, &VS_CHar__T__0265fbec363e7a68, &VS_Value__T__2446b70b3f7780a5, &VS_Type__T__2446b70b3f7780a5, &VS_Type__Map__41dd9f4b33104fce, &VS_Type__List__5791758e343becc1, &VS_Type__Parse__603df5e3247e0b72, &VS_String__T__3a6c7dc12615e4ee, &VS_Error__Msg__4d119a332467757f, &VS_Expr__T__2446b70b3f7780a5, &VS_Expr__List__3f87eceb2b9a246a, &VS_Token__DeclStart__730c82bc2c2001b8, &VS_Token__TypeStart__f71616cb38a20d02, &VS_Token__ExprStart__21dc8a0a27344836, &VS_Scanner__cur__929fa6f8367ea415, &VS_Scanner__Fail__a15a8cf32391aa62, &VS_Scanner__GetToken__192100a32c7e576d, &VS_Scanner__MatchID__4fb3c66f3429afd9, &VS_Scanner__Match__aaf5b32f2f19a6d8, NIL }; void ExprParse__MLink (phase) int phase; { switch (phase) { case 0: { me_0.link = ExprParse__init; ExprParse__init = & me_0; break; }; case 1: { break; }; case 2: { break; }; }; };