#include "M3Runtime.h" typedef struct { int tc; char* str; int len; } TXT; PRIVATE TXT txt1 = { 3, "missing \047", 10}; PRIVATE TXT txt2 = { 3, "\047", 2}; PRIVATE TXT txt3 = { 3, "missing identifier", 19}; PRIVATE TXT txt4 = { 3, "Illegal character", 18}; PRIVATE TXT txt5 = { 3, "syntax error: ", 15}; PRIVATE TXT txt6 = { 3, "_missing_id_", 13}; PRIVATE TXT txt7 = { 3, "integer too large", 18}; PRIVATE TXT txt8 = { 3, "illegal base for based literal, 10 used", 40}; PRIVATE TXT txt9 = { 3, "missing digits in based literal", 32}; PRIVATE TXT txt10 = { 3, "illegal digit in based literal", 31}; PRIVATE TXT txt11 = { 3, "based value too large", 22}; PRIVATE TXT txt12 = { 3, "missing digits in real exponent", 32}; PRIVATE TXT txt13 = { 3, "missing character in character literal", 39}; PRIVATE TXT txt14 = { 3, "end-of-line encountered in character literal", 45}; PRIVATE TXT txt15 = { 3, "unknown escape sequence in character literal", 45}; PRIVATE TXT txt16 = { 3, "EOF encountered in character literal", 37}; PRIVATE TXT txt17 = { 3, "quote characters must be escaped with \047\134\047", 42}; PRIVATE TXT txt18 = { 3, "missing closing quote on character literal", 43}; PRIVATE TXT txt19 = { 3, "end-of-line encountered in text literal", 40}; PRIVATE TXT txt20 = { 3, "unknown escape sequence in text literal", 40}; PRIVATE TXT txt21 = { 3, "EOF encountered in text literal", 32}; PRIVATE TXT txt22 = { 3, "octal character constant must have 3 digits", 44}; PRIVATE TXT txt23 = { 3, "EOF encountered in comment", 27}; PRIVATE TXT txt24 = { 3, "missing \047*>\047 on NOWARN pragma", 30}; PRIVATE TXT txt25 = { 3, "unrecognized pragma (ignored)", 30}; PRIVATE TXT txt26 = { 3, "EOF encountered in pragma", 26}; #define t32 ADDRESS #define t53 void #define TC32 TC_REFANY IMPORT TYPE TC_REFANY; IMPORT char VS_REFANY__4b8748e831fc107a; #define t39 ADDRESS typedef int t4; #define TC39 TC_ADDRESS IMPORT TYPE TC_ADDRESS; IMPORT char VS_ADDRESS__30f7308738738b44; #define t55 ADDRESS #define TC55 TC_NULL IMPORT TYPE TC_NULL; IMPORT char VS_NULL__fb50c7d53bec30dc; typedef unsigned char t13; #line 116 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef struct { char* elts; int size[1]; } t42; #line 50 "Scanner.m3" #define t1 t42 #define t33 ADDRESS typedef struct { TYPE self; int private; } t33_methods; #define t33_msize (sizeof (t33_methods)) typedef struct { ADDRESS methods; } t33_fields; #define t33_size (sizeof (t33_fields)) #define TC33 TC_ROOT IMPORT TYPE TC_ROOT; IMPORT char VS_ROOT__349f58f628be0ac6; #define t33_MapProc TC_ROOT->mapProc #define t12 ADDRESS #define TC12 TC_Rd__T IMPORT TYPE TC_Rd__T; #line 83 ".ROOT/.boots/corelib/Interfaces/Rd.i3" IMPORT char VS_Rd__T__2555b70b3f7780b1; #define t12_MapProc TC_Rd__T->mapProc typedef unsigned char t11; #line 13 "./String.i3" #define t9 ADDRESS #define TC9 TC_String__T IMPORT TYPE TC_String__T; #line 13 IMPORT char VS_String__T__3a6c7dc12615e4ee; #line 13 "./Scanner.i3" typedef struct { t11 _token; t9 _string; t4 _value; t4 _offset; } t21; #line 35 "Scanner.m3" typedef struct { t13 _ch; t4 _offs; t12 _rd; t21 _sym; } t16; #line 49 #define t2 t42 #define t3 t42 typedef t53 (*t5)(); #line 443 typedef t4 (*t6)(); #define t7 ADDRESS #define TC7 TC_TEXT IMPORT TYPE TC_TEXT; IMPORT char VS_TEXT__b7a92447326386f5; #define t7_MapProc TC_TEXT->mapProc typedef struct { int elts[4]; } t8; #line 108 typedef t9 (*t10)(); #line 50 typedef short t14; typedef struct { t13 elts[4096]; } t15; #line 49 typedef signed_char t17; typedef struct { t16 elts[41]; } t18; #line 47 typedef signed_char t19; typedef struct { t9 elts[101]; } t20; #line 23 typedef struct { int elts[8]; } t22; typedef unsigned char t23; #line 23 ".ROOT/.boots/corelib/Interfaces/UnsafeRd.i3" typedef t23 (*t24)(); #line 19 typedef t13 (*t25)(); #define t26 ADDRESS #define TC26 TC_MUTEX IMPORT TYPE TC_MUTEX; IMPORT char VS_MUTEX__1f9d4e89391ab815; #define t26_MapProc TC_MUTEX->mapProc typedef struct { #line 14 "./String.i3" t9 _module; t9 _item; } t27; typedef int t28; #line 249 ".ROOT/.boots/corelib/Interfaces/Rd.i3" typedef t28 (*t29)(); #line 220 typedef t7 (*t30)(); #line 84 typedef unsigned char t31; #line 65 "./Token.i3" typedef struct { t9 elts[97]; } t34; #line 19 "./String.i3" typedef signed_char t37; typedef struct { t9 elts[100]; } t38; #line 17 typedef struct { t4 _top; t38 _stk; } t35; #line 90 ".ROOT/.boots/corelib/Interfaces/Wr.i3" #define t36 ADDRESS #define TC36 TC_Wr__T IMPORT TYPE TC_Wr__T; #line 90 IMPORT char VS_Wr__T__2555b70b3f7780b1; #define t36_MapProc TC_Wr__T->mapProc typedef signed_char t40; #line 67 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef t40 (*t41)(); #line 91 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef unsigned char t43; #line 15 ".ROOT/.boots/corelib/Interfaces/Thread.i3" #define t44 ADDRESS #define TC44 TC_Thread__T IMPORT TYPE TC_Thread__T; #line 15 IMPORT char VS_Thread__T__2555b70b3f7780b1; #define t44_MapProc TC_Thread__T->mapProc typedef t32 (*t45)(); #define t46 ADDRESS #define TC46 TC_Thread__Condition IMPORT TYPE TC_Thread__Condition; #line 21 IMPORT char VS_Thread__Condition__26d5968239e08f4e; #define t46_MapProc TC_Thread__Condition->mapProc typedef t44 (*t47)(); #define t48 ADDRESS #line 23 typedef struct { t45 _apply; } t48_methods; #define t48_msize (sizeof (t48_methods)) typedef struct { #line 23 int filler; } t48_fields; #define t48_size (sizeof (t48_fields)) #define TC48 TC_Thread__Closure IMPORT TYPE TC_Thread__Closure; #line 23 IMPORT char VS_Thread__Closure__7fb5c6232c5a658a; #define t48_MapProc TC_Thread__Closure->mapProc typedef t46 (*t49)(); typedef t26 (*t50)(); #line 28 #define t51 ADDRESS #line 28 typedef struct { int filler; } t51_methods; #define t51_msize (sizeof (t51_methods)) typedef struct { #line 28 t28 _stackSize; } t51_fields; #define t51_size (sizeof (t51_fields)) #define TC51 TC_Thread__SizedClosure IMPORT TYPE TC_Thread__SizedClosure; #line 28 IMPORT char VS_Thread__SizedClosure__8a46717d2eae7b07; #define t51_MapProc TC_Thread__SizedClosure->mapProc typedef CLOSURE t52; #define t54 ADDRESS typedef struct { TYPE self; int private; } t54_methods; #define t54_msize (sizeof (t54_methods)) typedef struct { ADDRESS methods; } t54_fields; #define t54_size (sizeof (t54_fields)) #define TC54 TC_UNTRACED_ROOT IMPORT TYPE TC_UNTRACED_ROOT; IMPORT char VS_UNTRACED_ROOT__3e0964513fd6da20; typedef double t56; typedef float t57; #line 11 "Scanner.m3" IMPORT INITLINK* Text__init; IMPORT INITLINK* UnsafeRd__init; IMPORT INITLINK* Rd__init; IMPORT INITLINK* Token__init; IMPORT INITLINK* String__init; #line 11 IMPORT INITLINK* Error__init; IMPORT INITLINK* Scanner__init; IMPORT TYPE TC_Text__T; IMPORT char VS_Text__T__fc4b369f3ab271fd; #line 11 IMPORT EXCEPTION_NAME _Rd__EndOfFile; IMPORT char VS_Rd__EndOfFile__f4a9d2f63b7e105d; IMPORT EXCEPTION_NAME _Rd__Error; #line 11 IMPORT char VS_Rd__Error__5ca07bfe2ba90cfc; IMPORT EXCEPTION_NAME _Rd__Failure; IMPORT char VS_Rd__Failure__e4a829e331222b6d; #line 11 IMPORT EXCEPTION_NAME _Thread__Alerted; IMPORT char VS_Thread__Alerted__fc88feb43485af46; IMPORT t13 _UnsafeRd__FastGetChar (); #line 11 IMPORT char VS_UnsafeRd__FastGetChar__d61c45c120a861fa; IMPORT t23 _UnsafeRd__FastEOF (); IMPORT char VS_UnsafeRd__FastEOF__8dcdeac33eabb5a2; #line 11 IMPORT t53 _Rd__UnGetChar (); IMPORT char VS_Rd__UnGetChar__cfe78aee2242727d; IMPORT char VS_Token__First_Pragma__7f666445321bb1c9; #line 11 IMPORT char VS_Token__Last_Pragma__0e618a4b26b6daea; IMPORT char VS_Token__First_Keyword__dedde95026a36544; IMPORT t8 _Token__DeclStart; #line 11 IMPORT char VS_Token__DeclStart__730c82bc2c2001b8; IMPORT t8 _Token__TypeStart; IMPORT char VS_Token__TypeStart__f71616cb38a20d02; #line 11 IMPORT t8 _Token__ExprStart; IMPORT char VS_Token__ExprStart__21dc8a0a27344836; IMPORT t34 _Token__name; IMPORT char VS_Token__name__ca7a44a32968dc66; #line 11 IMPORT t9 _String__Add (); IMPORT char VS_String__Add__0f5e21cc3d204b63; IMPORT t9 _String__FromStr (); IMPORT char VS_String__FromStr__4226c3282dddebc2; #line 11 IMPORT t7 _String__ToText (); IMPORT char VS_String__ToText__b5eb19e626fe180d; IMPORT t4 _String__GetClass (); IMPORT char VS_String__GetClass__0367456e2d55200c; #line 11 IMPORT t53 _Error__Msg (); IMPORT char VS_Error__Msg__4d119a332467757f; IMPORT t53 _Error__Int (); IMPORT char VS_Error__Int__05fff4c5263ea533; #line 11 IMPORT t53 _Error__Str (); IMPORT char VS_Error__Str__2bd0723e3872e90c; IMPORT t53 _Error__WarnStr (); IMPORT char VS_Error__WarnStr__aa8e70c53534552c; #line 11 IMPORT t53 _Error__WarnNonStandard (); IMPORT char VS_Error__WarnNonStandard__28b127cf2d45026a; IMPORT t53 _Error__IgnoreWarning (); #line 11 IMPORT char VS_Error__IgnoreWarning__b99be2f12e366d68; IMPORT t21 _Scanner__cur; IMPORT char VS_Scanner__cur__929fa6f8367ea415; #line 11 IMPORT t4 _Scanner__offset; IMPORT char VS_Scanner__offset__dfc05f042d8347f4; EXPORT t53 _Scanner__Match (); EXPORT char VS_Scanner__Match__aaf5b32f2f19a6d8 = '\0'; #line 11 EXPORT t9 _Scanner__MatchID (); EXPORT char VS_Scanner__MatchID__4fb3c66f3429afd9 = '\0'; EXPORT t53 _Scanner__GetToken (); #line 11 EXPORT char VS_Scanner__GetToken__192100a32c7e576d = '\0'; EXPORT t53 _Scanner__Fail (); EXPORT char VS_Scanner__Fail__a15a8cf32391aa62 = '\0'; #line 11 EXPORT t53 _Scanner__Here (); EXPORT char VS_Scanner__Here__1284254c3cfdbf9f = '\0'; EXPORT t53 _Scanner__Push (); EXPORT char VS_Scanner__Push__2865089230018ad8 = '\0'; #line 11 EXPORT t53 _Scanner__Pop (); EXPORT char VS_Scanner__Pop__201d3ab93a5755c6 = '\0'; EXPORT t53 _Scanner__Initialize (); EXPORT char VS_Scanner__Initialize__d46c4d5d3bf18383 = '\0'; #line 11 PRIVATE t22 _Scanner__WhiteSpace = {{ 0x00001600, 0x00000001 }}; PRIVATE t22 _Scanner__AlphaNumerics = {{ 0, 0x03ff0000, 0x87fffffe, 0x07fffffe }}; #line 11 PRIVATE t22 _Scanner__Digits = {{ 0, 0x03ff0000 }}; PRIVATE t22 _Scanner__OctalDigits = {{ 0, 0x00ff0000 }}; PRIVATE t22 _Scanner__HexAlpha = {{ 0, 0, 0, 0x0000007e }}; #line 11 PRIVATE t22 _Scanner__HexALPHA = {{ 0, 0, 0x0000007e }}; PRIVATE t12 _Scanner__input; PRIVATE t13 _Scanner__ch; PRIVATE t9 _Scanner__missing; #line 11 PRIVATE t4 _Scanner__nFiles; PRIVATE t20 _Scanner__files; PRIVATE t4 _Scanner__tos; PRIVATE t18 _Scanner__stack; PRIVATE t15 _Scanner__buf; #line 11 PRIVATE t53 _Scanner__GetCh (); PRIVATE t53 _Scanner__ScanNumber (); PRIVATE t53 _Scanner__ScanChar (); PRIVATE t53 _Scanner__ScanText (); #line 11 PRIVATE t4 _Scanner__GetOctalChar (); PRIVATE t53 _Scanner__BadOctal (); PRIVATE t53 _Scanner__ScanComment (); PRIVATE t53 _Scanner__ScanPragma (); #line 11 void Scanner__MMap (p) void (*p) (); { ADDRESS r = NIL; ADDRESS c = NIL; CHECKSTACKOVERFLOW; p (& (_Scanner__input), r, c); #line 11 { int i4; for (i4 = 0; i4 < 41; i4++) { p (& (_Scanner__stack.elts[i4]._rd), r, c); }; }; }; #line 53 "Scanner.m3" EXPORT t53 _Scanner__Initialize () { t9 z3; #line 53 "Scanner.m3" { { CHECKSTACKOVERFLOW; z3 = _String__Add (((ADDRESS)(& txt6.str)), 999999 ); _Scanner__missing = z3; _Scanner__input = (t12) 0; _Scanner__ch = ' ' ; _Scanner__nFiles = 0 ; _Scanner__tos = 0 ; } } }; #line 62 "Scanner.m3" EXPORT t53 _Scanner__Push (_name, _file) t9 _name; t12 _file; { t4 z2; t4 z3; t4 z1; #line 62 "Scanner.m3" { { CHECKSTACKOVERFLOW; { t16 *with; z2 = _Scanner__tos; if ((z2 < 0) || (40 < z2)) RANGEFAULT; with = &(_Scanner__stack.elts[z2]); { auto t16 * _z; #line 64 { _z = with; ((*_z)._ch) = _Scanner__ch; ((*_z)._offs) = _Scanner__offset; ((*_z)._rd) = _Scanner__input; ((*_z)._sym) = _Scanner__cur; } } }; _Scanner__tos += 1 ; z3 = _Scanner__nFiles; if ((z3 < 0) || (100 < z3)) RANGEFAULT; (_Scanner__files.elts[z3]) = _name; z2 = _Scanner__nFiles * 100000 ; z1 = z2 + 1 ; _Scanner__offset = z1; _Scanner__input = _file; _Scanner__ch = ' ' ; _Scanner__nFiles += 1 ; _Scanner__GetToken (); } } }; #line 79 "Scanner.m3" EXPORT t53 _Scanner__Pop () { t4 z2; #line 79 "Scanner.m3" { { CHECKSTACKOVERFLOW; _Scanner__tos -= 1 ; { t16 *with; z2 = _Scanner__tos; if ((z2 < 0) || (40 < z2)) RANGEFAULT; with = &(_Scanner__stack.elts[z2]); { auto t16 * _z; #line 82 { _z = with; _Scanner__ch = ((*_z)._ch); _Scanner__offset = ((*_z)._offs); _Scanner__input = ((*_z)._rd); _Scanner__cur = ((*_z)._sym); } } }; } } }; #line 90 "Scanner.m3" EXPORT t53 _Scanner__Here (_file, _line) t9 * _file; t4 * _line; { t4 z3; t4 z1; t4 z2; t4 z4; #line 90 "Scanner.m3" { { CHECKSTACKOVERFLOW; z3 = IDIV (_Scanner__offset, 100000 ); z1 = z3; if ((z1 < 0) || (100 < z1)) RANGEFAULT; (*_file) = (_Scanner__files.elts[z1]); z2 = _Scanner__offset; z3 = 100000 ; z4 = z2 - (z3 * (IDIV (z2, z3))); (*_line) = z4; } } }; #line 96 "Scanner.m3" EXPORT t53 _Scanner__Match (_t, _a, _b) t11 _t; t8 * _a; t8 * _b; { t23 z3; t8 z2; t8 z0; t4 z1; t8 z4; t7 z6; t7 z5; #line 96 "Scanner.m3" { auto t8 _fail; { CHECKSTACKOVERFLOW; z3 = ((_Scanner__cur._token) == _t); if (z3) { _Scanner__GetToken (); goto if_1_end; }; z2.elts[0] = (*_a).elts[0] | (*_b).elts[0]; z2.elts[1] = (*_a).elts[1] | (*_b).elts[1]; z2.elts[2] = (*_a).elts[2] | (*_b).elts[2]; z2.elts[3] = (*_a).elts[3] | (*_b).elts[3]; #line 102 z0.elts [0] = 0; z0.elts [1] = 0; z0.elts [2] = 0; z0.elts [3] = 0; z1 = _t; z0.elts[z1 / 32] |= 1 << (z1 % 32); #line 102 z4.elts[0] = z2.elts[0] | z0.elts[0]; z4.elts[1] = z2.elts[1] | z0.elts[1]; z4.elts[2] = z2.elts[2] | z0.elts[2]; #line 102 z4.elts[3] = z2.elts[3] | z0.elts[3]; _fail.elts[0] = z4.elts[0]; _fail.elts[1] = z4.elts[1]; _fail.elts[2] = z4.elts[2]; #line 102 _fail.elts[3] = z4.elts[3]; z6 = _String__ToText ((_Token__name.elts[_t])); z5 = (ADDRESS) _Text__Cat (((ADDRESS)(& txt1.str)), z6); z6 = (ADDRESS) _Text__Cat (z5, ((ADDRESS)(& txt2.str))); #line 103 _Scanner__Fail (z6, &_fail); z3 = ((_Scanner__cur._token) == _t); if (z3) { _Scanner__GetToken (); goto if_2_end; }; if_2_end: /**/; if_1_end: /**/; #line 104 } } }; #line 108 "Scanner.m3" EXPORT t9 _Scanner__MatchID (_a, _b) t8 * _a; t8 * _b; { t23 z3; t8 z4; t8 z2; t4 z5; t8 z6; #line 108 "Scanner.m3" { auto t9 _id; auto t9 __result; { CHECKSTACKOVERFLOW; z3 = ((_Scanner__cur._token) == 1 ); if (z3) { _id = (_Scanner__cur._string); _Scanner__GetToken (); goto if_3_end; }; z4.elts[0] = (*_a).elts[0] | (*_b).elts[0]; z4.elts[1] = (*_a).elts[1] | (*_b).elts[1]; z4.elts[2] = (*_a).elts[2] | (*_b).elts[2]; z4.elts[3] = (*_a).elts[3] | (*_b).elts[3]; #line 115 z2.elts [0] = 0x00000002; z2.elts [1] = 0; z2.elts [2] = 0; z2.elts [3] = 0; z6.elts[0] = z4.elts[0] | z2.elts[0]; #line 115 z6.elts[1] = z4.elts[1] | z2.elts[1]; z6.elts[2] = z4.elts[2] | z2.elts[2]; z6.elts[3] = z4.elts[3] | z2.elts[3]; #line 115 z2 = z6; _Scanner__Fail (((ADDRESS)(& txt3.str)), &z2); z3 = ((_Scanner__cur._token) == 1 ); if (z3) { _id = (_Scanner__cur._string); _Scanner__GetToken (); goto if_4_end; }; _id = _Scanner__missing; if_4_end: /**/; if_3_end: /**/; __result = _id; return __result; } } }; #line 124 "Scanner.m3" EXPORT t53 _Scanner__Fail (_msg, _stop) t7 _msg; t8 * _stop; { t7 z2; t23 z0; t23 z1; #line 124 "Scanner.m3" { auto t7 _t; { ZERO1 (& _t); #line 124 CHECKSTACKOVERFLOW; z2 = (ADDRESS) _Text__Cat (((ADDRESS)(& txt5.str)), _msg); _t = z2; switch ((_Scanner__cur._token)) { case 1: case 3: case 4: case 6: _Error__Str ((_Scanner__cur._string), _t); break; case 2: case 5: _Error__Int ((_Scanner__cur._value), _t); break; default: /**/; _Error__Msg (_t); }; {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && (((*_stop).elts [j/32] & (1<<(j%32))) != 0); }; #line 136 z1 = ! z0; if (z1) do { _Scanner__GetToken (); {int i = (_Scanner__cur._token); int j = i - 0;z0 = (0 <= i) && (i <= 96) && (((*_stop).elts [j/32] & (1<<(j%32))) != 0); }; #line 136 z1 = ! z0; } while (z1); } } }; #line 139 "Scanner.m3" PRIVATE t53 _Scanner__GetCh () { t23 z2; t13 z3; #line 139 "Scanner.m3" { { CHECKSTACKOVERFLOW; z2 = _UnsafeRd__FastEOF (_Scanner__input); if (z2) { _Scanner__ch = '\000' ; goto if_5_end; }; z3 = _UnsafeRd__FastGetChar (_Scanner__input); _Scanner__ch = z3; if_5_end: /**/; } } }; #line 147 "Scanner.m3" EXPORT t53 _Scanner__GetToken () { t23 z0; t23 z2; t4 z3; t42 z4; t9 z5; t4 z1; t23 z6; #line 147 "Scanner.m3" { auto t4 _i; { CHECKSTACKOVERFLOW; loop_0:; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__WhiteSpace.elts [j/32] & (1<<(j%32))) != 0); }; if (z0) do { z2 = (_Scanner__ch == '\012' ); if (z2) { _Scanner__offset += 1 ; goto if_6_end; }; if_6_end: /**/; _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__WhiteSpace.elts [j/32] & (1<<(j%32))) != 0); }; #line 154 } while (z0); (_Scanner__cur._offset) = _Scanner__offset; { register t13 e = _Scanner__ch; if (e < 0) goto c1_else; if (e <= 0) goto c1_18; if (e < 34) goto c1_else; if (e <= 34) goto c1_3; #line 159 if (e <= 35) goto c1_13; if (e < 38) goto c1_else; if (e <= 38) goto c1_7; if (e <= 39) goto c1_2; if (e <= 40) goto c1_23; #line 159 if (e <= 41) goto c1_14; if (e <= 42) goto c1_19; if (e <= 43) goto c1_4; if (e <= 44) goto c1_8; if (e <= 45) goto c1_5; #line 159 if (e <= 46) goto c1_22; if (e <= 47) goto c1_6; if (e <= 57) goto c1_1; if (e <= 58) goto c1_21; if (e <= 59) goto c1_9; #line 159 if (e <= 60) goto c1_25; if (e <= 61) goto c1_20; if (e <= 62) goto c1_24; if (e < 65) goto c1_else; if (e <= 90) goto c1_0; #line 159 if (e <= 91) goto c1_10; if (e < 93) goto c1_else; if (e <= 93) goto c1_15; if (e <= 94) goto c1_12; if (e < 97) goto c1_else; #line 159 if (e <= 122) goto c1_0; if (e <= 123) goto c1_11; if (e <= 124) goto c1_17; if (e <= 125) goto c1_16; goto c1_else; #line 159 c1_0:; _i = 0 ; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__AlphaNumerics.elts [j/32] & (1<<(j%32))) != 0); }; #line 164 if (z0) do { z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = _Scanner__ch; _i += 1 ; _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__AlphaNumerics.elts [j/32] & (1<<(j%32))) != 0); }; #line 166 } while (z0); { z4.elts = (char*) (& _Scanner__buf); z4.size[0] = 4096; }; z5 = _String__FromStr (&z4, _i); (_Scanner__cur._string) = z5; z3 = _String__GetClass ((_Scanner__cur._string)); z1 = z3; if ((z1 < 0) || (96 < z1)) RANGEFAULT; (_Scanner__cur._token) = z1; z6 = ((_Scanner__cur._token) < 41 ); if (z6) { (_Scanner__cur._token) = 1 ; goto if_7_end; }; if_7_end: /**/; return; c1_1:; _Scanner__ScanNumber (); return; c1_2:; _Scanner__ScanChar (); return; c1_3:; _Scanner__ScanText (); return; c1_4:; (_Scanner__cur._token) = 7 ; _Scanner__GetCh (); return; c1_5:; (_Scanner__cur._token) = 8 ; _Scanner__GetCh (); return; c1_6:; (_Scanner__cur._token) = 10 ; _Scanner__GetCh (); return; c1_7:; (_Scanner__cur._token) = 12 ; _Scanner__GetCh (); return; c1_8:; (_Scanner__cur._token) = 14 ; _Scanner__GetCh (); return; c1_9:; (_Scanner__cur._token) = 15 ; _Scanner__GetCh (); return; c1_10:; (_Scanner__cur._token) = 17 ; _Scanner__GetCh (); return; c1_11:; (_Scanner__cur._token) = 18 ; _Scanner__GetCh (); return; c1_12:; (_Scanner__cur._token) = 19 ; _Scanner__GetCh (); return; c1_13:; (_Scanner__cur._token) = 21 ; _Scanner__GetCh (); return; c1_14:; (_Scanner__cur._token) = 28 ; _Scanner__GetCh (); return; c1_15:; (_Scanner__cur._token) = 29 ; _Scanner__GetCh (); return; c1_16:; (_Scanner__cur._token) = 30 ; _Scanner__GetCh (); return; c1_17:; (_Scanner__cur._token) = 31 ; _Scanner__GetCh (); return; c1_18:; (_Scanner__cur._token) = 0 ; return; c1_19:; _Scanner__GetCh (); z2 = (_Scanner__ch == '>' ); if (z2) { (_Scanner__cur._token) = 34 ; _Scanner__GetCh (); goto if_8_end; }; (_Scanner__cur._token) = 9 ; if_8_end: /**/; return; c1_20:; _Scanner__GetCh (); z2 = (_Scanner__ch == '>' ); if (z2) { (_Scanner__cur._token) = 33 ; _Scanner__GetCh (); goto if_9_end; }; (_Scanner__cur._token) = 20 ; if_9_end: /**/; return; c1_21:; _Scanner__GetCh (); z2 = (_Scanner__ch == '=' ); if (z2) { (_Scanner__cur._token) = 11 ; _Scanner__GetCh (); goto if_10_end; }; (_Scanner__cur._token) = 27 ; if_10_end: /**/; return; c1_22:; _Scanner__GetCh (); z2 = (_Scanner__ch == '.' ); if (z2) { (_Scanner__cur._token) = 26 ; _Scanner__GetCh (); goto if_11_end; }; (_Scanner__cur._token) = 13 ; if_11_end: /**/; return; c1_23:; _Scanner__GetCh (); z2 = (_Scanner__ch == '*' ); if (z2) { _Scanner__ScanComment (); goto if_12_end; }; (_Scanner__cur._token) = 16 ; return; if_12_end: /**/; goto c1_exit; c1_24:; _Scanner__GetCh (); z2 = (_Scanner__ch == '=' ); if (z2) { (_Scanner__cur._token) = 25 ; _Scanner__GetCh (); goto if_13_end; }; (_Scanner__cur._token) = 23 ; if_13_end: /**/; return; c1_25:; _Scanner__GetCh (); z2 = (_Scanner__ch == '=' ); if (z2) { (_Scanner__cur._token) = 24 ; _Scanner__GetCh (); goto if_14_end; #line 235 }; z2 = (_Scanner__ch == ':' ); if (z2) { (_Scanner__cur._token) = 32 ; _Scanner__GetCh (); goto if_14_end; }; z2 = (_Scanner__ch == '*' ); if (z2) { _Scanner__ScanPragma (); goto if_14_end; }; (_Scanner__cur._token) = 22 ; if_14_end: /**/; return; c1_else:; _Error__Int (_Scanner__ch, ((ADDRESS)(& txt4.str))); _Scanner__GetCh (); c1_exit: /* exit */; }; goto loop_0; } } }; #line 250 "Scanner.m3" PRIVATE t53 _Scanner__ScanNumber () { t23 z0; t4 z3; t23 z2; t23 z1; t23 z4; t4 z5; t42 z6; t9 z7; #line 250 "Scanner.m3" { auto t4 _val; auto t4 _len; auto t4 _i; auto t4 _base; auto t4 _max; auto t4 _digit; { CHECKSTACKOVERFLOW; _val = 0 ; _i = 0 ; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__Digits.elts [j/32] & (1<<(j%32))) != 0); }; #line 257 if (z0) do { z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = _Scanner__ch; _i += 1 ; z2 = (_val > 214748364 ); if (z2) { _Error__Msg (((ADDRESS)(& txt7.str))); z3 = IDIV (_val, 10 ); _val = z3; goto if_15_end; }; if_15_end: /**/; z3 = _val * 10 ; _val = z3; z3 = _Scanner__ch - 48 ; _digit = z3; z3 = 2147483647 - _val; z1 = (_digit > z3); if (z1) { _Error__Msg (((ADDRESS)(& txt7.str))); _digit = 0 ; goto if_16_end; }; if_16_end: /**/; _val += _digit; _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__Digits.elts [j/32] & (1<<(j%32))) != 0); }; #line 270 } while (z0); z2 = (_Scanner__ch == '_' ); if (z2) { _base = _val; z2 = (_base < 2 ); z0 = 1; if (! z2) { z4 = ( 16 < _base); z0 = z4; }; if (z0) { _Error__Int (_base, ((ADDRESS)(& txt8.str))); _base = 10 ; goto if_18_end; }; if_18_end: /**/; _val = 0 ; _len = 0 ; z3 = IDIV ( 2147483647 , _base); _max = z3; loop_1:; _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__Digits.elts [j/32] & (1<<(j%32))) != 0); }; #line 285 if (z0) { z3 = _Scanner__ch - 48 ; _digit = z3; goto if_19_end; }; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__HexALPHA.elts [j/32] & (1<<(j%32))) != 0); }; #line 285 if (z0) { z3 = _Scanner__ch - 65 ; z5 = z3 + 10 ; _digit = z5; goto if_19_end; }; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__HexAlpha.elts [j/32] & (1<<(j%32))) != 0); }; #line 286 if (z0) { z3 = _Scanner__ch - 97 ; z5 = z3 + 10 ; _digit = z5; goto if_19_end; }; z2 = (_len == 0 ); if (z2) { _Error__Msg (((ADDRESS)(& txt9.str))); goto loop_exit_1; }; goto loop_exit_1; if_19_end: /**/; z2 = (_digit > _base); if (z2) { _Error__Int (_digit, ((ADDRESS)(& txt10.str))); goto loop_exit_1; }; z2 = (_val > _max); if (z2) { _Error__Msg (((ADDRESS)(& txt11.str))); goto loop_exit_1; }; z3 = _val * _base; _val = z3; z3 = 2147483647 - _val; z1 = (_digit > z3); if (z1) { _Error__Msg (((ADDRESS)(& txt11.str))); goto loop_exit_1; }; _val += _digit; _len += 1 ; goto loop_1; loop_exit_1: /**/; (_Scanner__cur._token) = 2 ; (_Scanner__cur._value) = _val; goto if_17_end; }; z2 = (_Scanner__ch == '.' ); if (z2) { z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = '.' ; _i += 1 ; _Scanner__GetCh (); z2 = (_Scanner__ch == '.' ); if (z2) { _Rd__UnGetChar (_Scanner__input); (_Scanner__cur._token) = 2 ; (_Scanner__cur._value) = _val; return; }; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__Digits.elts [j/32] & (1<<(j%32))) != 0); }; #line 321 if (z0) do { z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = _Scanner__ch; _i += 1 ; #line 321 _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__Digits.elts [j/32] & (1<<(j%32))) != 0); }; #line 321 } while (z0); z2 = (_Scanner__ch == 'e' ); z0 = 1; if (! z2) { z4 = (_Scanner__ch == 'E' ); z0 = z4; }; if (z0) { z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = 'e' ; _i += 1 ; (_Scanner__cur._token) = 3 ; goto if_24_end; }; z2 = (_Scanner__ch == 'd' ); z0 = 1; if (! z2) { z4 = (_Scanner__ch == 'D' ); #line 324 z0 = z4; }; if (z0) { z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = 'e' ; _i += 1 ; (_Scanner__cur._token) = 4 ; goto if_24_end; }; (_Scanner__cur._token) = 3 ; { z6.elts = (char*) (& _Scanner__buf); z6.size[0] = 4096; }; z7 = _String__FromStr (&z6, _i); (_Scanner__cur._string) = z7; return; if_24_end: /**/; _Scanner__GetCh (); z2 = (_Scanner__ch == '+' ); if (z2) { z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = '+' ; _i += 1 ; _Scanner__GetCh (); goto if_25_end; }; z2 = (_Scanner__ch == '-' ); if (z2) { z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = '-' ; _i += 1 ; _Scanner__GetCh (); goto if_25_end; }; z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = '+' ; if_25_end: /**/; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__Digits.elts [j/32] & (1<<(j%32))) != 0); }; #line 343 z1 = ! z0; if (z1) { _Error__Msg (((ADDRESS)(& txt12.str))); z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = '0' ; _i += 1 ; goto if_26_end; #line 345 }; if_26_end: /**/; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__Digits.elts [j/32] & (1<<(j%32))) != 0); }; #line 347 if (z0) do { z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = _Scanner__ch; _i += 1 ; #line 347 _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__Digits.elts [j/32] & (1<<(j%32))) != 0); }; #line 347 } while (z0); { z6.elts = (char*) (& _Scanner__buf); z6.size[0] = 4096; }; z7 = _String__FromStr (&z6, _i); (_Scanner__cur._string) = z7; #line 348 goto if_17_end; }; (_Scanner__cur._token) = 2 ; (_Scanner__cur._value) = _val; if_17_end: /**/; } } }; #line 359 "Scanner.m3" PRIVATE t53 _Scanner__ScanChar () { t23 z2; t23 z0; t23 z3; t23 z1; t4 z4; #line 359 "Scanner.m3" { { CHECKSTACKOVERFLOW; (_Scanner__cur._token) = 5 ; (_Scanner__cur._value) = 0 ; _Scanner__GetCh (); z2 = (_Scanner__ch == '\047' ); if (z2) { _Error__Msg (((ADDRESS)(& txt13.str))); _Scanner__GetCh (); return; }; z2 = (_Scanner__ch == '\012' ); z0 = 1; if (! z2) { z3 = (_Scanner__ch == '\015' ); z0 = z3; }; z1 = 1; #line 367 if (! z0) { z3 = (_Scanner__ch == '\014' ); z1 = z3; }; if (z1) { _Error__Msg (((ADDRESS)(& txt14.str))); return; }; z2 = (_Scanner__ch == '\134' ); if (z2) { _Scanner__GetCh (); z2 = (_Scanner__ch == 'n' ); if (z2) { (_Scanner__cur._value) = 10 ; _Scanner__GetCh (); goto if_28_end; }; z2 = (_Scanner__ch == 't' ); #line 373 if (z2) { (_Scanner__cur._value) = 9 ; _Scanner__GetCh (); goto if_28_end; }; z2 = (_Scanner__ch == 'r' ); if (z2) { (_Scanner__cur._value) = 13 ; _Scanner__GetCh (); goto if_28_end; }; z2 = (_Scanner__ch == 'f' ); if (z2) { (_Scanner__cur._value) = 12 ; _Scanner__GetCh (); goto if_28_end; }; z2 = (_Scanner__ch == '\134' ); if (z2) { (_Scanner__cur._value) = 92 ; _Scanner__GetCh (); goto if_28_end; }; z2 = (_Scanner__ch == '\047' ); if (z2) { (_Scanner__cur._value) = 39 ; _Scanner__GetCh (); goto if_28_end; }; z2 = (_Scanner__ch == '\042' ); if (z2) { (_Scanner__cur._value) = 34 ; _Scanner__GetCh (); goto if_28_end; }; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__OctalDigits.elts [j/32] & (1<<(j%32))) != 0); }; #line 379 if (z0) { z4 = _Scanner__GetOctalChar (); (_Scanner__cur._value) = z4; goto if_28_end; }; _Error__Msg (((ADDRESS)(& txt15.str))); if_28_end: /**/; goto if_27_end; }; z2 = (_Scanner__ch == '\000' ); if (z2) { _Error__Msg (((ADDRESS)(& txt16.str))); return; }; z2 = (_Scanner__ch == '\042' ); if (z2) { (_Scanner__cur._value) = 34 ; _Scanner__GetCh (); _Error__WarnNonStandard (((ADDRESS)(& txt17.str))); goto if_27_end; }; (_Scanner__cur._value) = _Scanner__ch; _Scanner__GetCh (); if_27_end: /**/; z2 = (_Scanner__ch != '\047' ); if (z2) { _Error__Msg (((ADDRESS)(& txt18.str))); goto if_29_end; }; _Scanner__GetCh (); if_29_end: /**/; } } }; #line 400 "Scanner.m3" PRIVATE t53 _Scanner__ScanText () { t23 z2; t23 z0; t23 z3; t23 z1; t4 z4; t4 z5; t42 z6; t9 z7; #line 400 "Scanner.m3" { auto t4 _i; { CHECKSTACKOVERFLOW; _i = 0 ; (_Scanner__cur._token) = 6 ; _Scanner__GetCh (); loop_2:; z2 = (_Scanner__ch == '\042' ); if (z2) { _Scanner__GetCh (); goto loop_exit_2; }; z2 = (_Scanner__ch == '\012' ); z0 = 1; if (! z2) { z3 = (_Scanner__ch == '\015' ); z0 = z3; #line 409 }; z1 = 1; if (! z0) { z3 = (_Scanner__ch == '\014' ); z1 = z3; }; if (z1) { _Error__Msg (((ADDRESS)(& txt19.str))); goto loop_exit_2; }; z2 = (_Scanner__ch == '\134' ); if (z2) { _Scanner__GetCh (); z2 = (_Scanner__ch == 'n' ); if (z2) { z4 = _i; if ((z4 < 0) || (4095 < z4)) RANGEFAULT; (_Scanner__buf.elts[z4]) = '\012' ; #line 415 _i += 1 ; _Scanner__GetCh (); goto if_31_end; }; z2 = (_Scanner__ch == 't' ); if (z2) { z4 = _i; if ((z4 < 0) || (4095 < z4)) RANGEFAULT; (_Scanner__buf.elts[z4]) = '\011' ; _i += 1 ; _Scanner__GetCh (); #line 416 goto if_31_end; }; z2 = (_Scanner__ch == 'r' ); if (z2) { z4 = _i; if ((z4 < 0) || (4095 < z4)) RANGEFAULT; (_Scanner__buf.elts[z4]) = '\015' ; _i += 1 ; _Scanner__GetCh (); #line 417 goto if_31_end; }; z2 = (_Scanner__ch == 'f' ); if (z2) { z4 = _i; if ((z4 < 0) || (4095 < z4)) RANGEFAULT; (_Scanner__buf.elts[z4]) = '\014' ; _i += 1 ; _Scanner__GetCh (); #line 418 goto if_31_end; }; z2 = (_Scanner__ch == '\134' ); if (z2) { z4 = _i; if ((z4 < 0) || (4095 < z4)) RANGEFAULT; (_Scanner__buf.elts[z4]) = '\134' ; _i += 1 ; _Scanner__GetCh (); #line 419 goto if_31_end; }; z2 = (_Scanner__ch == '\047' ); if (z2) { z4 = _i; if ((z4 < 0) || (4095 < z4)) RANGEFAULT; (_Scanner__buf.elts[z4]) = '\047' ; _i += 1 ; _Scanner__GetCh (); #line 420 goto if_31_end; }; z2 = (_Scanner__ch == '\042' ); if (z2) { z4 = _i; if ((z4 < 0) || (4095 < z4)) RANGEFAULT; (_Scanner__buf.elts[z4]) = '\042' ; _i += 1 ; _Scanner__GetCh (); #line 421 goto if_31_end; }; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__OctalDigits.elts [j/32] & (1<<(j%32))) != 0); }; #line 421 if (z0) { z4 = _Scanner__GetOctalChar (); z5 = z4; if ((z5 < 0) || (255 < z5)) RANGEFAULT; z4 = _i; if ((z4 < 0) || (4095 < z4)) RANGEFAULT; #line 422 (_Scanner__buf.elts[z4]) = z5; _i += 1 ; goto if_31_end; }; _Error__Msg (((ADDRESS)(& txt20.str))); if_31_end: /**/; goto if_30_end; }; z2 = (_Scanner__ch == '\000' ); if (z2) { _Error__Msg (((ADDRESS)(& txt21.str))); goto loop_exit_2; }; z2 = (_Scanner__ch == '\047' ); if (z2) { z4 = _i; if ((z4 < 0) || (4095 < z4)) RANGEFAULT; (_Scanner__buf.elts[z4]) = _Scanner__ch; _i += 1 ; _Scanner__GetCh (); _Error__WarnNonStandard (((ADDRESS)(& txt17.str))); goto if_30_end; }; z4 = _i; if ((z4 < 0) || (4095 < z4)) RANGEFAULT; (_Scanner__buf.elts[z4]) = _Scanner__ch; _i += 1 ; _Scanner__GetCh (); if_30_end: /**/; goto loop_2; loop_exit_2: /**/; { z6.elts = (char*) (& _Scanner__buf); z6.size[0] = 4096; }; z7 = _String__FromStr (&z6, _i); (_Scanner__cur._string) = z7; #line 440 } } }; #line 443 "Scanner.m3" PRIVATE t4 _Scanner__GetOctalChar () { t23 z0; t4 z2; t23 z1; t4 z3; #line 443 "Scanner.m3" { auto t4 _value; auto t4 __result; { CHECKSTACKOVERFLOW; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__OctalDigits.elts [j/32] & (1<<(j%32))) != 0); }; #line 446 if (!z0) ASSERTFAULT; z2 = _Scanner__ch - 48 ; _value = z2; _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__OctalDigits.elts [j/32] & (1<<(j%32))) != 0); }; #line 449 z1 = ! z0; if (z1) { _Scanner__BadOctal (); __result = _value; return __result; }; z2 = _value * 8 ; z3 = z2 + _Scanner__ch; z2 = z3 - 48 ; _value = z2; _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__OctalDigits.elts [j/32] & (1<<(j%32))) != 0); }; #line 452 z1 = ! z0; if (z1) { _Scanner__BadOctal (); __result = _value; return __result; }; z2 = _value * 8 ; z3 = z2 + _Scanner__ch; z2 = z3 - 48 ; _value = z2; _Scanner__GetCh (); __result = _value; return __result; } } }; #line 458 "Scanner.m3" PRIVATE t53 _Scanner__BadOctal () { #line 458 "Scanner.m3" { { CHECKSTACKOVERFLOW; _Error__Msg (((ADDRESS)(& txt22.str))); } } }; #line 463 "Scanner.m3" PRIVATE t53 _Scanner__ScanComment () { t23 z2; #line 463 "Scanner.m3" { auto t4 _nest; auto t4 _save; auto t4 _start; { CHECKSTACKOVERFLOW; _start = (_Scanner__cur._offset); _Scanner__GetCh (); _nest = 1 ; z2 = (_nest > 0 ); if (z2) do { z2 = (_Scanner__ch == '*' ); if (z2) { _Scanner__GetCh (); z2 = (_Scanner__ch == ')' ); if (z2) { _nest -= 1 ; _Scanner__GetCh (); goto if_35_end; #line 471 }; if_35_end: /**/; goto if_34_end; }; z2 = (_Scanner__ch == '(' ); if (z2) { _Scanner__GetCh (); z2 = (_Scanner__ch == '*' ); if (z2) { _nest += 1 ; _Scanner__GetCh (); goto if_36_end; #line 473 }; if_36_end: /**/; goto if_34_end; }; z2 = (_Scanner__ch == '\000' ); if (z2) { _save = _Scanner__offset; _Scanner__offset = _start; _Error__Msg (((ADDRESS)(& txt23.str))); _Scanner__offset = _save; _nest = 0 ; goto if_34_end; }; z2 = (_Scanner__ch == '\012' ); if (z2) { _Scanner__offset += 1 ; _Scanner__GetCh (); goto if_34_end; }; _Scanner__GetCh (); if_34_end: /**/; z2 = (_nest > 0 ); } while (z2); } } }; #line 489 "Scanner.m3" PRIVATE t53 _Scanner__ScanPragma () { t23 z0; t23 z2; t4 z3; t42 z4; t9 z5; t4 z1; t23 z6; #line 489 "Scanner.m3" { auto t4 _nest; auto t4 _save; auto t4 _start; auto t4 _i; { CHECKSTACKOVERFLOW; _start = (_Scanner__cur._offset); _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__WhiteSpace.elts [j/32] & (1<<(j%32))) != 0); }; #line 496 if (z0) do { z2 = (_Scanner__ch == '\012' ); if (z2) { _Scanner__offset += 1 ; goto if_37_end; }; if_37_end: /**/; _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__WhiteSpace.elts [j/32] & (1<<(j%32))) != 0); }; #line 498 } while (z0); _i = 2 ; (_Scanner__buf.elts[ 0 ]) = '<' ; (_Scanner__buf.elts[ 1 ]) = '*' ; {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__AlphaNumerics.elts [j/32] & (1<<(j%32))) != 0); }; #line 504 if (z0) do { z3 = _i; if ((z3 < 0) || (4095 < z3)) RANGEFAULT; (_Scanner__buf.elts[z3]) = _Scanner__ch; _i += 1 ; _Scanner__GetCh (); {int i = _Scanner__ch; int j = i - 0;z0 = (0 <= i) && (i <= 255) && ((_Scanner__AlphaNumerics.elts [j/32] & (1<<(j%32))) != 0); }; #line 507 } while (z0); { z4.elts = (char*) (& _Scanner__buf); z4.size[0] = 4096; }; z5 = _String__FromStr (&z4, _i); (_Scanner__cur._string) = z5; z3 = _String__GetClass ((_Scanner__cur._string)); z1 = z3; if ((z1 < 0) || (96 < z1)) RANGEFAULT; (_Scanner__cur._token) = z1; z6 = ((_Scanner__cur._token) == 38 ); if (z6) { _Error__IgnoreWarning ((_Scanner__cur._offset)); _Scanner__GetToken (); z6 = ((_Scanner__cur._token) != 34 ); if (z6) { _Error__Msg (((ADDRESS)(& txt24.str))); goto if_39_end; }; if_39_end: /**/; _Scanner__GetToken (); return; }; z6 = ( 35 <= (_Scanner__cur._token)); z0 = 0; if (z6) { z6 = ((_Scanner__cur._token) <= 40 ); z0 = z6; }; if (z0) { return; }; _Error__WarnStr ( 2 , (_Scanner__cur._string), ((ADDRESS)(& txt25.str))); _nest = 1 ; z2 = (_nest > 0 ); if (z2) do { z2 = (_Scanner__ch == '*' ); if (z2) { _Scanner__GetCh (); z2 = (_Scanner__ch == '>' ); if (z2) { _nest -= 1 ; _Scanner__GetCh (); goto if_42_end; #line 532 }; if_42_end: /**/; goto if_41_end; }; z2 = (_Scanner__ch == '<' ); if (z2) { _Scanner__GetCh (); z2 = (_Scanner__ch == '*' ); if (z2) { _nest += 1 ; _Scanner__GetCh (); goto if_43_end; #line 534 }; if_43_end: /**/; goto if_41_end; }; z2 = (_Scanner__ch == '\000' ); if (z2) { _save = _Scanner__offset; _Scanner__offset = _start; _Error__Msg (((ADDRESS)(& txt26.str))); _Scanner__offset = _save; _nest = 0 ; goto if_41_end; }; z2 = (_Scanner__ch == '\012' ); if (z2) { _Scanner__offset += 1 ; _Scanner__GetCh (); goto if_41_end; }; _Scanner__GetCh (); if_41_end: /**/; z2 = (_nest > 0 ); } while (z2); _Scanner__GetToken (); } } }; PRIVATE int init_done = -1; #line 549 "Scanner.m3" PRIVATE void Scanner__initProc (g) int g; { #line 549 "Scanner.m3" if (init_done >= g) return; init_done = g; INITIALIZE (& Scanner__init); INITIALIZE (& Text__init); INITIALIZE (& UnsafeRd__init); #line 549 INITIALIZE (& Rd__init); INITIALIZE (& Token__init); INITIALIZE (& String__init); INITIALIZE (& Error__init); #line 43 ZERO1 (& _Scanner__input); ZERO1B (& _Scanner__ch); ZERO (1148, & _Scanner__stack); ZERO (4096, & _Scanner__buf); #line 549 return; }; PRIVATE INITLINK me_0 ={(INITLINK*)NIL, 0, Scanner__initProc}; static char* VSimports[] = { &VS_Text__T__fc4b369f3ab271fd, &VS_Rd__EndOfFile__f4a9d2f63b7e105d, &VS_Rd__Error__5ca07bfe2ba90cfc, &VS_Rd__Failure__e4a829e331222b6d, &VS_Thread__Alerted__fc88feb43485af46, &VS_UnsafeRd__FastGetChar__d61c45c120a861fa, &VS_UnsafeRd__FastEOF__8dcdeac33eabb5a2, &VS_Thread__Alerted__fc88feb43485af46, &VS_Rd__T__2555b70b3f7780b1, &VS_Rd__EndOfFile__f4a9d2f63b7e105d, &VS_Rd__Failure__e4a829e331222b6d, &VS_Rd__Error__5ca07bfe2ba90cfc, &VS_Rd__UnGetChar__cfe78aee2242727d, &VS_Token__First_Pragma__7f666445321bb1c9, &VS_Token__Last_Pragma__0e618a4b26b6daea, &VS_Token__First_Keyword__dedde95026a36544, &VS_Token__DeclStart__730c82bc2c2001b8, &VS_Token__TypeStart__f71616cb38a20d02, &VS_Token__ExprStart__21dc8a0a27344836, &VS_Token__name__ca7a44a32968dc66, &VS_String__T__3a6c7dc12615e4ee, &VS_String__Add__0f5e21cc3d204b63, &VS_String__FromStr__4226c3282dddebc2, &VS_String__ToText__b5eb19e626fe180d, &VS_String__GetClass__0367456e2d55200c, &VS_Error__Msg__4d119a332467757f, &VS_Error__Int__05fff4c5263ea533, &VS_Error__Str__2bd0723e3872e90c, &VS_Error__WarnStr__aa8e70c53534552c, &VS_Error__WarnNonStandard__28b127cf2d45026a, &VS_Error__IgnoreWarning__b99be2f12e366d68, &VS_Scanner__cur__929fa6f8367ea415, &VS_Scanner__offset__dfc05f042d8347f4, NIL }; void Scanner__MLink (phase) int phase; { switch (phase) { case 0: { me_0.link = Scanner__init; Scanner__init = & me_0; break; }; case 1: { break; }; case 2: { break; }; }; };