/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1994 by Xerox Corporation. All rights reserved. */ /* time: April 11, 1994 1:52:47 pm PDT */ /* C2C version: January 12, 1994 (sun4) */ /* ref-counting: off */ /* file: RopeImpl, module: RopeImpl */ /* switches: bcfhklnouw */ #include #include static char versionStamp[] = "@(#)mob_version [2372217448,2569016102] RopeImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {word f0, f1;} W2; typedef struct {W8 f; word r;} W9; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {W8 f; W8 r;} W16; typedef struct {W8 f; W2 r;} W10; typedef W10 *W10Pt; typedef struct {word f0, f1, f2;} W3; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {W8 f; W6 r;} W14; typedef struct {W16 f; W16 r;} W32; typedef struct {W32 f; W32 r;} W64; typedef struct {W64 f; W32 r;} W96; typedef struct {W16 f; W2 r;} W18; typedef struct {W64 f; W18 r;} W82; typedef struct {W64 f; W16 r;} W80; typedef W80 *W80Pt; typedef W2 *W2Pt; #define SOURCE(p, l) /* source p, l */ #define SGNCK(i) ((int) (word) (i) < 0 ? XR_RaiseArithmeticFault(): i ) #define INEG(x) ( (word) ( - ((int) (word) (x)) ) ) #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR_RaiseBoundsFault()) : (idx) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) #define IOP2(op, x, y) ( (word) ((x) op (y)) ) #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) #define IABS(i) ( ((int)(word)(i) > 0) ? (i) : (word)(-(int)(word)(i)) ) static void NoName_Q13464(); static void RopeImpl_P0(); static word NewText_P60(); static word Substr_P120(); static word Cat_P180(); static word Concat_P240(); static word AddChar_P3252(); static word Replace_P300(); static word AddChar_P3456(); static word Fetch_P420(); static word Map_P480(); static word Translate_P540(); static word each_P4476(); static word Lower_P600(); static word Upper_P660(); static word Flatten_P720(); static word MakeRope_P780(); static word FromProc_P840(); static word FromChars_P900(); static void genRopesFromChars_P4728(); static void putChar_P4788(); static word FromRopes_P960(); static void putRope_P4848(); static word FromChar_P1020(); static word MakeConstantRope_P1080(); static word ConstFetch_P1140(); static word ConstMap_P1200(); static word ConstMove_P1260(); static word FromRefText_P1320(); static word ToRefText_P1380(); static void DoMoveChars_P1440(); static word action_P5436(); static word AppendChars_P1500(); static word UnsafeMoveChars_P1560(); static word Equal_P1620(); static word Compare_P1680(); static word CompareSubstrs_P1740(); static word EqualSubstrs_P1800(); static void ContainingPiece_P1860(); static word IsEmpty_P1920(); static word Length_P1980(); static word InlineSize_P2040(); static word Size_P2100(); static word Run_P2220(); static word IsPrefix_P2280(); static word Index_P2340(); static word Cmp_P6648(); static word LCmp_P6756(); static word Find_P2400(); static word FindBackward_P2460(); static word Match_P2520(); static word submatch_P7056(); static word SkipTo_P2580(); static word CharMatch_P7356(); static word SkipOver_P2640(); static word CharMatch_P7512(); static void VerifyStructure_P2700(); static void InitMinSizeForHeight_P2760(); static word PartIsBalanced_P2820(); static word Balance_P2880(); static word NewBalance_P2940(); static void StoreA_P8004(); static void ASub_P8064(); static void SavePart_P8124(); static word BalanceRange_P8184(); static void MapParts_P3000(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"}; static struct {unsigned f; char r[24];} string2 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\215e*h\300\231 \023&B<\000\000"}; static struct {unsigned f; char r[44];} string4 = {2752556, "\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261\000"}; static struct {unsigned f; char r[8];} string5 = {393224, "\205\210\242\000\037\242\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\215\145\052\150\300\231\040\023\046\105\000\000\000"}; static struct {unsigned f; char r[12];} string7 = {720907, "\006\002\004\010\000\010(\001AD\001"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\215\145\052\150\300\231\040\023\046\100\164\000\000"}; static struct {unsigned f; char r[24];} string9 = {1441814, "\006\007\020\001\024\001\030\001\034\001\040\001\044\010\000\004\101\000\001\104\044\001\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\332\223\177\020\300\304\076\102\260\100\164\000\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\277\374\326\303\300\302\136\022\175\100\150\000\000"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct { word f0[284]; word f284; word f285; word f286; word f287; word f288; word f289; word f290; word f291; word f292; word f293; word f294; word f295; word f296; word f297; word f298; word f299; word f300; word f301; word f302; word f303; word f304; word f305; word f306; word f307; word f308; word f309; word f310; word f311; word f312; word f313; word f314; word f315; word f316; word f317; word f318; word f319; word f320; word f321; word f322; word f323; word f324; word f325; word f326; word f327; word f328; word f329; word f330; word f331; word f332; word f333; word f334; word f335; word f336; word f337; word f338; word f339; word f340; word f341; word f342; word f343; word f344; word f345; word f346; word f347; word f348; word f349; word f350; word f351; word f352; word f353; word f354; word f355; word f356; word f357; word f358; word f359; word f360; word f361; word f362; word f363; word f364; word f365; word f366; word f367; word f368; word f369; word f370; word f371; word f372; word f373; word f374; word f375; word f376; word f377; word f378; word f379; word f380; word f381[4]; } globalframe = { {0}, (word) MapParts_P3000, 0, (word) NewBalance_P2940, 0, (word) Balance_P2880, 0, (word) PartIsBalanced_P2820, 0, (word) InitMinSizeForHeight_P2760, 0, (word) VerifyStructure_P2700, 0, (word) SkipOver_P2640, 0, (word) SkipTo_P2580, 0, (word) Match_P2520, 0, (word) FindBackward_P2460, 0, (word) Find_P2400, 0, (word) Index_P2340, 0, (word) IsPrefix_P2280, 0, (word) Run_P2220, 0, (word) Size_P2100, 0, (word) InlineSize_P2040, 0, (word) Length_P1980, 0, (word) IsEmpty_P1920, 0, (word) ContainingPiece_P1860, 0, (word) EqualSubstrs_P1800, 0, (word) CompareSubstrs_P1740, 0, (word) Compare_P1680, 0, (word) Equal_P1620, 0, (word) UnsafeMoveChars_P1560, 0, (word) AppendChars_P1500, 0, (word) DoMoveChars_P1440, 0, (word) ToRefText_P1380, 0, (word) FromRefText_P1320, 0, (word) ConstMove_P1260, 0, (word) ConstMap_P1200, 0, (word) ConstFetch_P1140, 0, (word) MakeConstantRope_P1080, 0, (word) FromChar_P1020, 0, (word) FromRopes_P960, 0, (word) FromChars_P900, 0, (word) FromProc_P840, 0, (word) MakeRope_P780, 0, (word) Flatten_P720, 0, (word) Upper_P660, 0, (word) Lower_P600, 0, (word) Translate_P540, 0, (word) Map_P480, 0, (word) Fetch_P420, 0, (word) Replace_P300, 0, (word) Concat_P240, 0, (word) Cat_P180, 0, (word) Substr_P120, 0, (word) NewText_P60, 0, (word) RopeImpl_P0, {0} }; static void NoName_Q13464() { register ptr gf_c0830 = (ptr) &globalframe; word var_c49112; (* (( (ptr) gf_c0830)+266) ) = (word) XR_GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf_c0830)+276) ) = (word) XR_GetTypeIndexS((word) (&string3)); (* (( (ptr) gf_c0830)+277) ) = (word) XR_GetTypeIndexS((word) (&string4)); (* (( (ptr) gf_c0830)+278) ) = (word) XR_GetTypeIndexS((word) (&string5)); (* (( (ptr) gf_c0830)+279) ) = (word) XR_GetTypeIndex((word) &string6, 0, (word) &string7); (void) XR_DeclareGlobalFrame((word) "RopeImpl", &globalframe, (word) XR_GetTypeIndex((word) &string8, 0, (word) &string9) , (word) (( (bPt) gf_c0830)+1520)/* var_c40696 */ ); var_c49112 = (word) XR_ImportInterface((word) "RefText", (word) XR_GetTypeIndexS((word) (&string10)), 26); (* (( (ptr) gf_c0830)+383)/* var_c43800 */ ) = var_c49112; (void) XR_ImportProcS(var_c49112, 262913); (void) XR_ImportProcS(var_c49112, 67371521); var_c49112 = (word) XR_ImportInterface((word) "SafeStorage", (word) XR_GetTypeIndexS((word) (&string11)), 27); (* (( (ptr) gf_c0830)+382)/* var_c40760 */ ) = var_c49112; (void) XR_ImportProcS(var_c49112, 67109376); var_c49112 = (word) XR_ExportInterface((word) "Rope", (word) XR_GetTypeIndexS((word) (&string12)), 43); (* (( (ptr) gf_c0830)+384)/* var_c49144 */ ) = var_c49112; (void) XR_ExportVar(var_c49112, 0, (word) (( (bPt) gf_c0830)+1124)); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1496)/* var_c40600 */ , 68419845, (word) "Cat"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1488)/* var_c40568 */ , 67633666, (word) "Concat"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1304)/* var_c39832 */ , 67896067, (word) "Compare"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1312)/* var_c39864 */ , 67896323, (word) "Equal"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1472)/* var_c40504 */ , 67634434, (word) "Fetch"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1224)/* var_c39512 */ , 68158980, (word) "Index"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1216)/* var_c39480 */ , 68159236, (word) "Find"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1208)/* var_c39448 */ , 68159492, (word) "FindBackward"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1272)/* var_c39704 */ , 67373313, (word) "IsEmpty"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1264)/* var_c39672 */ , 67373569, (word) "Length"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1248)/* var_c39608 */ , 67373825, (word) "Size"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1480)/* var_c40536 */ , 68160516, (word) "Replace"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1504)/* var_c40632 */ , 67898627, (word) "Substr"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1296)/* var_c39800 */ , 68947463, (word) "CompareSubstrs"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1288)/* var_c39768 */ , 68947719, (word) "EqualSubstrs"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1240)/* var_c39576 */ , 68686086, (word) "Run"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1232)/* var_c39544 */ , 67899907, (word) "IsPrefix"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1200)/* var_c39416 */ , 67900163, (word) "Match"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1192)/* var_c39384 */ , 67900419, (word) "SkipTo"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1184)/* var_c39352 */ , 67900675, (word) "SkipOver"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1464)/* var_c40472 */ , 68163076, (word) "Map"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1456)/* var_c40440 */ , 68163332, (word) "Translate"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1448)/* var_c40408 */ , 67377153, (word) "Lower"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1440)/* var_c40376 */ , 67377409, (word) "Upper"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1432)/* var_c40344 */ , 67901955, (word) "Flatten"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1416)/* var_c40280 */ , 67902211, (word) "FromProc"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1408)/* var_c40248 */ , 67378177, (word) "FromChars"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1400)/* var_c40216 */ , 67378433, (word) "FromRopes"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1512)/* var_c40664 */ , 67378689, (word) "NewText"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1352)/* var_c40024 */ , 67903235, (word) "FromRefText"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1344)/* var_c39992 */ , 67379201, (word) "ToRefText"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1392)/* var_c40184 */ , 67379457, (word) "FromChar"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1424)/* var_c40312 */ , 68428293, (word) "MakeRope"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1384)/* var_c40152 */ , 67642114, (word) "MakeConstantRope"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1328)/* var_c39928 */ , 68166660, (word) "AppendChars"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1320)/* var_c39896 */ , 68429059, (word) "UnsafeMoveChars"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1280)/* var_c39736 */ , 201860610, (word) "ContainingPiece"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1152)/* var_c39224 */ , 68167428, (word) "Balance"); (void) XR_ExportProcS(var_c49112, (word) (( (bPt) gf_c0830)+1176)/* var_c39320 */ , 201598977, (word) "VerifyStructure"); (void) XR_ExportVar(var_c49112, 41, (word) (( (bPt) gf_c0830)+1128)); } static void RopeImpl_P0(formal_c065, formal_c063) word formal_c065; word formal_c063; { register ptr gf_c49176 = (ptr) &globalframe; /* RopeImpl: */ SOURCE(68, 33760) SOURCE(376, 33) { word var_c40728; var_c40728 = XR_NewObject(4, (* (( (ptr) gf_c49176)+266) )); (* (ptr) var_c40728 ) &= 4294934528; (* (( (ptr) gf_c49176)+4)/* emptyRope_v2804 */ ) = var_c40728; }; SOURCE(33782, 46) SOURCE(33783, 44) { word pd13; pd13 = (* (( (ptr) (* (( (ptr) gf_c49176)+382)/* var_c40760 */ ))+6) ); (* (( (ptr) gf_c49176)+8)/* untracedZone_v2916 */ ) = (word) ( *( (fPt) ((* (ptr) pd13 ))))(pd13); }; } static word NewText_P60(size_v4752) word size_v4752; { register ptr gf_c49208 = (ptr) &globalframe; word text_v4796; /* NewText: */ SOURCE(546, 159) SOURCE(546, 159) text_v4796 = 0; SOURCE(610, 35) if ((size_v4752 == 0)) { SOURCE(627, 18) return((* (( (ptr) gf_c49208)+4)/* emptyRope_v2804 */ )); }; SOURCE(647, 38) { word var_c40792; word var_c40824; var_c40792 = ((word) ((word) (size_v4752 + 3) >> 2) << 2); { word pd14; pd14 = (* (ptr) (* (( (ptr) gf_c49208)+8)/* untracedZone_v2916 */ ) ); var_c40824 = (word) ( *( (fPt) ((* (ptr) pd14 ))))((* (( (ptr) gf_c49208)+8)/* untracedZone_v2916 */ ), (4 + var_c40792), (* ( ( (ptr) gf_c49208)+266) ), pd14); }; { word tadr15; tadr15 = (word) var_c40824; (* (ptr) tadr15 ) = ((* (ptr) tadr15 ) & 4294934528) | ((word) ( (((unsigned)size_v4752 << 17) >> 17) )); }; text_v4796 = var_c40824; }; SOURCE(687, 18) { word tadr16; tadr16 = (word) text_v4796; (* (ptr) tadr16 ) = ((* (ptr) tadr16 ) & 2147549183) | (((word) ( (((unsigned)size_v4752 << 17) >> 17) )) << 16); }; SOURCE(546, 159) return(text_v4796); } static word Substr_P120(base_v4856, start_v4884, len_v4912) word base_v4856; word start_v4884; word len_v4912; { register ptr gf_c49240 = (ptr) &globalframe; word new_v4956; word size_v13060; word rem_v13088; word depth_v13116 = 1; /* Substr: */ SOURCE(711, 1317) SOURCE(711, 1317) new_v4956 = 0; SOURCE(811, 28) size_v13060 = (word) InlineSize_P2040(base_v4856); SOURCE(841, 39) { word x_v39080; x_v39080 = (size_v13060 - start_v4884); rem_v13088 = SGNCK(x_v39080); }; SOURCE(902, 68) if (( (int)len_v4912 <= (int)0)) { SOURCE(919, 24) return((* (( (ptr) gf_c49240)+4)/* emptyRope_v2804 */ )); } else { SOURCE(943, 27) if (( (int)len_v4912 > (int)rem_v13088)) { SOURCE(961, 9) len_v4912 = rem_v13088; }; }; SOURCE(972, 45) if ( ( ( (int)start_v4884 == (int)0) ? ( (int)len_v4912 == (int)rem_v13088) : 0 ) ) { SOURCE(1004, 13) return(base_v4856); }; SOURCE(1019, 57) if (( (int)len_v4912 <= (int)24)) { SOURCE(1042, 34) return((word) Flatten_P720(base_v4856, start_v4884, len_v4912)); }; SOURCE(1078, 745) lab_L100003: ; SOURCE(1082, 671) { word var_c40920; var_c40920 = (unsigned) (*(( short *)base_v4856 + 1)<0); if ((var_c40920 == 0)) { SOURCE(1115, 4) goto lab_L100002; } else { if ((var_c40920 == 1)) { SOURCE(1129, 599) { word var_c40952; var_c40952 = (unsigned) ((* (( (bPt) base_v4856)+3) ) & 3); switch (var_c40952) { case 0: SOURCE(1163, 23) start_v4884 = (start_v4884 + (* (( (ptr) base_v4856)+3) )); SOURCE(1188, 13) base_v4856 = (* (( (ptr) base_v4856)+2) ); break; case 1: SOURCE(1216, 139) { word rem_v13160; SOURCE(1218, 24) rem_v13160 = ((* (( (ptr) base_v4856)+4) ) - start_v4884); SOURCE(1244, 108) if (( (int)rem_v13160 > (int)0)) { SOURCE(1261, 34) if (( (int)len_v4912 > (int)rem_v13160)) { SOURCE(1280, 15) /*1*/ depth_v13116 = (unsigned) (((unsigned)(* (( (hPt) base_v4856)+1) ) << 17) >> 19); SOURCE(1297, 4) /*1*/ goto lab_L100002; /*1*/ }; SOURCE(1304, 13) base_v4856 = (* (( (ptr) base_v4856)+2) ); } else { SOURCE(1325, 12) start_v4884 = INEG(rem_v13160); SOURCE(1339, 13) base_v4856 = (* (( (ptr) base_v4856)+3) ); }; }; break; case 2: SOURCE(1369, 317) { word len1_v13204; SOURCE(1371, 27) len1_v13204 = ((* (( (ptr) base_v4856)+4) ) - start_v4884); SOURCE(1400, 278) if (( (int)len1_v13204 > (int)0)) { SOURCE(1419, 35) if (( (int)len_v4912 > (int)len1_v13204)) { SOURCE(1439, 15) /*1*/ depth_v13116 = (unsigned) (((unsigned)(* (( (hPt) base_v4856)+1) ) << 17) >> 19); SOURCE(1456, 4) /*1*/ goto lab_L100002; /*1*/ }; SOURCE(1463, 13) base_v4856 = (* (( (ptr) base_v4856)+2) ); } else { SOURCE(1485, 198) { /*1*/ word xnew_v13248; /*1*/ word len2_v13276; SOURCE(1487, 20) /*1*/ xnew_v13248 = (* (( (ptr) base_v4856)+6) ); SOURCE(1509, 24) /*1*/ len2_v13276 = (xnew_v13248 - start_v4884); SOURCE(1535, 143) /*1*/ if (( (int)len2_v13276 > (int)0)) { SOURCE(1554, 35) /*1*/ if (( (int)len_v4912 > (int)len2_v13276)) { SOURCE(1574, 15) /*1*/ depth_v13116 = (unsigned) (((unsigned)(* (( (hPt) base_v4856)+1) ) << 17) >> 19); SOURCE(1591, 4) /*1*/ goto lab_L100002; /*1*/ }; SOURCE(1598, 13) /*1*/ start_v4884 = INEG(len1_v13204); SOURCE(1613, 16) /*1*/ base_v4856 = (* (( (ptr) base_v4856)+3) ); /*1*/ } /*1*/ else { SOURCE(1640, 23) /*1*/ start_v4884 = ((* (( (ptr) base_v4856)+5) ) - len2_v13276); SOURCE(1665, 13) /*1*/ base_v4856 = (* (( (ptr) base_v4856)+2) ); /*1*/ }; /*1*/ }; }; }; break; case 3: SOURCE(1699, 4) goto lab_L100002; default: SOURCE(1716, 12) (void) XR_RaiseError((word) (( (bPt) gf_c49240)+1124), 0); break; }; }; } else { SOURCE(1741, 12) (void) XR_RaiseError((word) (( (bPt) gf_c49240)+1124), 0); }; }; }; SOURCE(1755, 18) if (( (int)start_v4884 != (int)0)) { SOURCE(1773, 4) goto lab_L100003; }; SOURCE(1779, 44) if (( (int)len_v4912 == (int)(word) InlineSize_P2040(base_v4856))) { SOURCE(1810, 13) return(base_v4856); }; goto lab_L100003; lab_L100002: ; SOURCE(1872, 110) { word var_c40984; var_c40984 = XR_NewObject(16, (* (( (ptr) gf_c49240)+266) )); { word tadr17; tadr17 = (word) var_c40984; (* (ptr) tadr17 ) = ((* (ptr) tadr17 ) & 4294901763) | (((word) ( (((unsigned)(BCK((depth_v13116 + 1), 8192) + 8192) << 18) >> 18) )) << 2); }; (* (( (ptr) var_c40984)+1) ) = len_v4912; (* (( (ptr) var_c40984)+2) ) = base_v4856; (* (( (ptr) var_c40984)+3) ) = start_v4884; new_v4956 = var_c40984; }; SOURCE(1984, 44) if (( (int)depth_v13116 >= (int)32)) { SOURCE(2010, 18) new_v4956 = (word) Balance_P2880(new_v4956, 0, 2147483647, 24); }; SOURCE(711, 1317) return(new_v4956); } static word Cat_P180(r1_v5016, r2_v5044, r3_v5072, r4_v5100, r5_v5128) word r1_v5016; word r2_v5044; word r3_v5072; word r4_v5100; word r5_v5128; { word var_c5172; /* Cat: */ SOURCE(2034, 129) SOURCE(2105, 58) { word var_c41048; word var_c41080; word var_c41112; var_c41048 = (word) Concat_P240(r1_v5016, r2_v5044); var_c41112 = (word) Concat_P240(r3_v5072, r4_v5100); var_c41080 = (word) Concat_P240(var_c41112, r5_v5128); return((word) Concat_P240(var_c41048, var_c41080)); }; } static word Concat_P240(base_v5232, rest_v5260) word base_v5232; word rest_v5260; { W8 var_c49272; register ptr gf_c49304 = (ptr) &globalframe; word new_v5304; /* declaration of var_c41144 skipped */ word baseStr_v13320 = 0; word restStr_v13348 = 0; word baseLen_v13376; word restLen_v13404; word size_v13432; word depth_v13460 = 1; /* Concat: */ SOURCE(2170, 1612) { word tmpAddr18; tmpAddr18 = (word) (( (ptr) &var_c49272)+4)/* var_c41144 */ ; (* (ptr) tmpAddr18 ) = ( ((word) (fPt) AddChar_P3252) ); (* (( (ptr) tmpAddr18) + 1) ) = 1; }; SOURCE(2170, 1612) new_v5304 = 0; SOURCE(2314, 32) if ((rest_v5260 == 0)) { SOURCE(2333, 13) return(base_v5232); }; SOURCE(2348, 37) { W2 var_c41336; { word var_c41208; var_c41208 = base_v5232; if ((var_c41208 == 0)) { goto lab_L100004; }; { word var_c41304; var_c41304 = (unsigned) (*(( short *)var_c41208 + 1)<0); if ((var_c41304 == 0)) { { word text_v29144; text_v29144 = var_c41208; (* (ptr) (word) &var_c41336 ) = (unsigned) ( (((unsigned)(* (hPt) text_v29144 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c41336) + 1) ) = text_v29144; }; } else { if ((var_c41304 == 1)) { { word node_v29176; word var_c41272; word base_v29516; node_v29176 = var_c41208; base_v29516 = node_v29176; var_c41272 = (* (( (ptr) base_v29516)+1) ); (* (ptr) (word) &var_c41336 ) = var_c41272; (* (( (ptr) (word) &var_c41336) + 1) ) = 0; }; } else { lab_L100004: ; (* (ptr) (word) &var_c41336 ) = 0; (* (( (ptr) (word) &var_c41336) + 1) ) = 0; goto lab_L100005; }; }; }; }; lab_L100005: ; baseStr_v13320 = var_c41336.f1; baseLen_v13376 = var_c41336.f0; }; SOURCE(2387, 33) if (( (int)baseLen_v13376 == (int)0)) { SOURCE(2407, 13) return(rest_v5260); }; SOURCE(2422, 37) { W2 var_c41528; { word var_c41400; var_c41400 = rest_v5260; if ((var_c41400 == 0)) { goto lab_L100007; }; { word var_c41496; var_c41496 = (unsigned) (*(( short *)var_c41400 + 1)<0); if ((var_c41496 == 0)) { { word text_v38228; text_v38228 = var_c41400; (* (ptr) (word) &var_c41528 ) = (unsigned) ( (((unsigned)(* (hPt) text_v38228 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c41528) + 1) ) = text_v38228; }; } else { if ((var_c41496 == 1)) { { word node_v38272; word var_c41464; word base_v38316; node_v38272 = var_c41400; base_v38316 = node_v38272; var_c41464 = (* (( (ptr) base_v38316)+1) ); (* (ptr) (word) &var_c41528 ) = var_c41464; (* (( (ptr) (word) &var_c41528) + 1) ) = 0; }; } else { lab_L100007: ; (* (ptr) (word) &var_c41528 ) = 0; (* (( (ptr) (word) &var_c41528) + 1) ) = 0; goto lab_L100008; }; }; }; }; lab_L100008: ; restStr_v13348 = var_c41528.f1; restLen_v13404 = var_c41528.f0; }; SOURCE(2461, 33) if (( (int)restLen_v13404 == (int)0)) { SOURCE(2481, 13) return(base_v5232); }; SOURCE(2496, 36) size_v13432 = (baseLen_v13376 + restLen_v13404); SOURCE(2534, 556) if (( (int)size_v13432 <= (int)24)) { SOURCE(2558, 534) { /* declaration of str_v13504 skipped */ /* declaration of index_v13532 skipped */ SOURCE(2560, 33) var_c49272.f6/* str_v13504 */ = (word) NewText_P60(size_v13432); SOURCE(2595, 19) var_c49272.f7/* index_v13532 */ = 0; SOURCE(2728, 164) if ((baseStr_v13320 == 0)) { SOURCE(2750, 41) { word var_c41560; var_c41560 = (word) Map_P480(base_v5232, 0, baseLen_v13376, (word) (( (bPt) &var_c49272)+16)/* var_c41144 */ ); }; } else { SOURCE(2791, 101) { register word i_v13708 = 0; register word noName_c41592; noName_c41592 = baseLen_v13376; if ((i_v13708 >= noName_c41592)) { goto lab_L100010; }; lab_L100013: ; SOURCE(2835, 38) { word c_v37292; c_v37292 = (unsigned) (word) (* ((( (bPt) baseStr_v13320)+4)+i_v13708) ); (* ((( (bPt) var_c49272.f6/* str_v13504 */ )+4)+var_c49272.f7/* index_v13532 */ ) ) = c_v37292; }; SOURCE(2875, 17) var_c49272.f7/* index_v13532 */ = (var_c49272.f7/* index_v13532 */ + 1); i_v13708 = (i_v13708 + 1); if ((i_v13708 < noName_c41592)) { goto lab_L100013; }; lab_L100010: ; }; }; SOURCE(2903, 164) if ((restStr_v13348 == 0)) { SOURCE(2925, 41) { word var_c41624; var_c41624 = (word) Map_P480(rest_v5260, 0, restLen_v13404, (word) (( (bPt) &var_c49272)+16)/* var_c41144 */ ); }; } else { SOURCE(2966, 101) { register word i_v13752 = 0; register word noName_c41656; noName_c41656 = restLen_v13404; if ((i_v13752 >= noName_c41656)) { goto lab_L100014; }; lab_L100017: ; SOURCE(3010, 38) { word c_v37244; c_v37244 = (unsigned) (word) (* ((( (bPt) restStr_v13348)+4)+i_v13752) ); (* ((( (bPt) var_c49272.f6/* str_v13504 */ )+4)+var_c49272.f7/* index_v13532 */ ) ) = c_v37244; }; SOURCE(3050, 17) var_c49272.f7/* index_v13532 */ = (var_c49272.f7/* index_v13532 */ + 1); i_v13752 = (i_v13752 + 1); if ((i_v13752 < noName_c41656)) { goto lab_L100017; }; lab_L100014: ; }; }; SOURCE(3078, 12) return(var_c49272.f6/* str_v13504 */ ); }; }; if (( (int)restLen_v13404 < (int)24)) { SOURCE(3135, 159) { word var_c41688; var_c41688 = (unsigned) (*(( short *)base_v5232 + 1)<0); if ((var_c41688 == 1)) { SOURCE(3168, 126) { word var_c41720; var_c41720 = (unsigned) ((* (( (bPt) base_v5232)+3) ) & 3); if ((var_c41720 == 1)) { SOURCE(3200, 94) if (( (int)((* (( (ptr) base_v5232)+1) ) - (* (( (ptr) base_v5232)+4) )) < (int)12)) { SOURCE(3235, 15) baseLen_v13376 = (* (( (ptr) base_v5232)+4) ); SOURCE(3252, 27) rest_v5260 = (word) Concat_P240((* (( (ptr) base_v5232)+3) ), rest_v5260); SOURCE(3281, 13) base_v5232 = (* (( (ptr) base_v5232)+2) ); }; }; }; }; }; } else { if (( (int)baseLen_v13376 < (int)24)) { SOURCE(3343, 160) { word var_c41752; var_c41752 = (unsigned) (*(( short *)base_v5232 + 1)<0); if ((var_c41752 == 1)) { SOURCE(3376, 127) { word var_c41784; var_c41784 = (unsigned) ((* (( (bPt) base_v5232)+3) ) & 3); if ((var_c41784 == 1)) { SOURCE(3408, 95) if (( (int)(* (( (ptr) base_v5232)+4) ) < (int)12)) { SOURCE(3436, 13) rest_v5260 = (* (( (ptr) base_v5232)+3) ); SOURCE(3451, 23) baseLen_v13376 = ((* (( (ptr) base_v5232)+4) ) + baseLen_v13376); SOURCE(3476, 27) base_v5232 = (word) Concat_P240(base_v5232, (* (( (ptr) base_v5232)+2) )); }; }; }; }; }; }; }; SOURCE(3536, 25) { word var_c41848; { word x_v39032; x_v39032 = (size_v13432 - baseLen_v13376); var_c41848 = SGNCK(x_v39032); }; }; SOURCE(3563, 53) { word var_c41880; word var_c41944; if ((base_v5232 == 0)) { var_c41880 = 0; goto lab_L100019; }; { word var_c41912; var_c41912 = base_v5232; if ((var_c41912 == 0)) { goto lab_L100020; }; if (( (unsigned) (*(( short *)var_c41912 + 1)<0) == 1)) { { word node_v30928; node_v30928 = var_c41912; var_c41880 = (unsigned) (((unsigned)(* (( (hPt) node_v30928)+1) ) << 17) >> 19); }; } else { lab_L100020: ; var_c41880 = 1; goto lab_L100019; }; }; lab_L100019: ; if ((rest_v5260 == 0)) { var_c41944 = 0; goto lab_L100021; }; { word var_c41976; var_c41976 = rest_v5260; if ((var_c41976 == 0)) { goto lab_L100022; }; if (( (unsigned) (*(( short *)var_c41976 + 1)<0) == 1)) { { word node_v37060; node_v37060 = var_c41976; var_c41944 = (unsigned) (((unsigned)(* (( (hPt) node_v37060)+1) ) << 17) >> 19); }; } else { lab_L100022: ; var_c41944 = 1; goto lab_L100021; }; }; lab_L100021: ; depth_v13460 = ((MAX((int)(word), var_c41880, var_c41944)) + 1); }; SOURCE(3618, 119) { word var_c42008; var_c42008 = XR_NewObject(20, (* (( (ptr) gf_c49304)+266) )); (* (( (hPt) var_c42008)+1) ) = (((word) BCK(depth_v13460, 8192) << 2) + 32769); (* (( (ptr) var_c42008)+1) ) = size_v13432; (* (( (ptr) var_c42008)+2) ) = base_v5232; (* (( (ptr) var_c42008)+3) ) = rest_v5260; (* (( (ptr) var_c42008)+4) ) = baseLen_v13376; new_v5304 = var_c42008; }; SOURCE(3739, 43) if (( (int)depth_v13460 > (int)32)) { SOURCE(3764, 18) new_v5304 = (word) Balance_P2880(new_v5304, 0, 2147483647, 24); }; SOURCE(2170, 1612) return(new_v5304); } static word AddChar_P3252(c_v13636, formal_c49336) word c_v13636; word formal_c49336; { word var_c13680; formal_c49336 = (formal_c49336 - 16); /* AddChar: */ SOURCE(2616, 15) SOURCE(2667, 21) (* ((( (bPt) (* (( (ptr) formal_c49336)+6) ))+4)+(* (( (ptr) formal_c49336)+7) )) ) = c_v13636; SOURCE(2690, 17) (* (( (ptr) formal_c49336)+7) ) = ((* (( (ptr) formal_c49336)+7) ) + 1); SOURCE(2709, 14) return(0); } static word Replace_P300(base_v5364, start_v5392, len_v5420, with_v5448) word base_v5364; word start_v5392; word len_v5420; word with_v5448; { W8 var_c49368; register ptr gf_c49400 = (ptr) &globalframe; word new_v5492; /* declaration of var_c42040 skipped */ word baseSize_v13796; word repSize_v13824; word rem_v13852; word depth_v13880 = 0; word oldPos_v13908; word newPos_v13936; word size_v13964; /* Replace: */ SOURCE(3788, 1733) { word tmpAddr19; tmpAddr19 = (word) (( (ptr) &var_c49368)+4)/* var_c42040 */ ; (* (ptr) tmpAddr19 ) = ( ((word) (fPt) AddChar_P3456) ); (* (( (ptr) tmpAddr19) + 1) ) = 1; }; SOURCE(3788, 1733) new_v5492 = 0; SOURCE(3907, 32) baseSize_v13796 = (word) InlineSize_P2040(base_v5364); SOURCE(3941, 32) repSize_v13824 = (word) InlineSize_P2040(with_v5448); SOURCE(3975, 43) { word x_v38984; x_v38984 = (baseSize_v13796 - start_v5392); rem_v13852 = SGNCK(x_v38984); }; SOURCE(4040, 89) { word var_c0874; { word tc20; if (( (int)len_v5420 < (int)0)) { len_v5420 = 0; tc20 = (word) 0; } else { if (( (int)len_v5420 > (int)rem_v13852)) { len_v5420 = rem_v13852; tc20 = (word) rem_v13852; } else { tc20 = (word) len_v5420; }; }; var_c0874 = tc20; }; oldPos_v13908 = (start_v5392 + var_c0874); }; SOURCE(4131, 41) newPos_v13936 = (start_v5392 + repSize_v13824); SOURCE(4174, 47) { word x_v37340; x_v37340 = (baseSize_v13796 - len_v5420); size_v13964 = SGNCK((x_v37340 + repSize_v13824)); }; SOURCE(4223, 36) if (( (int)size_v13964 == (int)repSize_v13824)) { SOURCE(4246, 13) return(with_v5448); }; SOURCE(4261, 45) if ( ( ( (int)len_v5420 == (int)0) ? ( (int)repSize_v13824 == (int)0) : 0 ) ) { SOURCE(4293, 13) return(base_v5364); }; SOURCE(4327, 386) if (( (int)size_v13964 <= (int)24)) { SOURCE(4351, 364) { /* declaration of str_v14008 skipped */ /* declaration of index_v14036 skipped */ SOURCE(4353, 33) var_c49368.f6/* str_v14008 */ = (word) NewText_P60(size_v13964); SOURCE(4388, 20) var_c49368.f7/* index_v14036 */ = 0; SOURCE(4522, 51) if (( (int)start_v5392 > (int)0)) { SOURCE(4540, 33) { word var_c42136; var_c42136 = (word) Map_P480(base_v5364, 0, start_v5392, (word) (( (bPt) &var_c49368)+16)/* var_c42040 */ ); }; }; SOURCE(4575, 55) if (( (int)repSize_v13824 > (int)0)) { SOURCE(4595, 35) { word var_c42168; var_c42168 = (word) Map_P480(with_v5448, 0, repSize_v13824, (word) (( (bPt) &var_c49368)+16)/* var_c42040 */ ); }; }; SOURCE(4632, 67) if (( (int)oldPos_v13908 < (int)baseSize_v13796)) { SOURCE(4658, 41) { word var_c42200; var_c42200 = (word) Map_P480(base_v5364, oldPos_v13908, baseSize_v13796, (word) (( (bPt) &var_c49368)+16)/* var_c42040 */ ) ; }; }; SOURCE(4701, 12) return(var_c49368.f6/* str_v14008 */ ); }; }; SOURCE(4718, 391) { word var_c42232; var_c42232 = (unsigned) (*(( short *)base_v5364 + 1)<0); if ((var_c42232 == 1)) { SOURCE(4751, 358) { word var_c42264; var_c42264 = (unsigned) ((* (( (bPt) base_v5364)+3) ) & 3); if ((var_c42264 == 2)) { SOURCE(4784, 342) { word xnewPos_v14212; word xstart_v14240; SOURCE(4786, 23) xnewPos_v14212 = (* (( (ptr) base_v5364)+6) ); SOURCE(4811, 21) xstart_v14240 = (* (( (ptr) base_v5364)+4) ); if ( ( ( (int)start_v5392 <= (int)xstart_v14240) ? ( (int)oldPos_v13908 >= (int)xnewPos_v14212) : 0 ) ) { SOURCE(4894, 38) oldPos_v13908 = ((* (( (ptr) base_v5364)+5) ) + (oldPos_v13908 - xnewPos_v14212)); SOURCE(4934, 13) base_v5364 = (* (( (ptr) base_v5364)+2) ); } else { if (( (int)start_v5392 == (int)xnewPos_v14212)) { SOURCE(4973, 136) if (( (int)(repSize_v13824 + (xnewPos_v14212 - xstart_v14240)) <= (int)24)) { SOURCE(5023, 30) with_v5448 = (word) Concat_P240((* (( (ptr) base_v5364)+3) ), with_v5448); SOURCE(5055, 14) start_v5392 = xstart_v14240; SOURCE(5071, 23) oldPos_v13908 = ((* (( (ptr) base_v5364)+5) ) + len_v5420); SOURCE(5096, 13) base_v5364 = (* (( (ptr) base_v5364)+2) ); }; }; }; }; }; }; }; }; SOURCE(5147, 43) { word var_c42328; { word x_v38936; x_v38936 = (newPos_v13936 - start_v5392); var_c42328 = SGNCK(x_v38936); }; }; SOURCE(5192, 35) { word var_c42392; { word x_v38888; x_v38888 = (oldPos_v13908 - start_v5392); var_c42392 = SGNCK(x_v38888); }; }; SOURCE(5229, 34) { word var_c42456; { word x_v38840; x_v38840 = (size_v13964 - newPos_v13936); var_c42456 = SGNCK(x_v38840); }; }; SOURCE(5265, 53) { word var_c42488; word var_c42552; if ((base_v5364 == 0)) { var_c42488 = 0; goto lab_L100028; }; { word var_c42520; var_c42520 = base_v5364; if ((var_c42520 == 0)) { goto lab_L100029; }; if (( (unsigned) (*(( short *)var_c42520 + 1)<0) == 1)) { { word node_v37016; node_v37016 = var_c42520; var_c42488 = (unsigned) (((unsigned)(* (( (hPt) node_v37016)+1) ) << 17) >> 19); }; } else { lab_L100029: ; var_c42488 = 1; goto lab_L100028; }; }; lab_L100028: ; if ((with_v5448 == 0)) { var_c42552 = 0; goto lab_L100030; }; { word var_c42584; var_c42584 = with_v5448; if ((var_c42584 == 0)) { goto lab_L100031; }; if (( (unsigned) (*(( short *)var_c42584 + 1)<0) == 1)) { { word node_v36972; node_v36972 = var_c42584; var_c42552 = (unsigned) (((unsigned)(* (( (hPt) node_v36972)+1) ) << 17) >> 19); }; } else { lab_L100031: ; var_c42552 = 1; goto lab_L100030; }; }; lab_L100030: ; depth_v13880 = ((MAX((int)(word), var_c42488, var_c42552)) + 1); }; SOURCE(5320, 156) { word var_c42616; var_c42616 = XR_NewObject(28, (* (( (ptr) gf_c49400)+266) )); (* (( (hPt) var_c42616)+1) ) = (((word) BCK(depth_v13880, 8192) << 2) + 32770); (* (( (ptr) var_c42616)+1) ) = size_v13964; (* (( (ptr) var_c42616)+2) ) = base_v5364; (* (( (ptr) var_c42616)+3) ) = with_v5448; (* (( (ptr) var_c42616)+4) ) = start_v5392; (* (( (ptr) var_c42616)+5) ) = oldPos_v13908; (* (( (ptr) var_c42616)+6) ) = newPos_v13936; new_v5492 = var_c42616; }; SOURCE(5478, 43) if (( (int)depth_v13880 > (int)32)) { SOURCE(5503, 18) new_v5492 = (word) Balance_P2880(new_v5492, 0, 2147483647, 24); }; SOURCE(3788, 1733) return(new_v5492); } static word AddChar_P3456(c_v14140, formal_c49432) word c_v14140; word formal_c49432; { word var_c14184; formal_c49432 = (formal_c49432 - 16); /* AddChar: */ SOURCE(4410, 15) SOURCE(4461, 21) (* ((( (bPt) (* (( (ptr) formal_c49432)+6) ))+4)+(* (( (ptr) formal_c49432)+7) )) ) = c_v14140; SOURCE(4484, 17) { word idx21; (* (( (ptr) formal_c49432)+7) ) = ( idx21 = (word) ((* (( (ptr) formal_c49432)+7) ) + 1), BCK(idx21, 32768) ); }; SOURCE(4503, 14) return(0); } static word Fetch_P420(base_v5684, index_v5712) word base_v5684; word index_v5712; { register ptr gf_c49464 = (ptr) &globalframe; word var_c5756; /* Fetch: */ SOURCE(5628, 823) SOURCE(5703, 176) { word var_c42648; var_c42648 = base_v5684; if ((var_c42648 == 0)) { goto lab_L100032; }; { word var_c42776; var_c42776 = (unsigned) (*(( short *)var_c42648 + 1)<0); if ((var_c42776 == 0)) { { word text_v14284; text_v14284 = var_c42648; SOURCE(5739, 20) { word limit22; return( (unsigned) (word) (* ((( (bPt) text_v14284)+4)+( limit22 = (word) (unsigned) ( (((unsigned)(* (( (hPt) text_v14284)+1) ) << 17) >> 17) ), BCK(index_v5712, limit22) )) )); }; }; } else { if ((var_c42776 == 1)) { { word node_v14328; node_v14328 = var_c42648; SOURCE(5789, 49) { word var_c42744; { word arg_v36808; word limit_v36836; arg_v36808 = index_v5712; { word var_c42712; word base_v37388; base_v37388 = node_v14328; var_c42712 = (* (( (ptr) base_v37388)+1) ); limit_v36836 = SGNCK(var_c42712); }; if ((arg_v36808 >= limit_v36836)) { (void) XR_RaiseBoundsFault(); }; var_c42744 = BCK(arg_v36808, 2147483647); }; }; }; } else { lab_L100032: ; SOURCE(5854, 25) (void) XR_RaiseBoundsFault(); }; }; }; }; SOURCE(5899, 552) lab_L100037: ; SOURCE(5902, 549) { word var_c42808; var_c42808 = base_v5684; if ((var_c42808 == 0)) { goto lab_L100038; }; { word var_c42968; var_c42968 = (unsigned) (*(( short *)var_c42808 + 1)<0); if ((var_c42968 == 0)) { { word x_v14384; x_v14384 = var_c42808; SOURCE(5943, 24) { word var_c42872; word base_v37168; word index_v37196; base_v37168 = x_v14384; index_v37196 = BCK(index_v5712, 65536); var_c42872 = (unsigned) (word) (* ((( (bPt) base_v37168)+4)+index_v37196) ); return(var_c42872); }; }; } else { if ((var_c42968 == 1)) { { word x_v14440; x_v14440 = var_c42808; SOURCE(5993, 433) { word var_c42904; var_c42904 = (unsigned) ((* (( (bPt) x_v14440)+3) ) & 3); switch (var_c42904) { case 0: SOURCE(6026, 23) index_v5712 = (index_v5712 + (* (( (ptr) x_v14440)+3) )); SOURCE(6051, 13) base_v5684 = (* (( (ptr) x_v14440)+2) ); break; case 1: SOURCE(6080, 36) if (( (int)index_v5712 < (int)(* (( (ptr) x_v14440)+4) ))) { SOURCE(6103, 13) /*1*/ base_v5684 = (* (( (ptr) x_v14440)+2) ); SOURCE(6118, 4) /*1*/ goto lab_L100037; /*1*/ }; SOURCE(6125, 21) index_v5712 = (index_v5712 - (* (( (ptr) x_v14440)+4) )); SOURCE(6148, 13) base_v5684 = (* (( (ptr) x_v14440)+3) ); break; case 2: SOURCE(6179, 38) if (( (int)index_v5712 < (int)(* (( (ptr) x_v14440)+4) ))) { SOURCE(6204, 13) /*1*/ base_v5684 = (* (( (ptr) x_v14440)+2) ); SOURCE(6219, 4) /*1*/ goto lab_L100037; /*1*/ }; SOURCE(6226, 68) if (( (int)index_v5712 < (int)(* (( (ptr) x_v14440)+6) ))) { SOURCE(6253, 23) /*1*/ index_v5712 = (index_v5712 - (* (( (ptr) x_v14440)+4) )); SOURCE(6278, 16) /*1*/ base_v5684 = (* (( (ptr) x_v14440)+3) ); SOURCE(6296, 4) /*1*/ goto lab_L100037; /*1*/ }; SOURCE(6305, 35) index_v5712 = ((index_v5712 - (* (( (ptr) x_v14440)+6) )) + (* (( (ptr) x_v14440)+5) )); SOURCE(6342, 13) base_v5684 = (* (( (ptr) x_v14440)+2) ); break; case 3: SOURCE(6370, 31) { /*1*/ word pd23; /*1*/ pd23 = (* (( (ptr) x_v14440)+3) ); /*1*/ return((word) ( *( (fPt) ((* (ptr) pd23 ))))((* (( (ptr) x_v14440)+2) ), index_v5712, pd23)); /*1*/ }; default: SOURCE(6414, 12) (void) XR_RaiseError((word) (( (bPt) gf_c49464)+1124), 0); break; }; }; }; } else { lab_L100038: ; SOURCE(6439, 12) (void) XR_RaiseError((word) (( (bPt) gf_c49464)+1124), 0); }; }; }; }; goto lab_L100037; } static word Map_P480(base_v5816, start_v5844, len_v5872, action_v5900) word base_v5816; word start_v5844; word len_v5872; word action_v5900; { register ptr gf_c49496 = (ptr) &globalframe; word var_c5944; word rem_v14496; /* Map: */ SOURCE(6466, 1611) SOURCE(6579, 51) { word x_v38792; x_v38792 = ((word) InlineSize_P2040(base_v5816) - start_v5844); rem_v14496 = SGNCK(x_v38792); }; SOURCE(6632, 27) if (( (int)len_v5872 > (int)rem_v14496)) { SOURCE(6650, 9) len_v5872 = rem_v14496; }; SOURCE(6661, 1391) lab_L100043: ; if (( (int)len_v5872 > (int)0)) { } else { goto lab_L100041; }; SOURCE(6678, 1374) { word var_c43032; var_c43032 = (unsigned) (*(( short *)base_v5816 + 1)<0); if ((var_c43032 == 0)) { SOURCE(6711, 146) { word st_v14540; SOURCE(6713, 29) st_v14540 = start_v5844; SOURCE(6744, 86) { register word i_v14584; register word noName_c43064; word var_c43096; i_v14584 = st_v14540; noName_c43064 = (st_v14540 + len_v5872); if ((i_v14584 >= noName_c43064)) { goto lab_L100044; }; lab_L100047: ; SOURCE(6788, 42) { word var_c43128; word base_v37120; base_v37120 = (word) base_v5816; var_c43128 = (unsigned) (word) (* ((( (bPt) base_v37120)+4)+i_v14584) ); var_c43096 = var_c43128; }; if ((0 != (word) ( *( (fPt) ((* (ptr) action_v5900 ))))(var_c43096, action_v5900))) { SOURCE(6817, 13) return(1); }; i_v14584 = (i_v14584 + 1); if ((i_v14584 < noName_c43064)) { goto lab_L100047; }; lab_L100044: ; }; SOURCE(6841, 14) return(0); }; } else { if ((var_c43032 == 1)) { SOURCE(6868, 1159) { word var_c43160; var_c43160 = (unsigned) ((* (( (bPt) base_v5816)+3) ) & 3); switch (var_c43160) { case 0: SOURCE(6901, 23) start_v5844 = (start_v5844 + (* (( (ptr) base_v5816)+3) )); SOURCE(6926, 13) base_v5816 = (* (( (ptr) base_v5816)+2) ); SOURCE(6941, 4) goto lab_L100043; case 1: SOURCE(6959, 252) { word xpos_v14628; SOURCE(6961, 17) xpos_v14628 = (* (( (ptr) base_v5816)+4) ); SOURCE(6980, 40) if (( (int)(start_v5844 + len_v5872) <= (int)xpos_v14628)) { SOURCE(7007, 13) base_v5816 = (* (( (ptr) base_v5816)+2) ); SOURCE(7022, 4) goto lab_L100043; }; SOURCE(7029, 140) if (( (int)start_v5844 < (int)xpos_v14628)) { SOURCE(7051, 120) { /*1*/ word subLen_v14672; SOURCE(7053, 24) /*1*/ subLen_v14672 = (xpos_v14628 - start_v5844); SOURCE(7079, 56) /*1*/ if ((0 != (word) Map_P480((* (( (ptr) base_v5816)+2) ), start_v5844, subLen_v14672, action_v5900))) { SOURCE(7122, 13) /*1*/ return(1); /*1*/ }; SOURCE(7137, 12) /*1*/ start_v5844 = xpos_v14628; SOURCE(7151, 18) /*1*/ len_v5872 = (len_v5872 - subLen_v14672); /*1*/ }; }; SOURCE(7174, 20) start_v5844 = (start_v5844 - xpos_v14628); SOURCE(7196, 13) base_v5816 = (* (( (ptr) base_v5816)+3) ); }; break; case 2: SOURCE(7225, 518) { word xstart_v14716; word xnew_v14744; SOURCE(7227, 21) xstart_v14716 = (* (( (ptr) base_v5816)+4) ); SOURCE(7250, 20) xnew_v14744 = (* (( (ptr) base_v5816)+6) ); SOURCE(7272, 190) if (( (int)start_v5844 < (int)xstart_v14716)) { SOURCE(7295, 169) { /*1*/ word subLen_v14788; SOURCE(7297, 26) /*1*/ subLen_v14788 = (xstart_v14716 - start_v5844); SOURCE(7325, 36) /*1*/ if (( (int)subLen_v14788 >= (int)len_v5872)) { SOURCE(7348, 13) /*1*/ base_v5816 = (* (( (ptr) base_v5816)+2) ); SOURCE(7363, 4) /*1*/ goto lab_L100043; /*1*/ }; SOURCE(7370, 56) /*1*/ if ((0 != (word) Map_P480((* (( (ptr) base_v5816)+2) ), start_v5844, subLen_v14788, action_v5900))) { SOURCE(7413, 13) /*1*/ return(1); /*1*/ }; SOURCE(7428, 14) /*1*/ start_v5844 = xstart_v14716; SOURCE(7444, 18) /*1*/ len_v5872 = (len_v5872 - subLen_v14788); /*1*/ }; }; SOURCE(7467, 225) if (( (int)start_v5844 < (int)xnew_v14744)) { SOURCE(7488, 206) { /*1*/ word subLen_v14832; /*1*/ word st_v14860; SOURCE(7490, 24) /*1*/ subLen_v14832 = (xnew_v14744 - start_v5844); SOURCE(7516, 24) /*1*/ st_v14860 = (start_v5844 - xstart_v14716); SOURCE(7542, 51) /*1*/ if (( (int)subLen_v14832 >= (int)len_v5872)) { SOURCE(7565, 10) /*1*/ start_v5844 = st_v14860; SOURCE(7577, 16) /*1*/ base_v5816 = (* (( (ptr) base_v5816)+3) ); SOURCE(7595, 4) /*1*/ goto lab_L100043; /*1*/ }; SOURCE(7602, 56) /*1*/ if ((0 != (word) Map_P480((* (( (ptr) base_v5816)+3) ), st_v14860, subLen_v14832, action_v5900))) { SOURCE(7645, 13) /*1*/ return(1); /*1*/ }; SOURCE(7660, 12) /*1*/ start_v5844 = xnew_v14744; SOURCE(7674, 18) /*1*/ len_v5872 = (len_v5872 - subLen_v14832); /*1*/ }; }; SOURCE(7697, 31) start_v5844 = ((start_v5844 - xnew_v14744) + (* (( (ptr) base_v5816)+5) )); SOURCE(7730, 13) base_v5816 = (* (( (ptr) base_v5816)+2) ); }; break; case 3: SOURCE(7756, 245) { word map_v14904; word data_v14932; SOURCE(7758, 20) map_v14904 = (* (( (ptr) base_v5816)+4) ); SOURCE(7780, 18) data_v14932 = (* (( (ptr) base_v5816)+2) ); SOURCE(7800, 196) if ((map_v14904 != 0)) { SOURCE(7818, 43) return((word) ( *( (fPt) ((* (ptr) map_v14904 ))))(data_v14932, start_v5844, len_v5872, action_v5900, map_v14904)); } else { SOURCE(7861, 137) { /*1*/ word fetch_v14988; SOURCE(7863, 26) /*1*/ fetch_v14988 = (* (( (ptr) base_v5816)+3) ); SOURCE(7891, 80) /*1*/ { /*1*/ register word i_v15032; /*1*/ register word noName_c43224; /*1*/ word var_c43256; /*1*/ i_v15032 = start_v5844; /*1*/ noName_c43224 = (start_v5844 + len_v5872); /*1*/ if (( (int)i_v15032 >= (int)noName_c43224)) { /*1*/ goto lab_L100049; /*1*/ }; /*1*/ lab_L100052: ; SOURCE(7927, 44) /*1*/ var_c43256 = (word) ( *( (fPt) ((* (ptr) fetch_v14988 ))))(data_v14932, i_v15032, fetch_v14988); /*1*/ if ((0 != (word) ( *( (fPt) ((* (ptr) action_v5900 ))))(var_c43256, action_v5900))) { SOURCE(7958, 13) /*1*/ return(1); /*1*/ }; /*1*/ i_v15032 = (i_v15032 + 1); /*1*/ if (( (int)i_v15032 < (int)noName_c43224)) { /*1*/ goto lab_L100052; /*1*/ }; /*1*/ lab_L100049: ; /*1*/ }; SOURCE(7982, 14) /*1*/ return(0); /*1*/ }; }; }; default: SOURCE(8015, 12) (void) XR_RaiseError((word) (( (bPt) gf_c49496)+1124), 0); break; }; }; } else { SOURCE(8040, 12) (void) XR_RaiseError((word) (( (bPt) gf_c49496)+1124), 0); }; }; }; goto lab_L100043; lab_L100041: ; SOURCE(8063, 14) return(0); } static word Translate_P540(formal_c0908, start_v6032, len_v6060, formal_c0909) word formal_c0908; word start_v6032; word len_v6060; word formal_c0909; { W9 var_c49528; /* declaration of base_v6004 skipped */ /* declaration of translator_v6088 skipped */ register ptr gf_c49560 = (ptr) &globalframe; word new_v6132; /* declaration of var_c43288 skipped */ /* declaration of index_v15076 skipped */ word intRem_v15104; word rem_v15132; word text_v15160 = 0; (* (( (ptr) &var_c49528)+4)/* base_v6004 */ ) = formal_c0908; (* (( (ptr) &var_c49528)+5)/* translator_v6088 */ ) = formal_c0909; /* Translate: */ SOURCE(8083, 763) { word tmpAddr24; tmpAddr24 = (word) (( (ptr) &var_c49528)+6)/* var_c43288 */ ; (* (ptr) tmpAddr24 ) = ( ((word) (fPt) each_P4476) ); (* (( (ptr) tmpAddr24) + 1) ) = 1; }; SOURCE(8083, 763) new_v6132 = 0; SOURCE(8221, 18) (* (( (ptr) &var_c49528)+8)/* index_v15076 */ ) = start_v6032; SOURCE(8241, 54) { word x_v38744; x_v38744 = ((word) InlineSize_P2040((* ((( (ptr) &var_c49528)+4)/* base_v6004 */ ) )) - start_v6032); intRem_v15104 = SGNCK(x_v38744); }; SOURCE(8297, 17) rem_v15132 = intRem_v15104; SOURCE(8334, 46) if (( (int)len_v6060 <= (int)0) || ( (int)rem_v15132 == (int)0)) { SOURCE(8362, 18) return((* (( (ptr) gf_c49560)+4)/* emptyRope_v2804 */ )); }; SOURCE(8382, 27) if (( (int)len_v6060 < (int)rem_v15132)) { SOURCE(8400, 9) rem_v15132 = len_v6060; }; SOURCE(8411, 435) { word var_c43352; var_c43352 = (* (( (ptr) &var_c49528)+4)/* base_v6004 */ ); if ((var_c43352 == 0)) { goto lab_L100054; }; if (( (unsigned) (*(( short *)var_c43352 + 1)<0) == 0)) { { word t_v15204; t_v15204 = var_c43352; SOURCE(8444, 206) { word short_v15248; SOURCE(8446, 24) { word idx25; short_v15248 = ( idx25 = (* (( (ptr) &var_c49528)+8)/* index_v15076 */ ), BCK(idx25, 32768) ); }; SOURCE(8472, 19) text_v15160 = (word) NewText_P60(BCK(rem_v15132, 32768)); SOURCE(8493, 134) { register word i_v15292 = 0; register word noName_c43384; noName_c43384 = SGNCK(rem_v15132); if ((i_v15292 >= noName_c43384)) { goto lab_L100055; }; lab_L100058: ; { word c_v15336; SOURCE(8525, 26) c_v15336 = (unsigned) (word) (* ((( (bPt) t_v15204)+4)+short_v15248) ); SOURCE(8553, 42) if (((* (( (ptr) &var_c49528)+5)/* translator_v6088 */ ) != 0)) { SOURCE(8578, 17) { word pd26; pd26 = (* (( (ptr) &var_c49528)+5)/* translator_v6088 */ ); c_v15336 = (word) ( *( (fPt) ((* (ptr) pd26 ))))(c_v15336, pd26); }; }; SOURCE(8597, 11) { word limit27; (* ((( (bPt) text_v15160)+4)+( /*1*/ limit27 = (word) (unsigned) ( (((unsigned)(* (( (hPt) text_v15160)+1) ) << 17) >> 17) ), /*1*/ BCK(i_v15292, limit27) /*1*/ )) ) = c_v15336; }; SOURCE(8610, 17) short_v15248 = BCK((short_v15248 + 1), 32768); }; i_v15292 = (i_v15292 + 1); if ((i_v15292 < noName_c43384)) { goto lab_L100058; }; lab_L100055: ; }; SOURCE(8638, 10) new_v6132 = text_v15160; }; }; } else { lab_L100054: ; SOURCE(8664, 184) SOURCE(8818, 28) return((word) FromProc_P840(rem_v15132, (word) (( (bPt) &var_c49528)+24)/* var_c43288 */ , 2147483647)); }; }; SOURCE(8083, 763) return(new_v6132); } static word each_P4476(formal_c49592) word formal_c49592; { word var_c15456; word c_v15484; formal_c49592 = (formal_c49592 - 24); /* each: */ SOURCE(8666, 20) SOURCE(8704, 34) c_v15484 = (word) Fetch_P420((* (( (ptr) formal_c49592)+4) ), (* (( (ptr) formal_c49592)+8) )); SOURCE(8740, 17) (* (( (ptr) formal_c49592)+8) ) = ((* (( (ptr) formal_c49592)+8) ) + 1); SOURCE(8759, 42) if (((* (( (ptr) formal_c49592)+5) ) != 0)) { SOURCE(8784, 17) { word pd28; pd28 = (* (( (ptr) formal_c49592)+5) ); c_v15484 = (word) ( *( (fPt) ((* (ptr) pd28 ))))(c_v15484, pd28); }; }; SOURCE(8803, 10) return(c_v15484); } static word Lower_P600(old_v28104) word old_v28104; { word var_c28148; /* Lower: */ SOURCE(8856, 59) SOURCE(8889, 26) if (((old_v28104 - 65) <= 25)) { return((old_v28104 + 32)); } else { return(old_v28104); }; } static word Upper_P660(old_v28208) word old_v28208; { word var_c28252; /* Upper: */ SOURCE(8919, 59) SOURCE(8952, 26) if (((old_v28208 - 97) <= 25)) { return((old_v28208 - 32)); } else { return(old_v28208); }; } static word Flatten_P720(base_v6192, start_v6220, len_v6248) word base_v6192; word start_v6220; word len_v6248; { register ptr gf_c49624 = (ptr) &globalframe; word var_c6292; word size_v15528; word rem_v15556; /* Flatten: */ SOURCE(8982, 470) SOURCE(9078, 28) size_v15528 = (word) InlineSize_P2040(base_v6192); SOURCE(9108, 39) { word x_v38696; x_v38696 = (size_v15528 - start_v6220); rem_v15556 = SGNCK(x_v38696); }; SOURCE(9149, 27) if (( (int)len_v6248 > (int)rem_v15556)) { SOURCE(9167, 9) len_v6248 = rem_v15556; }; SOURCE(9178, 114) if ( ( ( (int)start_v6220 == (int)0) ? ( (int)len_v6248 == (int)rem_v15556) : 0 ) ) { SOURCE(9212, 31) if ((base_v6192 == 0)) { SOURCE(9231, 12) return(0); }; SOURCE(9245, 47) if (( (unsigned) (*(( short *)base_v6192 + 1)<0) == 0)) { SOURCE(9269, 23) return(base_v6192); }; }; SOURCE(9297, 155) if (( (int)len_v6248 <= (int)0)) { SOURCE(9314, 24) return((* (( (ptr) gf_c49624)+4)/* emptyRope_v2804 */ )); } else { SOURCE(9338, 116) { word rtn_v15600; SOURCE(9340, 31) rtn_v15600 = (word) NewText_P60(len_v6248); SOURCE(9373, 14) (* (ptr) rtn_v15600 ) &= 2147549183; SOURCE(9389, 49) { word var_c43480; var_c43480 = (word) AppendChars_P1500(rtn_v15600, base_v6192, start_v6220, len_v6248); }; SOURCE(9440, 12) return(rtn_v15600); }; }; } static word MakeRope_P780(base_v6352, size_v6380, fetch_v6408, map_v6436, move_v6464) word base_v6352; word size_v6380; word fetch_v6408; word map_v6436; word move_v6464; { register ptr gf_c49656 = (ptr) &globalframe; word var_c6524; /* MakeRope: */ SOURCE(9461, 285) SOURCE(9581, 35) if (( (int)size_v6380 == (int)0)) { SOURCE(9598, 18) return((* (( (ptr) gf_c49656)+4)/* emptyRope_v2804 */ )); }; SOURCE(9618, 128) { word var_c43544; var_c43544 = XR_NewObject(24, (* (( (ptr) gf_c49656)+266) )); (* (( (hPt) var_c43544)+1) ) = 32775; (* (( (ptr) var_c43544)+1) ) = size_v6380; (* (( (ptr) var_c43544)+2) ) = base_v6352; (* (( (ptr) var_c43544)+3) ) = fetch_v6408; (* (( (ptr) var_c43544)+4) ) = map_v6436; (* (( (ptr) var_c43544)+5) ) = move_v6464; return(var_c43544); }; } static word FromProc_P840(len_v6584, p_v6612, maxPiece_v6640) word len_v6584; word p_v6612; word maxPiece_v6640; { register ptr gf_c49688 = (ptr) &globalframe; word var_c6744; /* FromProc: */ SOURCE(9752, 520) SOURCE(9860, 35) if (( (int)len_v6584 <= (int)0)) { SOURCE(9877, 18) return((* (( (ptr) gf_c49688)+4)/* emptyRope_v2804 */ )); }; SOURCE(9897, 99) { word var_c43576; var_c43576 = maxPiece_v6640; if (( (int)var_c43576 < (int)24)) { SOURCE(9931, 18) maxPiece_v6640 = 24; } else { if (( (int)var_c43576 > (int)32767)) { SOURCE(9971, 25) maxPiece_v6640 = 32767; }; }; }; SOURCE(10007, 265) if (( (int)len_v6584 <= (int)maxPiece_v6640)) { SOURCE(10031, 113) { word rtn_v15644; SOURCE(10033, 32) rtn_v15644 = (word) NewText_P60(len_v6584); SOURCE(10067, 52) { register word i_v15688 = 0; register word noName_c43608; noName_c43608 = len_v6584; if ((i_v15688 >= noName_c43608)) { goto lab_L100060; }; lab_L100063: ; SOURCE(10107, 12) { word var_c43640; var_c43640 = (word) ( *( (fPt) ((* (ptr) p_v6612 ))))(p_v6612); { word limit29; (* ((( (bPt) rtn_v15644)+4)+( limit29 = (word) (unsigned) ( (((unsigned)(* (( (hPt) rtn_v15644)+1) ) << 17) >> 17) ), BCK(i_v15688, limit29) )) ) = var_c43640; }; }; i_v15688 = (i_v15688 + 1); if ((i_v15688 < noName_c43608)) { goto lab_L100063; }; lab_L100060: ; }; SOURCE(10130, 12) return(rtn_v15644); }; } else { SOURCE(10151, 123) { word left_v15732; word right_v15760; SOURCE(10153, 41) left_v15732 = (word) FromProc_P840(IOP2( / , (int)len_v6584, (int)2), p_v6612, maxPiece_v6640); SOURCE(10196, 46) right_v15760 = (word) FromProc_P840(IOP2( / , (int)(len_v6584 + 1), (int)2), p_v6612, maxPiece_v6640); SOURCE(10244, 28) return((word) Concat_P240(left_v15732, right_v15760)); }; }; } static word FromChars_P900(formal_c0910) word formal_c0910; { W7 var_c49720; /* declaration of genChars_v6804 skipped */ word var_c6968; /* declaration of var_c43704 skipped */ var_c49720.f4/* genChars_v6804 */ = formal_c0910; /* FromChars: */ SOURCE(10281, 489) { word tmpAddr30; tmpAddr30 = (word) (( (ptr) &var_c49720)+5)/* var_c43704 */ ; (* (ptr) tmpAddr30 ) = ( ((word) (fPt) genRopesFromChars_P4728) ); (* (( (ptr) tmpAddr30) + 1) ) = 1; }; SOURCE(10734, 36) return((word) FromRopes_P960((word) ((( (bPt) &var_c49720)+20)/* var_c43704 */ ))); } static void genRopesFromChars_P4728(formal_c0911, formal_c49816) word formal_c0911; word formal_c49816; { W8 var_c49752; /* declaration of putRope_v15880 skipped */ register ptr gf_c49784 = (ptr) &globalframe; /* declaration of var_c43768 skipped */ /* declaration of buf_v15968 skipped */ formal_c49816 = (formal_c49816 - 20); var_c49752.f4/* putRope_v15880 */ = formal_c0911; var_c49752.f0 = formal_c49816; /* genRopesFromChars: */ SOURCE(10354, 375) { word tmpAddr31; tmpAddr31 = (word) (( (ptr) &var_c49752)+5)/* var_c43768 */ ; (* (ptr) tmpAddr31 ) = ( ((word) (fPt) putChar_P4788) ); (* (( (ptr) tmpAddr31) + 1) ) = 1; }; SOURCE(10405, 42) { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf_c49784)+383)/* var_c43800 */ ))+6) ); var_c49752.f7/* buf_v15968 */ = (word) ( *( (fPt) ((* (ptr) pd32 ))))(512, pd32); }; SOURCE(10635, 17) { word pd33; pd33 = (* (( (ptr) formal_c49816)+4) ); (void) ( *( (fPt) ((* (ptr) pd33 ))))((word) ((( (bPt) &var_c49752)+20)/* var_c43768 */ ), pd33); }; SOURCE(10654, 46) if (( (unsigned) (* (hPt) var_c49752.f7/* buf_v15968 */ ) > 0)) { SOURCE(10675, 25) { word var_c43832; var_c43832 = (word) FromRefText_P1320(var_c49752.f7/* buf_v15968 */ , 0, 32767); { word pd34; pd34 = (word) (var_c49752.f4/* putRope_v15880 */ ); (void) ( *( (fPt) ((* (ptr) pd34 ))))(var_c43832, pd34); }; }; }; SOURCE(10702, 27) { word pd35; pd35 = (* (( (ptr) (* (( (ptr) gf_c49784)+383)/* var_c43800 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd35 ))))(var_c49752.f7/* buf_v15968 */ , pd35); }; } static void putChar_P4788(c_v16084, formal_c49848) word c_v16084; word formal_c49848; { word text_v16112; word len_v16140; formal_c49848 = (formal_c49848 - 20); /* putChar: */ SOURCE(10449, 181) SOURCE(10477, 20) text_v16112 = (* (( (ptr) formal_c49848)+7) ); SOURCE(10499, 22) len_v16140 = (unsigned) (* (hPt) text_v16112 ); SOURCE(10523, 68) if ((len_v16140 >= (unsigned) (* (( (hPt) text_v16112)+1) ))) { SOURCE(10556, 26) { word var_c43864; var_c43864 = (word) FromRefText_P1320(text_v16112, 0, 32767); { word pd36; pd36 = (* (( (ptr) formal_c49848)+4) ); (void) ( *( (fPt) ((* (ptr) pd36 ))))(var_c43864, pd36); }; }; SOURCE(10584, 7) len_v16140 = 0; }; SOURCE(10596, 13) { word limit37; (* ((( (bPt) text_v16112)+4)+( limit37 = (word) (unsigned) (* (( (hPt) text_v16112)+1) ), BCK(len_v16140, limit37) )) ) = c_v16084; }; SOURCE(10611, 19) (* (hPt) text_v16112 ) = BCK((len_v16140 + 1), 32768); } static word FromRopes_P960(genRopes_v7028) word genRopes_v7028; { W16 var_c49880; word result_v7192; /* declaration of var_c43896 skipped */ /* declaration of s_v16224 skipped */ /* FromRopes: */ SOURCE(10776, 452) { word tmpAddr38; tmpAddr38 = (word) (( (ptr) &var_c49880)+4)/* var_c43896 */ ; (* (ptr) tmpAddr38 ) = ( ((word) (fPt) putRope_P4848) ); (* (( (ptr) tmpAddr38) + 1) ) = 1; }; SOURCE(10776, 452) result_v7192 = 0; SOURCE(10884, 42) XR_FillWords(&(* (W10Pt) ((( (ptr) &var_c49880)+6)/* s_v16224 */ )), 10, 0); SOURCE(11118, 17) (void) ( *( (fPt) ((* (ptr) genRopes_v7028 ))))((word) ((( (bPt) &var_c49880)+16)/* var_c43896 */ ), genRopes_v7028); SOURCE(11137, 91) { register word i_v16392 = 9; lab_L100067: ; SOURCE(11180, 48) if (((* ((( (ptr) &var_c49880)+6)/* s_v16224 */ +BCK(i_v16392, 10)) ) != 0)) { SOURCE(11199, 29) result_v7192 = (word) Concat_P240((* ((( (ptr) &var_c49880)+6)/* s_v16224 */ +BCK(i_v16392, 10)) ), result_v7192); }; if ((0 >= i_v16392)) { goto lab_L100064; }; i_v16392 = (i_v16392 - 1); goto lab_L100067; lab_L100064: ; }; SOURCE(10776, 452) return(result_v7192); } static void putRope_P4848(rope_v16364, formal_c49912) word rope_v16364; word formal_c49912; { formal_c49912 = (formal_c49912 - 16); /* putRope: */ SOURCE(10928, 185) SOURCE(10959, 131) { register word i_v16436 = 9; lab_L100071: ; SOURCE(11002, 88) if (((* ((( (ptr) formal_c49912)+6)+BCK(i_v16436, 10)) ) == 0)) { SOURCE(11023, 11) (* ((( (ptr) formal_c49912)+6)+BCK(i_v16436, 10)) ) = rope_v16364; SOURCE(11036, 7) return; } else { SOURCE(11052, 25) rope_v16364 = (word) Concat_P240((* ((( (ptr) formal_c49912)+6)+BCK(i_v16436, 10)) ), rope_v16364); SOURCE(11079, 11) (* ((( (ptr) formal_c49912)+6)+BCK(i_v16436, 10)) ) = 0; }; if ((0 >= i_v16436)) { goto lab_L100068; }; i_v16436 = (i_v16436 - 1); goto lab_L100071; lab_L100068: ; }; SOURCE(11102, 11) (* (( (ptr) formal_c49912)+6) ) = rope_v16364; } static word FromChar_P1020(c_v7268) word c_v7268; { register ptr gf_c49944 = (ptr) &globalframe; word var_c7312; word rtn_v16480; /* FromChar: */ SOURCE(11286, 188) SOURCE(11345, 24) rtn_v16480 = (* ((( (ptr) gf_c49944)+9)/* fromChars_v3392 */ +c_v7268) ); SOURCE(11371, 66) if ((rtn_v16480 == 0)) { SOURCE(11389, 16) rtn_v16480 = (word) NewText_P60(1); SOURCE(11407, 10) { word limit39; (* ((( (bPt) rtn_v16480)+4)+( limit39 = (word) (unsigned) ( (((unsigned)(* (( (hPt) rtn_v16480)+1) ) << 17) >> 17) ), BCK(0, limit39) )) ) = c_v7268; }; SOURCE(11419, 18) (* ((( (ptr) gf_c49944)+9)/* fromChars_v3392 */ +c_v7268) ) = rtn_v16480; }; SOURCE(11462, 12) return(rtn_v16480); } static word MakeConstantRope_P1080(char_v7372, length_v7400) word char_v7372; word length_v7400; { register ptr gf_c49976 = (ptr) &globalframe; word var_c7444; /* MakeConstantRope: */ SOURCE(11480, 164) SOURCE(11555, 89) { word var_c43992; word var_c43960; var_c43992 = XR_NewObject(8, (* (( (ptr) gf_c49976)+276) )); (* (ptr) var_c43992 ) = char_v7372; (* (( (ptr) var_c43992)+1) ) = length_v7400; var_c43960 = var_c43992; return((word) MakeRope_P780(var_c43960, length_v7400, (word) (( (bPt) gf_c49976)+1376)/* var_c40120 */ , (word) (( (bPt) gf_c49976)+1368) /* var_c40088 */ , (word) (( (bPt) gf_c49976)+1360)/* var_c40056 */ )); }; } static word ConstFetch_P1140(data_v7576, index_v7604) word data_v7576; word index_v7604; { register ptr gf_c50008 = (ptr) &globalframe; word var_c7660; word c_v16524; /* ConstFetch: */ SOURCE(11700, 107) SOURCE(11760, 30) c_v16524 = XR_Narrow(data_v7576, (* (( (ptr) gf_c50008)+276) )); SOURCE(11792, 15) return((* (ptr) c_v16524 )); } static word ConstMap_P1200(base_v7720, start_v7748, len_v7776, action_v7804) word base_v7720; word start_v7748; word len_v7776; word action_v7804; { register ptr gf_c50040 = (ptr) &globalframe; word quit_v7860; word c_v16580; /* ConstMap: */ SOURCE(11811, 233) SOURCE(11811, 233) quit_v7860 = 0; SOURCE(11908, 30) c_v16580 = XR_Narrow(base_v7720, (* (( (ptr) gf_c50040)+276) )); SOURCE(11940, 79) { register word noName_c44024 = 1; register word noName_c44056; { word x40; noName_c44056 = (x40 = ((* (( (ptr) c_v16580)+1) ) - start_v7748), MIN((int)(word), x40, len_v7776)); }; if (( (int)noName_c44024 > (int)noName_c44056)) { goto lab_L100072; }; lab_L100075: ; SOURCE(11983, 36) if ((0 != (word) ( *( (fPt) ((* (ptr) action_v7804 ))))((* (ptr) (c_v16580) ), action_v7804))) { SOURCE(12006, 13) return(1); }; if (( (int)noName_c44024 >= (int)noName_c44056)) { goto lab_L100072; }; noName_c44024 = (noName_c44024 + 1); goto lab_L100075; lab_L100072: ; }; SOURCE(12030, 14) return(0); } static word ConstMove_P1260(block_v7920, data_v7948, start_v7976) W3 block_v7920; word data_v7948; word start_v7976; { register ptr gf_c50072 = (ptr) &globalframe; word charsMoved_v8032; word c_v16636; word value_v16664; word n_v16692; /* ConstMove: */ SOURCE(12048, 427) SOURCE(12048, 427) charsMoved_v8032 = 0; SOURCE(12166, 30) c_v16636 = XR_Narrow(data_v7948, (* (( (ptr) gf_c50072)+276) )); SOURCE(12198, 25) value_v16664 = (* (ptr) c_v16636 ); SOURCE(12225, 41) { word x41; word x42; n_v16692 = (x41 = ((* (( (ptr) c_v16636)+1) ) - start_v7976), x42 = block_v7920.f2, MIN((int)(word), x41, x42)); }; SOURCE(12268, 207) lab_L100078: ; if (( (int)charsMoved_v8032 < (int)n_v16692)) { } else { goto lab_L100076; }; { word count_v16748; SOURCE(12290, 48) count_v16748 = (MIN( (unsigned) , (n_v16692 - charsMoved_v8032), 65535)); SOURCE(12340, 104) (void) Basics_FillBytes(block_v7920.f0, (block_v7920.f1 + charsMoved_v8032), count_v16748, value_v16664); SOURCE(12446, 29) charsMoved_v8032 = (charsMoved_v8032 + count_v16748); }; goto lab_L100078; lab_L100076: ; SOURCE(12048, 427) return(charsMoved_v8032); } static word FromRefText_P1320(s_v8092, start_v8120, len_v8148) word s_v8092; word start_v8120; word len_v8148; { register ptr gf_c50104 = (ptr) &globalframe; word rtn_v8204; /* FromRefText: */ SOURCE(12490, 416) SOURCE(12490, 416) rtn_v8204 = 0; SOURCE(12631, 275) if ((s_v8092 != 0)) { SOURCE(12655, 253) { word rem_v16792; SOURCE(12657, 31) { word idx43; rem_v16792 = ( idx43 = (word) ( (unsigned) (* (hPt) s_v8092 ) - start_v8120), BCK(idx43, 32768) ); }; SOURCE(12690, 25) if ((rem_v16792 < len_v8148)) { SOURCE(12706, 9) len_v8148 = rem_v16792; }; SOURCE(12717, 34) if ((len_v8148 == 0)) { SOURCE(12733, 18) return((* (( (ptr) gf_c50104)+4)/* emptyRope_v2804 */ )); }; SOURCE(12753, 18) rtn_v8204 = (word) NewText_P60(len_v8148); SOURCE(12773, 133) { word var_c44088; { word text_v36712; text_v36712 = s_v8092; var_c44088 = (text_v36712 + 4); }; (void) Basics_CopyBytes((rtn_v8204 + 4), 0, var_c44088, start_v8120, len_v8148); }; }; }; SOURCE(12490, 416) return(rtn_v8204); } static word ToRefText_P1380(base_v8264) word base_v8264; { register ptr gf_c50136 = (ptr) &globalframe; word var_c8308; word len_v16836; word rtn_v16864; /* ToRefText: */ SOURCE(12915, 434) SOURCE(12982, 40) { word x_v36760; x_v36760 = (word) InlineSize_P2040(base_v8264); len_v16836 = BCK(x_v36760, 32768); }; SOURCE(13024, 43) { word var_c44184; word var_c44216; var_c44184 = ((word) ((word) (len_v16836 + 3) >> 2) << 2); { word pd44; pd44 = (* (ptr) (* (( (ptr) gf_c50136)+8)/* untracedZone_v2916 */ ) ); var_c44216 = (word) ( *( (fPt) ((* (ptr) pd44 ))))((* (( (ptr) gf_c50136)+8)/* untracedZone_v2916 */ ), (4 + var_c44184), (* ( ( (ptr) gf_c50136)+277) ), pd44); }; (* (( (hPt) var_c44216)+1) ) = len_v16836; rtn_v16864 = var_c44216; }; SOURCE(13069, 263) if ((len_v16836 != 0)) { SOURCE(13087, 245) { word var_c44248; var_c44248 = base_v8264; if ((var_c44248 == 0)) { goto lab_L100081; }; if (( (unsigned) (*(( short *)var_c44248 + 1)<0) == 0)) { { word txt_v16920; txt_v16920 = var_c44248; SOURCE(13130, 153) SOURCE(13132, 131) { word var_c44280; { word text_v36664; text_v36664 = rtn_v16864; var_c44280 = (text_v36664 + 4); }; (void) Basics_CopyBytes(var_c44280, 0, (txt_v16920 + 4), 0, len_v16836); }; SOURCE(13265, 16) (* (hPt) rtn_v16864 ) = len_v16836; }; } else { lab_L100081: ; SOURCE(13297, 35) { word var_c44344; var_c44344 = (word) AppendChars_P1500(rtn_v16864, base_v8264, 0, len_v16836); }; }; }; }; SOURCE(13337, 12) return(rtn_v16864); } static void DoMoveChars_P1440(pointer_v8380, index_v8408, rope_v8436, start_v8464, len_v8492) word pointer_v8380; word index_v8408; word rope_v8436; word start_v8464; word len_v8492; { W9 var_c50168; register ptr gf_c50200 = (ptr) &globalframe; /* declaration of var_c44376 skipped */ /* DoMoveChars: */ SOURCE(13355, 1636) { word tmpAddr45; tmpAddr45 = (word) (( (ptr) &var_c50168)+4)/* var_c44376 */ ; (* (ptr) tmpAddr45 ) = ( ((word) (fPt) action_P5436) ); (* (( (ptr) tmpAddr45) + 1) ) = 1; }; SOURCE(13468, 1523) lab_L100085: ; if (( (int)len_v8492 != (int)0)) { } else { goto lab_L100083; }; { word base_v16964 = 0; word bStart_v16992; word bLen_v17020; SOURCE(13516, 51) { W3 var_c44408; (void) ContainingPiece_P1860((word) &var_c44408, rope_v8436, start_v8464); bLen_v17020 = var_c44408.f2; bStart_v16992 = var_c44408.f1; base_v16964 = var_c44408.f0; }; SOURCE(13569, 29) if (( (int)bLen_v17020 > (int)len_v8492)) { SOURCE(13588, 10) bLen_v17020 = len_v8492; }; SOURCE(13600, 29) if (( (int)bLen_v17020 == (int)0)) { SOURCE(13617, 12) (void) XR_RaiseError((word) (( (bPt) gf_c50200)+1124), 0); }; SOURCE(13631, 1271) { word var_c44440; var_c44440 = base_v16964; if ((var_c44440 == 0)) { goto lab_L100086; }; { word var_c44632; var_c44632 = (unsigned) (*(( short *)var_c44440 + 1)<0); if ((var_c44632 == 0)) { { word txt_v17064; txt_v17064 = var_c44440; SOURCE(13674, 129) SOURCE(13676, 125) (void) Basics_CopyBytes(pointer_v8380, SGNCK(index_v8408), (txt_v17064 + 4), SGNCK(bStart_v16992), SGNCK(bLen_v17020)); }; } else { if ((var_c44632 == 1)) { { word n_v17108; n_v17108 = var_c44440; SOURCE(13831, 1016) { word var_c44472; var_c44472 = n_v17108; if ((var_c44472 == 0)) { goto lab_L100087; }; if (( (unsigned) ((* (( (bPt) var_c44472)+3) ) & 3) == 3)) { { /*1*/ word obj_v17164; /*1*/ obj_v17164 = var_c44472; /*1*/ if (((* (( (ptr) obj_v17164)+5) ) != 0)) { SOURCE(13925, 102) /*1*/ { /*1*/ word moved_v17220; SOURCE(13927, 63) /*1*/ { /*1*/ W3 var_c44504; /*1*/ var_c44504.f0 = pointer_v8380; /*1*/ var_c44504.f1 = index_v8408; /*1*/ var_c44504.f2 = bLen_v17020; /*1*/ { /*1*/ word pd46; /*1*/ pd46 = (* (( (ptr) obj_v17164)+5) ); /*1*/ moved_v17220 = (word) ( *( (fPt) ((* (ptr) pd46 ))))(var_c44504, (* (( (ptr) obj_v17164)+2) ), bStart_v16992, pd46); /*1*/ }; /*1*/ }; SOURCE(13992, 33) /*1*/ if (( (int)moved_v17220 != (int)bLen_v17020)) { SOURCE(14013, 12) /*1*/ (void) XR_RaiseError((word) (( (bPt) gf_c50200)+1124), 0); /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { /*1*/ if (((* (( (ptr) obj_v17164)+4) ) != 0)) { SOURCE(14047, 397) /*1*/ { /*1*/ /* declaration of toPointer_v17264 skipped */ /*1*/ /* declaration of toIndex_v17292 skipped */ /*1*/ /* declaration of moved_v17320 skipped */ SOURCE(14049, 42) /*1*/ (* (( (ptr) &var_c50168)+6)/* toPointer_v17264 */ ) = pointer_v8380; SOURCE(14093, 20) /*1*/ (* (( (ptr) &var_c50168)+7)/* toIndex_v17292 */ ) = index_v8408; SOURCE(14115, 14) /*1*/ (* (( (ptr) &var_c50168)+8)/* moved_v17320 */ ) = 0; SOURCE(14363, 44) /*1*/ { /*1*/ word var_c44536; /*1*/ word pd47; /*1*/ pd47 = (* (( (ptr) obj_v17164)+4) ); /*1*/ var_c44536 = (word) ( *( (fPt) ((* (ptr) pd47 ))))((* (( (ptr) obj_v17164)+2) ), bStart_v16992, bLen_v17020, (word) (( (bPt) &var_c50168)+16) /*1*/ /* var_c44376 */ , pd47); /*1*/ }; SOURCE(14409, 33) /*1*/ if (( (int)(* (( (ptr) &var_c50168)+8)/* moved_v17320 */ ) != (int)bLen_v17020)) { SOURCE(14430, 12) /*1*/ (void) XR_RaiseError((word) (( (bPt) gf_c50200)+1124), 0); /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(14466, 355) /*1*/ { /*1*/ word toPointer_v17392; /*1*/ word toIndex_v17420; /*1*/ word fetch_v17448; /*1*/ word data_v17476; SOURCE(14468, 42) /*1*/ toPointer_v17392 = pointer_v8380; SOURCE(14512, 20) /*1*/ toIndex_v17420 = index_v8408; SOURCE(14534, 28) /*1*/ fetch_v17448 = (* (( (ptr) obj_v17164)+3) ); SOURCE(14564, 20) /*1*/ data_v17476 = (* (( (ptr) obj_v17164)+2) ); SOURCE(14586, 224) /*1*/ { /*1*/ register word i_v17532 = 0; /*1*/ register word noName_c44568; /*1*/ noName_c44568 = bLen_v17020; /*1*/ if (( (int)i_v17532 >= (int)noName_c44568)) { /*1*/ goto lab_L100088; /*1*/ }; /*1*/ lab_L100091: ; SOURCE(14613, 127) /*1*/ if (( (int)toIndex_v17420 > (int)32767)) { SOURCE(14648, 56) /*1*/ toPointer_v17392 = (toPointer_v17392 + IOP2( * , (int)IOP2( / , (int)toIndex_v17420, (int)4), (int)4)); SOURCE(14706, 34) /*1*/ toIndex_v17420 = IOP2( % , (int)toIndex_v17420, (int)4); /*1*/ }; SOURCE(14745, 42) /*1*/ { /*1*/ word var_c44600; /*1*/ var_c44600 = (word) ( *( (fPt) ((* (ptr) fetch_v17448 ))))(data_v17476, (bStart_v16992 + i_v17532), fetch_v17448); /*1*/ (* (( (bPt) toPointer_v17392)+toIndex_v17420) ) = var_c44600; /*1*/ }; SOURCE(14789, 21) /*1*/ toIndex_v17420 = (toIndex_v17420 + 1); /*1*/ i_v17532 = (i_v17532 + 1); /*1*/ if (( (int)i_v17532 < (int)noName_c44568)) { /*1*/ goto lab_L100091; /*1*/ }; /*1*/ lab_L100088: ; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; } else { lab_L100087: ; SOURCE(14835, 12) (void) XR_RaiseError((word) (( (bPt) gf_c50200)+1124), 0); }; }; }; } else { lab_L100086: ; SOURCE(14890, 12) (void) XR_RaiseError((word) (( (bPt) gf_c50200)+1124), 0); }; }; }; }; SOURCE(14931, 16) len_v8492 = (len_v8492 - bLen_v17020); SOURCE(14949, 20) start_v8464 = (start_v8464 + bLen_v17020); SOURCE(14971, 20) index_v8408 = (index_v8408 + bLen_v17020); }; goto lab_L100085; lab_L100083: ; } static word action_P5436(c_v34100, formal_c50232) word c_v34100; word formal_c50232; { word quit_v34144; formal_c50232 = (formal_c50232 - 16); /* action: */ SOURCE(14131, 29) SOURCE(14131, 29) quit_v34144 = 0; SOURCE(14162, 127) if (( (int)(* (( (ptr) formal_c50232)+7) ) > (int)32767)) { SOURCE(14197, 56) (* (( (ptr) formal_c50232)+6) ) = ((* (( (ptr) formal_c50232)+6) ) + IOP2( * , (int)IOP2( / , (int)(* (( (ptr) formal_c50232)+7) ), (int)4), (int)4)); SOURCE(14255, 34) (* (( (ptr) formal_c50232)+7) ) = IOP2( % , (int)(* (( (ptr) formal_c50232)+7) ), (int)4); }; SOURCE(14294, 22) (* (( (bPt) (* (( (ptr) formal_c50232)+6) ))+(* (( (ptr) formal_c50232)+7) )) ) = c_v34100; SOURCE(14318, 21) (* (( (ptr) formal_c50232)+7) ) = ((* (( (ptr) formal_c50232)+7) ) + 1); SOURCE(14341, 17) (* (( (ptr) formal_c50232)+8) ) = ((* (( (ptr) formal_c50232)+8) ) + 1); SOURCE(14131, 29) return(quit_v34144); } static word AppendChars_P1500(buffer_v8564, rope_v8592, start_v8620, len_v8648) word buffer_v8564; word rope_v8592; word start_v8620; word len_v8648; { word charsMoved_v8704; word rem_v17576; /* AppendChars: */ SOURCE(15006, 535) SOURCE(15006, 535) charsMoved_v8704 = 0; SOURCE(15140, 49) { word x_v38648; x_v38648 = ((word) InlineSize_P2040(rope_v8592) - start_v8620); rem_v17576 = SGNCK(x_v38648); }; SOURCE(15191, 27) if (( (int)rem_v17576 > (int)len_v8648)) { SOURCE(15209, 9) rem_v17576 = len_v8648; }; SOURCE(15220, 321) if ( ( ( (int)rem_v17576 > (int)0) ? (buffer_v8564 != 0) : 0 ) ) { SOURCE(15261, 282) { word bufPos_v17620; word bufRem_v17648; SOURCE(15263, 33) bufPos_v17620 = (unsigned) (* (hPt) buffer_v8564 ); SOURCE(15298, 45) { word idx48; bufRem_v17648 = ( idx48 = (word) ( (unsigned) (* (( (hPt) buffer_v8564)+1) ) - bufPos_v17620), BCK(idx48, 32768) ); }; SOURCE(15345, 41) if (( (int)bufRem_v17648 > (int)rem_v17576)) { SOURCE(15366, 20) bufRem_v17648 = rem_v17576; }; SOURCE(15388, 105) { word var_c44696; { word text_v36616; text_v36616 = buffer_v8564; var_c44696 = (text_v36616 + 4); }; (void) DoMoveChars_P1440(var_c44696, bufPos_v17620, rope_v8592, start_v8620, bufRem_v17648); }; SOURCE(15495, 29) (* (hPt) buffer_v8564 ) = BCK((bufPos_v17620 + bufRem_v17648), 32768); SOURCE(15526, 15) return(bufRem_v17648); }; }; SOURCE(15006, 535) return(charsMoved_v8704); } static word UnsafeMoveChars_P1560(block_v8764, rope_v8792, start_v8820) W3 block_v8764; word rope_v8792; word start_v8820; { word charsMoved_v8864; word rem_v17692; /* UnsafeMoveChars: */ SOURCE(15550, 359) SOURCE(15550, 359) charsMoved_v8864 = 0; SOURCE(15669, 49) { word x_v38600; x_v38600 = ((word) InlineSize_P2040(rope_v8792) - start_v8820); rem_v17692 = SGNCK(x_v38600); }; SOURCE(15720, 43) if (( (int)rem_v17692 > (int)block_v8764.f2)) { SOURCE(15746, 17) rem_v17692 = block_v8764.f2; }; SOURCE(15765, 144) if (( (int)rem_v17692 > (int)0)) { SOURCE(15789, 120) SOURCE(15791, 102) (void) DoMoveChars_P1440(block_v8764.f0, block_v8764.f1, rope_v8792, start_v8820, rem_v17692); SOURCE(15895, 12) return(rem_v17692); }; SOURCE(15550, 359) return(charsMoved_v8864); } static word Equal_P1620(s1_v8924, s2_v8952, case_v8980) word s1_v8924; word s2_v8952; word case_v8980; { word var_c9024; word len1_v17736; word len2_v17764; word str1_v17792 = 0; word str2_v17820 = 0; /* Equal: */ SOURCE(15916, 811) SOURCE(16037, 29) { W2 var_c44952; { word var_c44824; var_c44824 = s1_v8924; if ((var_c44824 == 0)) { goto lab_L100095; }; { word var_c44920; var_c44920 = (unsigned) (*(( short *)var_c44824 + 1)<0); if ((var_c44920 == 0)) { { word text_v38096; text_v38096 = var_c44824; (* (ptr) (word) &var_c44952 ) = (unsigned) ( (((unsigned)(* (hPt) text_v38096 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c44952) + 1) ) = text_v38096; }; } else { if ((var_c44920 == 1)) { { word node_v38140; word var_c44888; word base_v38184; node_v38140 = var_c44824; base_v38184 = node_v38140; var_c44888 = (* (( (ptr) base_v38184)+1) ); (* (ptr) (word) &var_c44952 ) = var_c44888; (* (( (ptr) (word) &var_c44952) + 1) ) = 0; }; } else { lab_L100095: ; (* (ptr) (word) &var_c44952 ) = 0; (* (( (ptr) (word) &var_c44952) + 1) ) = 0; goto lab_L100096; }; }; }; }; lab_L100096: ; str1_v17792 = var_c44952.f1; len1_v17736 = var_c44952.f0; }; SOURCE(16068, 29) { W2 var_c45144; { word var_c45016; var_c45016 = s2_v8952; if ((var_c45016 == 0)) { goto lab_L100098; }; { word var_c45112; var_c45112 = (unsigned) (*(( short *)var_c45016 + 1)<0); if ((var_c45112 == 0)) { { word text_v37964; text_v37964 = var_c45016; (* (ptr) (word) &var_c45144 ) = (unsigned) ( (((unsigned)(* (hPt) text_v37964 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c45144) + 1) ) = text_v37964; }; } else { if ((var_c45112 == 1)) { { word node_v38008; word var_c45080; word base_v38052; node_v38008 = var_c45016; base_v38052 = node_v38008; var_c45080 = (* (( (ptr) base_v38052)+1) ); (* (ptr) (word) &var_c45144 ) = var_c45080; (* (( (ptr) (word) &var_c45144) + 1) ) = 0; }; } else { lab_L100098: ; (* (ptr) (word) &var_c45144 ) = 0; (* (( (ptr) (word) &var_c45144) + 1) ) = 0; goto lab_L100099; }; }; }; }; lab_L100099: ; str2_v17820 = var_c45144.f1; len2_v17764 = var_c45144.f0; }; if (( (int)len1_v17736 != (int)len2_v17764)) { SOURCE(16131, 14) return(0); } else { if ((s1_v8924 == s2_v8952) || ( (int)len1_v17736 == (int)0)) { SOURCE(16170, 13) return(1); } else { if ( ( ( (0 != case_v8980) ? (str1_v17792 != 0) : 0 ) ? (str2_v17820 != 0) : 0 ) ) { SOURCE(16223, 454) { word len_v17864; word wp1_v17892; word wp2_v17920; SOURCE(16225, 29) len_v17864 = len1_v17736; SOURCE(16256, 54) wp1_v17892 = (str1_v17792 + 4); SOURCE(16312, 54) wp2_v17920 = (str2_v17820 + 4); SOURCE(16368, 139) lab_L100103: ; if ((len_v17864 >= 4)) { } else { goto lab_L100101; }; SOURCE(16397, 34) if (((* (ptr) wp1_v17892 ) != (* (ptr) wp2_v17920 ))) { SOURCE(16417, 14) return(0); }; SOURCE(16433, 23) wp1_v17892 = (wp1_v17892 + 4); SOURCE(16458, 23) wp2_v17920 = (wp2_v17920 + 4); SOURCE(16483, 24) len_v17864 = BCK((len_v17864 - 4), 32768); goto lab_L100103; lab_L100101: ; SOURCE(16518, 133) { register word i_v17964 = 0; register word noName_c45176; noName_c45176 = (len_v17864 & 3); if ((i_v17964 >= noName_c45176)) { goto lab_L100104; }; lab_L100107: ; SOURCE(16567, 84) if (( (unsigned) (word) (* (( (bPt) wp1_v17892)+i_v17964) ) != (unsigned) (word) (* (( (bPt) wp2_v17920)+i_v17964) ))) { SOURCE(16637, 14) return(0); }; i_v17964 = (i_v17964 + 1); if ((i_v17964 < noName_c45176)) { goto lab_L100107; }; lab_L100104: ; }; SOURCE(16662, 13) return(1); }; } else { SOURCE(16691, 36) return( (unsigned) ((word) Compare_P1680(s1_v8924, s2_v8952, case_v8980) == 1)); }; }; }; } static word Compare_P1680(s1_v9084, s2_v9112, case_v9140) word s1_v9084; word s2_v9112; word case_v9140; { word var_c9184; word len1_v18008; word len2_v18036; word str1_v18064 = 0; word str2_v18092 = 0; /* Compare: */ SOURCE(16733, 1568) SOURCE(16862, 29) { W2 var_c45400; { word var_c45272; var_c45272 = s1_v9084; if ((var_c45272 == 0)) { goto lab_L100108; }; { word var_c45368; var_c45368 = (unsigned) (*(( short *)var_c45272 + 1)<0); if ((var_c45368 == 0)) { { word text_v37832; text_v37832 = var_c45272; (* (ptr) (word) &var_c45400 ) = (unsigned) ( (((unsigned)(* (hPt) text_v37832 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c45400) + 1) ) = text_v37832; }; } else { if ((var_c45368 == 1)) { { word node_v37876; word var_c45336; word base_v37920; node_v37876 = var_c45272; base_v37920 = node_v37876; var_c45336 = (* (( (ptr) base_v37920)+1) ); (* (ptr) (word) &var_c45400 ) = var_c45336; (* (( (ptr) (word) &var_c45400) + 1) ) = 0; }; } else { lab_L100108: ; (* (ptr) (word) &var_c45400 ) = 0; (* (( (ptr) (word) &var_c45400) + 1) ) = 0; goto lab_L100109; }; }; }; }; lab_L100109: ; str1_v18064 = var_c45400.f1; len1_v18008 = var_c45400.f0; }; SOURCE(16893, 29) { W2 var_c45592; { word var_c45464; var_c45464 = s2_v9112; if ((var_c45464 == 0)) { goto lab_L100111; }; { word var_c45560; var_c45560 = (unsigned) (*(( short *)var_c45464 + 1)<0); if ((var_c45560 == 0)) { { word text_v37700; text_v37700 = var_c45464; (* (ptr) (word) &var_c45592 ) = (unsigned) ( (((unsigned)(* (hPt) text_v37700 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c45592) + 1) ) = text_v37700; }; } else { if ((var_c45560 == 1)) { { word node_v37744; word var_c45528; word base_v37788; node_v37744 = var_c45464; base_v37788 = node_v37744; var_c45528 = (* (( (ptr) base_v37788)+1) ); (* (ptr) (word) &var_c45592 ) = var_c45528; (* (( (ptr) (word) &var_c45592) + 1) ) = 0; }; } else { lab_L100111: ; (* (ptr) (word) &var_c45592 ) = 0; (* (( (ptr) (word) &var_c45592) + 1) ) = 0; goto lab_L100112; }; }; }; }; lab_L100112: ; str2_v18092 = var_c45592.f1; len2_v18036 = var_c45592.f0; }; SOURCE(16924, 671) if ( ( (str1_v18064 != 0) ? (str2_v18092 != 0) : 0 ) ) { SOURCE(16958, 639) { word sz1_v18136; word sz2_v18164; word sz_v18192; SOURCE(16960, 29) sz1_v18136 = len1_v18008; SOURCE(16991, 29) sz2_v18164 = len2_v18036; SOURCE(17022, 29) sz_v18192 = (MIN( (unsigned) , sz1_v18136, sz2_v18164)); SOURCE(17053, 448) if ((0 != case_v9140)) { SOURCE(17067, 160) { register word i_v18236 = 0; register word noName_c45624; noName_c45624 = sz_v18192; if ((i_v18236 >= noName_c45624)) { goto lab_L100114; }; lab_L100117: ; { word c1_v18280; word c2_v18308; SOURCE(17098, 26) c1_v18280 = (unsigned) (word) (* ((( (bPt) str1_v18064)+4)+i_v18236) ); SOURCE(17126, 26) c2_v18308 = (unsigned) (word) (* ((( (bPt) str2_v18092)+4)+i_v18236) ); SOURCE(17154, 16) if ((c1_v18280 == c2_v18308)) { SOURCE(17170, 4) goto lab_L100116; }; SOURCE(17176, 51) if ((c1_v18280 < c2_v18308)) { SOURCE(17192, 19) return(0); } else { SOURCE(17211, 16) return(2); }; }; lab_L100116: ; i_v18236 = (i_v18236 + 1); if ((i_v18236 < noName_c45624)) { goto lab_L100117; }; lab_L100114: ; }; } else { SOURCE(17243, 258) { register word i_v18352 = 0; register word noName_c45656; noName_c45656 = sz_v18192; if ((i_v18352 >= noName_c45656)) { goto lab_L100118; }; lab_L100121: ; { word c1_v18396; word c2_v18424; SOURCE(17274, 26) c1_v18396 = (unsigned) (word) (* ((( (bPt) str1_v18064)+4)+i_v18352) ); SOURCE(17302, 26) c2_v18424 = (unsigned) (word) (* ((( (bPt) str2_v18092)+4)+i_v18352) ); SOURCE(17330, 47) if ( ( (c1_v18396 <= 90) ? (c1_v18396 >= 65) : 0 ) ) { SOURCE(17360, 17) c1_v18396 = BCK((c1_v18396 + 32), 256); }; SOURCE(17379, 47) if ( ( (c2_v18424 <= 90) ? (c2_v18424 >= 65) : 0 ) ) { SOURCE(17409, 17) c2_v18424 = BCK((c2_v18424 + 32), 256); }; SOURCE(17428, 16) if ((c1_v18396 == c2_v18424)) { SOURCE(17444, 4) goto lab_L100120; }; SOURCE(17450, 51) if ((c1_v18396 < c2_v18424)) { SOURCE(17466, 19) return(0); } else { SOURCE(17485, 16) return(2); }; }; lab_L100120: ; i_v18352 = (i_v18352 + 1); if ((i_v18352 < noName_c45656)) { goto lab_L100121; }; lab_L100118: ; }; }; SOURCE(17512, 34) if ((sz1_v18136 > sz2_v18164)) { SOURCE(17530, 16) return(2); }; SOURCE(17548, 31) if ((sz1_v18136 < sz2_v18164)) { SOURCE(17566, 13) return(0); }; SOURCE(17581, 14) return(1); }; }; SOURCE(17600, 712) { word r1_v18468 = 0; word r2_v18496 = 0; word pos1_v18524 = 0; word st1_v18552 = 0; word sz1_v18580 = 0; word lm1_v18608 = 0; word pos2_v18636 = 0; word st2_v18664 = 0; word sz2_v18692 = 0; word lm2_v18720 = 0; word c1_v18748; word c2_v18776; SOURCE(17688, 613) lab_L100124: ; SOURCE(17691, 183) if (( (int)st1_v18552 == (int)lm1_v18608)) { { word var_c0875; SOURCE(17711, 79) pos1_v18524 = (pos1_v18524 + sz1_v18580); var_c0875 = pos1_v18524; if (( (int)var_c0875 == (int)len1_v18008)) { SOURCE(17746, 44) { word idx49; return(( idx49 = (word) ( ( (int)pos1_v18524 == (int)len2_v18036) ? 1 : 0 ) , BCK(idx49, 3) )); }; }; SOURCE(17792, 42) { W3 var_c45688; (void) ContainingPiece_P1860((word) &var_c45688, s1_v9084, pos1_v18524); sz1_v18580 = var_c45688.f2; st1_v18552 = var_c45688.f1; r1_v18468 = var_c45688.f0; }; SOURCE(17836, 16) if (( (int)sz1_v18580 == (int)0)) { SOURCE(17852, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(17859, 15) lm1_v18608 = (st1_v18552 + sz1_v18580); }; }; SOURCE(17879, 155) if (( (int)st2_v18664 == (int)lm2_v18720)) { { word var_c0876; SOURCE(17899, 51) pos2_v18636 = (pos2_v18636 + sz2_v18692); var_c0876 = pos2_v18636; if (( (int)var_c0876 == (int)len2_v18036)) { SOURCE(17934, 16) return(2); }; SOURCE(17952, 42) { W3 var_c45720; (void) ContainingPiece_P1860((word) &var_c45720, s2_v9112, pos2_v18636); sz2_v18692 = var_c45720.f2; st2_v18664 = var_c45720.f1; r2_v18496 = var_c45720.f0; }; SOURCE(17996, 16) if (( (int)sz2_v18692 == (int)0)) { SOURCE(18012, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(18019, 15) lm2_v18720 = (st2_v18664 + sz2_v18692); }; }; SOURCE(18039, 25) c1_v18748 = (word) Fetch_P420(r1_v18468, st1_v18552); SOURCE(18066, 25) c2_v18776 = (word) Fetch_P420(r2_v18496, st2_v18664); SOURCE(18093, 115) if ((0 == case_v9140)) { SOURCE(18112, 47) if ( ( (c1_v18748 <= 90) ? (c1_v18748 >= 65) : 0 ) ) { SOURCE(18142, 17) c1_v18748 = BCK((c1_v18748 + 32), 256); }; SOURCE(18161, 47) if ( ( (c2_v18776 <= 90) ? (c2_v18776 >= 65) : 0 ) ) { SOURCE(18191, 17) c2_v18776 = BCK((c2_v18776 + 32), 256); }; }; SOURCE(18213, 58) if ((c1_v18748 != c2_v18776)) { SOURCE(18229, 42) { word idx50; return(( idx50 = (word) ( (c1_v18748 < c2_v18776) ? 0 : 2 ) , BCK(idx50, 3) )); }; }; SOURCE(18273, 13) st1_v18552 = (st1_v18552 + 1); SOURCE(18288, 13) st2_v18664 = (st2_v18664 + 1); goto lab_L100124; }; } static word CompareSubstrs_P1740(s1_v9244, start1_v9272, len1_v9300, s2_v9328, start2_v9356, len2_v9384, case_v9412) word s1_v9244; word start1_v9272; word len1_v9300; word s2_v9328; word start2_v9356; word len2_v9384; word case_v9412; { word var_c9456; word rem1_v18820; word rem2_v18848; word rem_v18876; word r1_v18904 = 0; word r2_v18932 = 0; word st1_v18960 = 0; word sz1_v18988 = 0; word lm1_v19016 = 0; word st2_v19044 = 0; word sz2_v19072 = 0; word lm2_v19100 = 0; /* CompareSubstrs: */ SOURCE(18319, 1101) SOURCE(18489, 85) if (( (int)len1_v9300 <= (int)0)) { rem1_v18820 = 0; } else { { word var_c45752; word x_v38552; x_v38552 = ((word) InlineSize_P2040(s1_v9244) - start1_v9272); var_c45752 = SGNCK(x_v38552); rem1_v18820 = (MIN((int)(word), len1_v9300, var_c45752)); }; }; SOURCE(18576, 85) if (( (int)len2_v9384 <= (int)0)) { rem2_v18848 = 0; } else { { word var_c45784; word x_v38504; x_v38504 = ((word) InlineSize_P2040(s2_v9328) - start2_v9356); var_c45784 = SGNCK(x_v38504); rem2_v18848 = (MIN((int)(word), len2_v9384, var_c45784)); }; }; SOURCE(18663, 26) rem_v18876 = (MIN((int)(word), rem1_v18820, rem2_v18848)); SOURCE(18759, 612) lab_L100129: ; if (( (int)rem_v18876 != (int)0)) { } else { goto lab_L100127; }; SOURCE(18776, 118) if (( (int)st1_v18960 == (int)lm1_v19016)) { SOURCE(18796, 59) { W3 var_c45816; { W3 var_c0494; { word var_c0877; start1_v9272 = (start1_v9272 + sz1_v18988); var_c0877 = start1_v9272; (void) ContainingPiece_P1860((word) &var_c0494, s1_v9244, var_c0877); }; var_c45816 = var_c0494; }; sz1_v18988 = var_c45816.f2; st1_v18960 = var_c45816.f1; r1_v18904 = var_c45816.f0; }; SOURCE(18857, 16) if (( (int)sz1_v18988 == (int)0)) { SOURCE(18873, 4) goto lab_L100128; }; SOURCE(18879, 15) lm1_v19016 = (st1_v18960 + sz1_v18988); }; SOURCE(18899, 118) if (( (int)st2_v19044 == (int)lm2_v19100)) { SOURCE(18919, 59) { W3 var_c45848; { W3 var_c0496; { word var_c0878; start2_v9356 = (start2_v9356 + sz2_v19072); var_c0878 = start2_v9356; (void) ContainingPiece_P1860((word) &var_c0496, s2_v9328, var_c0878); }; var_c45848 = var_c0496; }; sz2_v19072 = var_c45848.f2; st2_v19044 = var_c45848.f1; r2_v18932 = var_c45848.f0; }; SOURCE(18980, 16) if (( (int)sz2_v19072 == (int)0)) { SOURCE(18996, 4) goto lab_L100128; }; SOURCE(19002, 15) lm2_v19100 = (st2_v19044 + sz2_v19072); }; SOURCE(19022, 303) { word c1_v19144; word c2_v19172; SOURCE(19024, 31) c1_v19144 = (word) Fetch_P420(r1_v18904, st1_v18960); SOURCE(19057, 31) c2_v19172 = (word) Fetch_P420(r2_v18932, st2_v19044); SOURCE(19090, 232) if ((c1_v19144 != c2_v19172)) { SOURCE(19106, 216) SOURCE(19108, 133) if ((0 == case_v9412)) { SOURCE(19127, 47) if ( ( (c1_v19144 <= 90) ? (c1_v19144 >= 65) : 0 ) ) { SOURCE(19157, 17) c1_v19144 = BCK((c1_v19144 + 32), 256); }; SOURCE(19176, 47) if ( ( (c2_v19172 <= 90) ? (c2_v19172 >= 65) : 0 ) ) { SOURCE(19206, 17) c2_v19172 = BCK((c2_v19172 + 32), 256); }; SOURCE(19225, 16) if ((c1_v19144 == c2_v19172)) { SOURCE(19241, 11) goto lab_L100130; }; }; SOURCE(19257, 44) { word var_c45880; { word a_v36540; word b_v36568; a_v36540 = c1_v19144; b_v36568 = c2_v19172; { word idx51; var_c45880 = ( idx51 = (word) ( ( (int)a_v36540 == (int)b_v36568) ? 1 : ( ( (int)a_v36540 > (int)b_v36568) ? 2 : 0 ) ) , BCK(idx51, 3) ); }; }; return(var_c45880); }; /* c2c skipped dead code */ lab_L100130: ; }; }; SOURCE(19328, 13) st1_v18960 = (st1_v18960 + 1); SOURCE(19343, 13) st2_v19044 = (st2_v19044 + 1); SOURCE(19358, 13) rem_v18876 = (rem_v18876 - 1); goto lab_L100129; lab_L100127: ; lab_L100128: ; SOURCE(19382, 38) if (( (int)rem1_v18820 == (int)rem2_v18848)) { return(1); } else { if (( (int)rem1_v18820 > (int)rem2_v18848)) { return(2); } else { return(0); }; }; } static word EqualSubstrs_P1800(s1_v9516, start1_v9544, len1_v9572, s2_v9600, start2_v9628, len2_v9656, case_v9684) word s1_v9516; word start1_v9544; word len1_v9572; word s2_v9600; word start2_v9628; word len2_v9656; word case_v9684; { word var_c9728; word rem1_v19216; word rem2_v19244; /* EqualSubstrs: */ SOURCE(19426, 1054) SOURCE(19588, 85) if (( (int)len1_v9572 <= (int)0)) { rem1_v19216 = 0; } else { { word var_c45944; word x_v38456; x_v38456 = ((word) InlineSize_P2040(s1_v9516) - start1_v9544); var_c45944 = SGNCK(x_v38456); rem1_v19216 = (MIN((int)(word), len1_v9572, var_c45944)); }; }; SOURCE(19675, 85) if (( (int)len2_v9656 <= (int)0)) { rem2_v19244 = 0; } else { { word var_c45976; word x_v38408; x_v38408 = ((word) InlineSize_P2040(s2_v9600) - start2_v9628); var_c45976 = SGNCK(x_v38408); rem2_v19244 = (MIN((int)(word), len2_v9656, var_c45976)); }; }; SOURCE(19762, 699) if (( (int)rem1_v19216 == (int)rem2_v19244)) { SOURCE(19782, 681) { word r1_v19288 = 0; word r2_v19316 = 0; word st1_v19344 = 0; word sz1_v19372 = 0; word lm1_v19400 = 0; word st2_v19428 = 0; word sz2_v19456 = 0; word lm2_v19484 = 0; SOURCE(19852, 585) lab_L100137: ; if (( (int)rem1_v19216 != (int)0)) { } else { goto lab_L100135; }; SOURCE(19870, 118) if (( (int)st1_v19344 == (int)lm1_v19400)) { SOURCE(19890, 59) { W3 var_c46008; { W3 var_c0525; { word var_c0879; start1_v9544 = (start1_v9544 + sz1_v19372); var_c0879 = start1_v9544; (void) ContainingPiece_P1860((word) &var_c0525, s1_v9516, var_c0879); }; var_c46008 = var_c0525; }; sz1_v19372 = var_c46008.f2; st1_v19344 = var_c46008.f1; r1_v19288 = var_c46008.f0; }; SOURCE(19951, 16) if (( (int)sz1_v19372 == (int)0)) { SOURCE(19967, 4) goto lab_L100136; }; SOURCE(19973, 15) lm1_v19400 = (st1_v19344 + sz1_v19372); }; SOURCE(19993, 118) if (( (int)st2_v19428 == (int)lm2_v19484)) { SOURCE(20013, 59) { W3 var_c46040; { W3 var_c0527; { word var_c0880; start2_v9628 = (start2_v9628 + sz2_v19456); var_c0880 = start2_v9628; (void) ContainingPiece_P1860((word) &var_c0527, s2_v9600, var_c0880); }; var_c46040 = var_c0527; }; sz2_v19456 = var_c46040.f2; st2_v19428 = var_c46040.f1; r2_v19316 = var_c46040.f0; }; SOURCE(20074, 16) if (( (int)sz2_v19456 == (int)0)) { SOURCE(20090, 4) goto lab_L100136; }; SOURCE(20096, 15) lm2_v19484 = (st2_v19428 + sz2_v19456); }; SOURCE(20116, 273) { word c1_v19528; word c2_v19556; SOURCE(20118, 31) c1_v19528 = (word) Fetch_P420(r1_v19288, st1_v19344); SOURCE(20151, 31) c2_v19556 = (word) Fetch_P420(r2_v19316, st2_v19428); SOURCE(20184, 202) if ((c1_v19528 != c2_v19556)) { SOURCE(20200, 186) SOURCE(20202, 133) if ((0 == case_v9684)) { SOURCE(20221, 47) if ( ( (c1_v19528 <= 90) ? (c1_v19528 >= 65) : 0 ) ) { SOURCE(20251, 17) c1_v19528 = BCK((c1_v19528 + 32), 256); }; SOURCE(20270, 47) if ( ( (c2_v19556 <= 90) ? (c2_v19556 >= 65) : 0 ) ) { SOURCE(20300, 17) c2_v19556 = BCK((c2_v19556 + 32), 256); }; SOURCE(20319, 16) if ((c1_v19528 == c2_v19556)) { SOURCE(20335, 11) goto lab_L100138; }; }; SOURCE(20351, 14) return(0); /* c2c skipped dead code */ lab_L100138: ; }; }; SOURCE(20392, 13) st1_v19344 = (st1_v19344 + 1); SOURCE(20407, 13) st2_v19428 = (st2_v19428 + 1); SOURCE(20422, 15) rem1_v19216 = (rem1_v19216 - 1); goto lab_L100137; lab_L100135: ; lab_L100136: ; SOURCE(20448, 13) return(1); }; }; SOURCE(20466, 14) return(0); } static void ContainingPiece_P1860(formal_c0541, rope_v9788, index_v9816) word formal_c0541; word rope_v9788; word index_v9816; { register ptr gf_c50264 = (ptr) &globalframe; word base_v9860; word start_v9888; word len_v9916; /* ContainingPiece: */ SOURCE(20486, 935) SOURCE(20486, 935) base_v9860 = 0; SOURCE(20599, 22) len_v9916 = (word) InlineSize_P2040(rope_v9788); SOURCE(20623, 52) if (( (int)index_v9816 < (int)0) || ( (int)index_v9816 >= (int)len_v9916)) { SOURCE(20657, 18) base_v9860 = 0; start_v9888 = 0; len_v9916 = 0; goto lab_L100140; }; SOURCE(20677, 11) base_v9860 = rope_v9788; SOURCE(20690, 13) start_v9888 = index_v9816; SOURCE(20705, 17) len_v9916 = (len_v9916 - start_v9888); SOURCE(20724, 697) lab_L100143: ; SOURCE(20724, 697) { word nlen_v19600; SOURCE(20727, 15) nlen_v19600 = len_v9916; SOURCE(20744, 638) { word var_c46072; var_c46072 = (unsigned) (*(( short *)base_v9860 + 1)<0); if ((var_c46072 == 0)) { SOURCE(20777, 6) goto lab_L100140; } else { if ((var_c46072 == 1)) { SOURCE(20793, 564) { word var_c46104; var_c46104 = (unsigned) ((* (( (bPt) base_v9860)+3) ) & 3); switch (var_c46104) { case 0: SOURCE(20827, 21) nlen_v19600 = ((* (( (ptr) base_v9860)+1) ) - start_v9888); SOURCE(20850, 23) start_v9888 = (start_v9888 + (* (( (ptr) base_v9860)+3) )); SOURCE(20875, 13) base_v9860 = (* (( (ptr) base_v9860)+2) ); break; case 1: SOURCE(20903, 135) { word del1_v19644; SOURCE(20905, 25) del1_v19644 = ((* (( (ptr) base_v9860)+4) ) - start_v9888); SOURCE(20932, 103) if (( (int)del1_v19644 > (int)0)) { SOURCE(20950, 11) /*1*/ nlen_v19600 = del1_v19644; SOURCE(20963, 13) /*1*/ base_v9860 = (* (( (ptr) base_v9860)+2) ); /*1*/ } else { SOURCE(20984, 21) /*1*/ nlen_v19600 = ((* (( (ptr) base_v9860)+1) ) - start_v9888); SOURCE(21007, 13) /*1*/ start_v9888 = INEG(del1_v19644); SOURCE(21022, 13) /*1*/ base_v9860 = (* (( (ptr) base_v9860)+3) ); /*1*/ }; }; break; case 2: SOURCE(21052, 259) { word del2_v19688; word del1_v19716; SOURCE(21054, 28) del2_v19688 = ((* (( (ptr) base_v9860)+6) ) - start_v9888); SOURCE(21084, 27) del1_v19716 = ((* (( (ptr) base_v9860)+4) ) - start_v9888); if (( (int)del1_v19716 > (int)0)) { SOURCE(21143, 11) /*1*/ nlen_v19600 = del1_v19716; SOURCE(21156, 13) /*1*/ base_v9860 = (* (( (ptr) base_v9860)+2) ); /*1*/ } else { /*1*/ if (( (int)del2_v19688 > (int)0)) { SOURCE(21185, 13) /*1*/ start_v9888 = INEG(del1_v19716); SOURCE(21200, 11) /*1*/ nlen_v19600 = del2_v19688; SOURCE(21213, 16) /*1*/ base_v9860 = (* (( (ptr) base_v9860)+3) ); /*1*/ } /*1*/ else { SOURCE(21245, 21) /*1*/ nlen_v19600 = ((* (( (ptr) base_v9860)+1) ) - start_v9888); SOURCE(21268, 23) /*1*/ start_v9888 = ((* (( (ptr) base_v9860)+5) ) - del2_v19688); SOURCE(21293, 13) /*1*/ base_v9860 = (* (( (ptr) base_v9860)+2) ); /*1*/ }; /*1*/ }; }; break; case 3: SOURCE(21325, 6) goto lab_L100140; default: SOURCE(21345, 12) (void) XR_RaiseError((word) (( (bPt) gf_c50264)+1124), 0); break; }; }; } else { SOURCE(21370, 12) (void) XR_RaiseError((word) (( (bPt) gf_c50264)+1124), 0); }; }; }; SOURCE(21384, 37) if (( (int)nlen_v19600 < (int)len_v9916)) { SOURCE(21403, 18) len_v9916 = nlen_v19600; }; }; goto lab_L100143; lab_L100140: ; (* (ptr) formal_c0541 ) = base_v9860; (* (( (ptr) formal_c0541)+1) ) = start_v9888; (* (( (ptr) formal_c0541)+2) ) = len_v9916; return; } static word IsEmpty_P1920(r_v9976) word r_v9976; { word var_c10020; /* IsEmpty: */ SOURCE(21436, 69) SOURCE(21487, 18) return( (unsigned) ( (int)(word) Size_P2100(r_v9976) == (int)0)); } static word Length_P1980(base_v10080) word base_v10080; { word var_c10124; /* Length: */ SOURCE(21511, 71) SOURCE(21563, 19) return((word) Size_P2100(base_v10080)); } static word InlineSize_P2040(base_v10184) word base_v10184; { word var_c10228; /* InlineSize: */ SOURCE(21588, 196) if ((base_v10184 == 0)) { SOURCE(21667, 10) return(0); } else { if (( (unsigned) (*(( short *)base_v10184 + 1)<0) == 0)) { SOURCE(21698, 20) return( (unsigned) ( (((unsigned)(* (hPt) base_v10184 ) << 17) >> 17) )); } else { SOURCE(21739, 45) SOURCE(21741, 41) return((* (( (ptr) base_v10184)+1) )); }; }; } static word Size_P2100(base_v10288) word base_v10288; { word var_c10332; /* Size: */ SOURCE(21791, 282) SOURCE(21841, 232) { word var_c46200; var_c46200 = base_v10288; if ((var_c46200 == 0)) { goto lab_L100144; }; { word var_c46232; var_c46232 = (unsigned) (*(int*)var_c46200<0); if ((var_c46232 == 0)) { { word base_v19772; base_v19772 = var_c46200; SOURCE(21896, 44) if (( (unsigned) (*(( short *)base_v19772 + 1)<0) == 0)) { SOURCE(21920, 20) return( (unsigned) ( (((unsigned)(* (hPt) base_v19772 ) << 17) >> 17) )); }; SOURCE(21950, 45) SOURCE(21952, 41) return((* (( (ptr) base_v19772)+1) )); }; } else { if ((var_c46232 == 1)) { { word base_v19840; base_v19840 = var_c46200; SOURCE(22032, 18) return(( (((unsigned)(* (ptr) base_v19840 ) << 1) >> 1) )); }; } else { lab_L100144: ; SOURCE(22063, 10) return(0); }; }; }; }; } static word Run_P2220(s1_v10496, pos1_v10524, s2_v10552, pos2_v10580, case_v10608, len_v10636) word s1_v10496; word pos1_v10524; word s2_v10552; word pos2_v10580; word case_v10608; word len_v10636; { word result_v10680; word len1_v19896; word str1_v19924 = 0; /* Run: */ SOURCE(22165, 948) SOURCE(22165, 948) result_v10680 = 0; SOURCE(22325, 29) { W2 var_c46424; { word var_c46296; var_c46296 = s1_v10496; if ((var_c46296 == 0)) { goto lab_L100145; }; { word var_c46392; var_c46392 = (unsigned) (*(( short *)var_c46296 + 1)<0); if ((var_c46392 == 0)) { { word text_v37568; text_v37568 = var_c46296; (* (ptr) (word) &var_c46424 ) = (unsigned) ( (((unsigned)(* (hPt) text_v37568 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c46424) + 1) ) = text_v37568; }; } else { if ((var_c46392 == 1)) { { word node_v37612; word var_c46360; word base_v37656; node_v37612 = var_c46296; base_v37656 = node_v37612; var_c46360 = (* (( (ptr) base_v37656)+1) ); (* (ptr) (word) &var_c46424 ) = var_c46360; (* (( (ptr) (word) &var_c46424) + 1) ) = 0; }; } else { lab_L100145: ; (* (ptr) (word) &var_c46424 ) = 0; (* (( (ptr) (word) &var_c46424) + 1) ) = 0; goto lab_L100146; }; }; }; }; lab_L100146: ; str1_v19924 = var_c46424.f1; len1_v19896 = var_c46424.f0; }; SOURCE(22356, 757) if (( (int)pos1_v10524 < (int)len1_v19896)) { SOURCE(22384, 743) { word len2_v19968; word str2_v19996 = 0; SOURCE(22410, 29) { W2 var_c46616; { word var_c46488; var_c46488 = s2_v10552; if ((var_c46488 == 0)) { goto lab_L100148; }; { word var_c46584; var_c46584 = (unsigned) (*(( short *)var_c46488 + 1)<0); if ((var_c46584 == 0)) { { word text_v37436; text_v37436 = var_c46488; (* (ptr) (word) &var_c46616 ) = (unsigned) ( (((unsigned)(* (hPt) text_v37436 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c46616) + 1) ) = text_v37436; }; } else { if ((var_c46584 == 1)) { { word node_v37480; word var_c46552; word base_v37524; node_v37480 = var_c46488; base_v37524 = node_v37480; var_c46552 = (* (( (ptr) base_v37524)+1) ); (* (ptr) (word) &var_c46616 ) = var_c46552; (* (( (ptr) (word) &var_c46616) + 1) ) = 0; }; } else { lab_L100148: ; (* (ptr) (word) &var_c46616 ) = 0; (* (( (ptr) (word) &var_c46616) + 1) ) = 0; goto lab_L100149; }; }; }; }; lab_L100149: ; str2_v19996 = var_c46616.f1; len2_v19968 = var_c46616.f0; }; SOURCE(22441, 672) if (( (int)pos2_v10580 < (int)len2_v19968)) { SOURCE(22469, 655) { word r1_v20040 = 0; word r2_v20068 = 0; word st1_v20096 = 0; word sz1_v20124 = 0; word lm1_v20152 = 0; word st2_v20180 = 0; word sz2_v20208 = 0; word lm2_v20236 = 0; SOURCE(22534, 579) lab_L100153: ; if (( (int)result_v10680 < (int)len_v10636)) { } else { goto lab_L100151; }; SOURCE(22554, 116) if (( (int)st1_v20096 == (int)lm1_v20152)) { SOURCE(22574, 55) { W3 var_c46648; { W3 var_c0588; { word var_c0881; pos1_v10524 = (pos1_v10524 + sz1_v20124); var_c0881 = pos1_v10524; (void) ContainingPiece_P1860((word) &var_c0588, s1_v10496, var_c0881); }; var_c46648 = var_c0588; }; sz1_v20124 = var_c46648.f2; st1_v20096 = var_c46648.f1; r1_v20040 = var_c46648.f0; }; SOURCE(22631, 22) if (( (int)sz1_v20124 == (int)0)) { SOURCE(22647, 6) return(result_v10680); }; SOURCE(22655, 15) lm1_v20152 = (st1_v20096 + sz1_v20124); }; SOURCE(22675, 116) if (( (int)st2_v20180 == (int)lm2_v20236)) { SOURCE(22695, 55) { W3 var_c46680; { W3 var_c0590; { word var_c0882; pos2_v10580 = (pos2_v10580 + sz2_v20208); var_c0882 = pos2_v10580; (void) ContainingPiece_P1860((word) &var_c0590, s2_v10552, var_c0882); }; var_c46680 = var_c0590; }; sz2_v20208 = var_c46680.f2; st2_v20180 = var_c46680.f1; r2_v20068 = var_c46680.f0; }; SOURCE(22752, 22) if (( (int)sz2_v20208 == (int)0)) { SOURCE(22768, 6) return(result_v10680); }; SOURCE(22776, 15) lm2_v20236 = (st2_v20180 + sz2_v20208); }; SOURCE(22796, 265) { word c1_v20280; word c2_v20308; SOURCE(22798, 31) c1_v20280 = (word) Fetch_P420(r1_v20040, st1_v20096); SOURCE(22831, 31) c2_v20308 = (word) Fetch_P420(r2_v20068, st2_v20180); SOURCE(22864, 194) if ((c1_v20280 != c2_v20308)) { SOURCE(22880, 178) SOURCE(22882, 133) if ((0 == case_v10608)) { SOURCE(22901, 47) if ( ( (c1_v20280 <= 90) ? (c1_v20280 >= 65) : 0 ) ) { SOURCE(22931, 17) c1_v20280 = BCK((c1_v20280 + 32), 256); }; SOURCE(22950, 47) if ( ( (c2_v20308 <= 90) ? (c2_v20308 >= 65) : 0 ) ) { SOURCE(22980, 17) c2_v20308 = BCK((c2_v20308 + 32), 256); }; SOURCE(22999, 16) if ((c1_v20280 == c2_v20308)) { SOURCE(23015, 11) goto lab_L100154; }; }; SOURCE(23031, 6) return(result_v10680); /* c2c skipped dead code */ lab_L100154: ; }; }; SOURCE(23064, 19) result_v10680 = (result_v10680 + 1); SOURCE(23085, 13) st1_v20096 = (st1_v20096 + 1); SOURCE(23100, 13) st2_v20180 = (st2_v20180 + 1); goto lab_L100153; lab_L100151: ; }; }; }; }; SOURCE(22165, 948) return(result_v10680); } static word IsPrefix_P2280(prefix_v10740, subject_v10768, case_v10796) word prefix_v10740; word subject_v10768; word case_v10796; { word var_c10840; /* IsPrefix: */ SOURCE(23134, 150) SOURCE(23224, 60) return( (unsigned) ( (int)(word) Run_P2220(prefix_v10740, 0, subject_v10768, 0, case_v10796, 2147483647) == (int)(word) InlineSize_P2040( prefix_v10740))); } static word Index_P2340(formal_c0912, formal_c0913, formal_c0914, formal_c0915) word formal_c0912; word formal_c0913; word formal_c0914; word formal_c0915; { W14 var_c50296; /* declaration of s1_v10900 skipped */ /* declaration of pos1_v10928 skipped */ /* declaration of s2_v10956 skipped */ /* declaration of case_v10984 skipped */ word var_c11028; /* declaration of var_c46744 skipped */ /* declaration of var_c46776 skipped */ word len1_v20352; /* declaration of len2_v20380 skipped */ word rem_v20408; word both_v20436; (* (( (ptr) &var_c50296)+4)/* s1_v10900 */ ) = formal_c0912; (* (( (ptr) &var_c50296)+5)/* pos1_v10928 */ ) = formal_c0913; (* (( (ptr) &var_c50296)+6)/* s2_v10956 */ ) = formal_c0914; (* (( (ptr) &var_c50296)+7)/* case_v10984 */ ) = formal_c0915; /* Index: */ SOURCE(23290, 876) { word tmpAddr52; tmpAddr52 = (word) (( (ptr) &var_c50296)+8)/* var_c46744 */ ; (* (ptr) tmpAddr52 ) = ( ((word) (fPt) LCmp_P6756) ); (* (( (ptr) tmpAddr52) + 1) ) = 1; }; { word tmpAddr53; tmpAddr53 = (word) (( (ptr) &var_c50296)+10)/* var_c46776 */ ; (* (ptr) tmpAddr53 ) = ( ((word) (fPt) Cmp_P6648) ); (* (( (ptr) tmpAddr53) + 1) ) = 1; }; SOURCE(23419, 37) { W3 var_c47224; { word s1_v36340; word s2_v36368; word both_v36396; { word t1_v35072 = 0; word t2_v35104 = 0; { W2 var_c47000; { word var_c46872; var_c46872 = (* (( (ptr) &var_c50296)+4)/* s1_v10900 */ ); if ((var_c46872 == 0)) { goto lab_L100156; }; { word var_c46968; var_c46968 = (unsigned) (*(( short *)var_c46872 + 1)<0); if ((var_c46968 == 0)) { { word text_v35576; text_v35576 = var_c46872; (* (ptr) (word) &var_c47000 ) = (unsigned) ( (((unsigned)(* (hPt) text_v35576 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c47000) + 1) ) = text_v35576; }; } else { if ((var_c46968 == 1)) { { /*1*/ word node_v35624; /*1*/ word var_c46936; /*1*/ word base_v35656; /*1*/ node_v35624 = var_c46872; /*1*/ base_v35656 = node_v35624; /*1*/ var_c46936 = (* (( (ptr) base_v35656)+1) ); /*1*/ (* (ptr) (word) &var_c47000 ) = var_c46936; /*1*/ (* (( (ptr) (word) &var_c47000) + 1) ) = 0; /*1*/ }; } else { lab_L100156: ; (* (ptr) (word) &var_c47000 ) = 0; (* (( (ptr) (word) &var_c47000) + 1) ) = 0; goto lab_L100157; }; }; }; }; lab_L100157: ; t1_v35072 = var_c47000.f1; s1_v36340 = var_c47000.f0; }; { W2 var_c47192; { word var_c47064; var_c47064 = (* (( (ptr) &var_c50296)+6)/* s2_v10956 */ ); if ((var_c47064 == 0)) { goto lab_L100159; }; { word var_c47160; var_c47160 = (unsigned) (*(( short *)var_c47064 + 1)<0); if ((var_c47160 == 0)) { { word text_v35720; text_v35720 = var_c47064; (* (ptr) (word) &var_c47192 ) = (unsigned) ( (((unsigned)(* (hPt) text_v35720 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c47192) + 1) ) = text_v35720; }; } else { if ((var_c47160 == 1)) { { /*1*/ word node_v35768; /*1*/ word var_c47128; /*1*/ word base_v35800; /*1*/ node_v35768 = var_c47064; /*1*/ base_v35800 = node_v35768; /*1*/ var_c47128 = (* (( (ptr) base_v35800)+1) ); /*1*/ (* (ptr) (word) &var_c47192 ) = var_c47128; /*1*/ (* (( (ptr) (word) &var_c47192) + 1) ) = 0; /*1*/ }; } else { lab_L100159: ; (* (ptr) (word) &var_c47192 ) = 0; (* (( (ptr) (word) &var_c47192) + 1) ) = 0; goto lab_L100160; }; }; }; }; lab_L100160: ; t2_v35104 = var_c47192.f1; s2_v36368 = var_c47192.f0; }; if ((t1_v35072 != 0)) { both_v36396 = (unsigned) (t2_v35104 != 0); } else { both_v36396 = (unsigned) 0; }; (* (ptr) (word) &var_c47224 ) = s1_v36340; (* (( (ptr) (word) &var_c47224) + 1) ) = s2_v36368; (* (( (ptr) (word) &var_c47224) + 2) ) = both_v36396; }; }; both_v20436 = var_c47224.f2; (* (( (ptr) &var_c50296)+12)/* len2_v20380 */ ) = var_c47224.f1; len1_v20352 = var_c47224.f0; }; SOURCE(23458, 53) if (( (int)(* (( (ptr) &var_c50296)+5)/* pos1_v10928 */ ) >= (int)len1_v20352)) { rem_v20408 = 0; } else { rem_v20408 = (len1_v20352 - (* (( (ptr) &var_c50296)+5)/* pos1_v10928 */ )); }; SOURCE(23513, 632) if (( (int)rem_v20408 >= (int)(* (( (ptr) &var_c50296)+12)/* len2_v20380 */ ))) { SOURCE(23533, 617) { /* declaration of c_v20480 skipped */ SOURCE(23544, 30) if (( (int)(* (( (ptr) &var_c50296)+12)/* len2_v20380 */ ) == (int)0)) { SOURCE(23561, 13) return((* (( (ptr) &var_c50296)+5)/* pos1_v10928 */ )); }; SOURCE(23576, 22) (* (( (ptr) &var_c50296)+13)/* c_v20480 */ ) = (word) Fetch_P420((* (( (ptr) &var_c50296)+6)/* s2_v10956 */ ), 0); SOURCE(23600, 20) rem_v20408 = ((rem_v20408 - (* (( (ptr) &var_c50296)+12)/* len2_v20380 */ )) + 1); SOURCE(23622, 523) if ((0 != (* (( (ptr) &var_c50296)+7)/* case_v10984 */ ))) { SOURCE(23635, 204) SOURCE(23793, 46) if ((0 != (word) Map_P480((* (( (ptr) &var_c50296)+4)/* s1_v10900 */ ), (* (( (ptr) &var_c50296)+5)/* pos1_v10928 */ ), rem_v20408, (word) ( ( (bPt) &var_c50296)+40)/* var_c46776 */ ))) { SOURCE(23825, 14) return((* (( (ptr) &var_c50296)+5)/* pos1_v10928 */ )); }; } else { SOURCE(23846, 301) SOURCE(24054, 43) if ( ( ((* (( (ptr) &var_c50296)+13)/* c_v20480 */ ) <= 90) ? ((* (( (ptr) &var_c50296)+13)/* c_v20480 */ ) >= 65) : 0 ) ) { SOURCE(24082, 15) { word idx54; (* (( (ptr) &var_c50296)+13)/* c_v20480 */ ) = ( idx54 = (word) ((* (( (ptr) &var_c50296)+13)/* c_v20480 */ ) + 32), BCK(idx54, 256) ); }; }; SOURCE(24099, 46) if ((0 != (word) Map_P480((* (( (ptr) &var_c50296)+4)/* s1_v10900 */ ), (* (( (ptr) &var_c50296)+5)/* pos1_v10928 */ ), rem_v20408, (word) ( ( (bPt) &var_c50296)+32)/* var_c46744 */ ))) { SOURCE(24132, 13) return((* (( (ptr) &var_c50296)+5)/* pos1_v10928 */ )); }; }; }; }; SOURCE(24153, 13) return(len1_v20352); } static word Cmp_P6648(cc_v20600, formal_c50328) word cc_v20600; word formal_c50328; { word var_c20644; formal_c50328 = (formal_c50328 - 40); /* Cmp: */ SOURCE(23637, 11) SOURCE(23685, 70) if ( ( ((* (( (ptr) formal_c50328)+13) ) == cc_v20600) ? ( (int)((word) Run_P2220((* (( (ptr) formal_c50328)+4) ), ((* (( (ptr) formal_c50328)+5) ) + 1), (* (( (ptr) formal_c50328)+6) ), 1, (* (( (ptr) formal_c50328)+7) ), 2147483647) + 1) == (int)(* (( (ptr) formal_c50328)+12) )) : 0 ) ) { SOURCE(23742, 13) return(1); }; SOURCE(23757, 15) (* (( (ptr) formal_c50328)+5) ) = ((* (( (ptr) formal_c50328)+5) ) + 1); SOURCE(23774, 14) return(0); } static word LCmp_P6756(cc_v20748, formal_c50360) word cc_v20748; word formal_c50360; { word var_c20792; formal_c50360 = (formal_c50360 - 32); /* LCmp: */ SOURCE(23848, 12) SOURCE(23897, 47) if ( ( (cc_v20748 <= 90) ? (cc_v20748 >= 65) : 0 ) ) { SOURCE(23927, 17) cc_v20748 = BCK((cc_v20748 + 32), 256); }; SOURCE(23946, 70) if ( ( ((* (( (ptr) formal_c50360)+13) ) == cc_v20748) ? ( (int)((word) Run_P2220((* (( (ptr) formal_c50360)+4) ), ((* (( (ptr) formal_c50360)+5) ) + 1), (* (( (ptr) formal_c50360)+6) ), 1, (* (( (ptr) formal_c50360)+7) ), 2147483647) + 1) == (int)(* (( (ptr) formal_c50360)+12) )) : 0 ) ) { SOURCE(24003, 13) return(1); }; SOURCE(24018, 15) (* (( (ptr) formal_c50360)+5) ) = ((* (( (ptr) formal_c50360)+5) ) + 1); SOURCE(24035, 14) return(0); } static word Find_P2400(s1_v11088, s2_v11116, pos1_v11144, case_v11172) word s1_v11088; word s2_v11116; word pos1_v11144; word case_v11172; { word var_c11216; word index_v20820; /* Find: */ SOURCE(24173, 183) SOURCE(24258, 38) index_v20820 = (word) Index_P2340(s1_v11088, pos1_v11144, s2_v11116, case_v11172); SOURCE(24298, 42) if (( (int)index_v20820 == (int)(word) InlineSize_P2040(s1_v11088))) { SOURCE(24329, 11) return( (word) -1); }; SOURCE(24342, 14) return(index_v20820); } static word FindBackward_P2460(s1_v11276, s2_v11304, pos1_v11332, case_v11360) word s1_v11276; word s2_v11304; word pos1_v11332; word case_v11360; { word var_c11404; word len1_v20864; word len2_v20892; word both_v20920; /* FindBackward: */ SOURCE(24362, 848) SOURCE(24489, 37) { W3 var_c47672; { word s1_v35916; word s2_v35944; word both_v35972; { word t1_v36004 = 0; word t2_v36032 = 0; { W2 var_c47448; { word var_c47320; var_c47320 = s1_v11276; if ((var_c47320 == 0)) { goto lab_L100163; }; { word var_c47416; var_c47416 = (unsigned) (*(( short *)var_c47320 + 1)<0); if ((var_c47416 == 0)) { { word text_v36076; text_v36076 = var_c47320; (* (ptr) (word) &var_c47448 ) = (unsigned) ( (((unsigned)(* (hPt) text_v36076 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c47448) + 1) ) = text_v36076; }; } else { if ((var_c47416 == 1)) { { /*1*/ word node_v36120; /*1*/ word var_c47384; /*1*/ word base_v36164; /*1*/ node_v36120 = var_c47320; /*1*/ base_v36164 = node_v36120; /*1*/ var_c47384 = (* (( (ptr) base_v36164)+1) ); /*1*/ (* (ptr) (word) &var_c47448 ) = var_c47384; /*1*/ (* (( (ptr) (word) &var_c47448) + 1) ) = 0; /*1*/ }; } else { lab_L100163: ; (* (ptr) (word) &var_c47448 ) = 0; (* (( (ptr) (word) &var_c47448) + 1) ) = 0; goto lab_L100164; }; }; }; }; lab_L100164: ; t1_v36004 = var_c47448.f1; s1_v35916 = var_c47448.f0; }; { W2 var_c47640; { word var_c47512; var_c47512 = s2_v11304; if ((var_c47512 == 0)) { goto lab_L100166; }; { word var_c47608; var_c47608 = (unsigned) (*(( short *)var_c47512 + 1)<0); if ((var_c47608 == 0)) { { word text_v36208; text_v36208 = var_c47512; (* (ptr) (word) &var_c47640 ) = (unsigned) ( (((unsigned)(* (hPt) text_v36208 ) << 17) >> 17) ); (* (( (ptr) (word) &var_c47640) + 1) ) = text_v36208; }; } else { if ((var_c47608 == 1)) { { /*1*/ word node_v36252; /*1*/ word var_c47576; /*1*/ word base_v36296; /*1*/ node_v36252 = var_c47512; /*1*/ base_v36296 = node_v36252; /*1*/ var_c47576 = (* (( (ptr) base_v36296)+1) ); /*1*/ (* (ptr) (word) &var_c47640 ) = var_c47576; /*1*/ (* (( (ptr) (word) &var_c47640) + 1) ) = 0; /*1*/ }; } else { lab_L100166: ; (* (ptr) (word) &var_c47640 ) = 0; (* (( (ptr) (word) &var_c47640) + 1) ) = 0; goto lab_L100167; }; }; }; }; lab_L100167: ; t2_v36032 = var_c47640.f1; s2_v35944 = var_c47640.f0; }; if ((t1_v36004 != 0)) { both_v35972 = (unsigned) (t2_v36032 != 0); } else { both_v35972 = (unsigned) 0; }; (* (ptr) (word) &var_c47672 ) = s1_v35916; (* (( (ptr) (word) &var_c47672) + 1) ) = s2_v35944; (* (( (ptr) (word) &var_c47672) + 2) ) = both_v35972; }; }; both_v20920 = var_c47672.f2; len2_v20892 = var_c47672.f1; len1_v20864 = var_c47672.f0; }; SOURCE(24528, 37) if (( (int)pos1_v11332 > (int)len1_v20864)) { SOURCE(24554, 11) pos1_v11332 = len1_v20864; }; SOURCE(24567, 30) if (( (int)len2_v20892 == (int)0)) { SOURCE(24584, 13) return(pos1_v11332); }; SOURCE(24599, 583) if (( (int)len1_v20864 >= (int)len2_v20892)) { SOURCE(24620, 576) { word c2_v20964; word rem2_v20992; SOURCE(24622, 29) c2_v20964 = (word) Fetch_P420(s2_v11304, 0); SOURCE(24678, 18) rem2_v20992 = (len2_v20892 - 1); SOURCE(24728, 41) if (( (int)(len1_v20864 - pos1_v11332) < (int)len2_v20892)) { SOURCE(24753, 16) pos1_v11332 = (len1_v20864 - len2_v20892); }; SOURCE(24771, 411) if ((0 != case_v11360)) { SOURCE(24786, 139) { register word i_v21036; i_v21036 = pos1_v11332; if (( (int)0 > (int)i_v21036)) { goto lab_L100170; }; lab_L100173: ; { word c1_v21080; SOURCE(24823, 29) c1_v21080 = (word) Fetch_P420(s1_v11276, i_v21036); SOURCE(24854, 71) if ( ( (c1_v21080 == c2_v20964) ? ( ( (int)rem2_v20992 == (int)0) ? 1 : ( (int)(word) Run_P2220(s1_v11276, (i_v21036 + 1), s2_v11304, 1, case_v11360, 2147483647) == (int)rem2_v20992) ) : 0 ) ) { SOURCE(24915, 10) return(i_v21036); }; }; if (( (int)0 >= (int)i_v21036)) { goto lab_L100170; }; i_v21036 = (i_v21036 - 1); goto lab_L100173; lab_L100170: ; }; } else { SOURCE(24945, 47) if ( ( (c2_v20964 <= 90) ? (c2_v20964 >= 65) : 0 ) ) { SOURCE(24975, 17) c2_v20964 = BCK((c2_v20964 + 32), 256); }; SOURCE(24994, 188) { register word i_v21124; i_v21124 = pos1_v11332; if (( (int)0 > (int)i_v21124)) { goto lab_L100174; }; lab_L100177: ; { word c1_v21168; SOURCE(25031, 29) c1_v21168 = (word) Fetch_P420(s1_v11276, i_v21124); SOURCE(25062, 47) if ( ( (c1_v21168 <= 90) ? (c1_v21168 >= 65) : 0 ) ) { SOURCE(25092, 17) c1_v21168 = BCK((c1_v21168 + 32), 256); }; SOURCE(25111, 71) if ( ( (c1_v21168 == c2_v20964) ? ( ( (int)rem2_v20992 == (int)0) ? 1 : ( (int)(word) Run_P2220(s1_v11276, (i_v21124 + 1), s2_v11304, 1, case_v11360, 2147483647) == (int)rem2_v20992) ) : 0 ) ) { SOURCE(25172, 10) return(i_v21124); }; }; if (( (int)0 >= (int)i_v21124)) { goto lab_L100174; }; i_v21124 = (i_v21124 - 1); goto lab_L100177; lab_L100174: ; }; }; }; }; SOURCE(25199, 11) return( (word) -1); } static word Match_P2520(formal_c0916, formal_c0917, formal_c0918) word formal_c0916; word formal_c0917; word formal_c0918; { W9 var_c50392; /* declaration of pattern_v11464 skipped */ /* declaration of object_v11492 skipped */ /* declaration of case_v11520 skipped */ word var_c11564; /* declaration of var_c47704 skipped */ word len1_v21240; word len2_v21268; (* (( (ptr) &var_c50392)+4)/* pattern_v11464 */ ) = formal_c0916; (* (( (ptr) &var_c50392)+5)/* object_v11492 */ ) = formal_c0917; (* (( (ptr) &var_c50392)+6)/* case_v11520 */ ) = formal_c0918; /* Match: */ SOURCE(25216, 1289) { word tmpAddr55; tmpAddr55 = (word) (( (ptr) &var_c50392)+7)/* var_c47704 */ ; (* (ptr) tmpAddr55 ) = ( ((word) (fPt) submatch_P7056) ); (* (( (ptr) tmpAddr55) + 1) ) = 1; }; SOURCE(26045, 31) len1_v21240 = (word) InlineSize_P2040((* ((( (ptr) &var_c50392)+4)/* pattern_v11464 */ ) )); SOURCE(26078, 30) len2_v21268 = (word) InlineSize_P2040((* ((( (ptr) &var_c50392)+5)/* object_v11492 */ ) )); SOURCE(26110, 348) lab_L100180: ; if (( (int)len1_v21240 > (int)0)) { } else { goto lab_L100178; }; { word n_v21500; word c1_v21528; word c2_v21556; SOURCE(26128, 17) n_v21500 = (len1_v21240 - 1); SOURCE(26147, 34) c1_v21528 = (word) Fetch_P420((* (( (ptr) &var_c50392)+4)/* pattern_v11464 */ ), n_v21500); SOURCE(26193, 16) if ((c1_v21528 == 42)) { SOURCE(26209, 4) goto lab_L100179; }; SOURCE(26215, 31) if (( (int)len2_v21268 == (int)0)) { SOURCE(26232, 14) return(0); }; SOURCE(26248, 8) len1_v21240 = n_v21500; SOURCE(26258, 15) len2_v21268 = (len2_v21268 - 1); SOURCE(26275, 30) c2_v21556 = (word) Fetch_P420((* (( (ptr) &var_c50392)+5)/* object_v11492 */ ), len2_v21268); SOURCE(26307, 116) if ((0 == (* (( (ptr) &var_c50392)+6)/* case_v11520 */ ))) { SOURCE(26327, 47) if ( ( (c1_v21528 <= 90) ? (c1_v21528 >= 65) : 0 ) ) { SOURCE(26357, 17) c1_v21528 = BCK((c1_v21528 + 32), 256); }; SOURCE(26376, 47) if ( ( (c2_v21556 <= 90) ? (c2_v21556 >= 65) : 0 ) ) { SOURCE(26406, 17) c2_v21556 = BCK((c2_v21556 + 32), 256); }; }; SOURCE(26428, 30) if ((c1_v21528 != c2_v21556)) { SOURCE(26444, 14) return(0); }; }; goto lab_L100180; lab_L100178: ; lab_L100179: ; SOURCE(26469, 36) return((word) submatch_P7056(0, len1_v21240, 0, len2_v21268, (word) (( (bPt) &var_c50392)+28)/* var_c47704 */ )); } static word submatch_P7056(i1_v21344, len1_v21372, i2_v21400, len2_v21428, formal_c50424) word i1_v21344; word len1_v21372; word i2_v21400; word len2_v21428; word formal_c50424; { word var_c21472; formal_c50424 = (formal_c50424 - 28); /* submatch: */ SOURCE(25305, 735) SOURCE(25388, 624) lab_L100183: ; if (( (int)len1_v21372 > (int)0)) { } else { goto lab_L100181; }; { word c1_v21600; SOURCE(25406, 35) c1_v21600 = (word) Fetch_P420((* (( (ptr) formal_c50424)+4) ), i1_v21344); SOURCE(25443, 280) if ((c1_v21600 == 42)) { SOURCE(25461, 30) if (( (int)len1_v21372 == (int)1)) { SOURCE(25478, 13) return(1); }; SOURCE(25493, 213) { word j1_v21644; word nlen1_v21672; word j2_v21700; word nlen2_v21728; SOURCE(25517, 16) j1_v21644 = (i1_v21344 + 1); SOURCE(25535, 21) nlen1_v21672 = (len1_v21372 - 1); SOURCE(25558, 12) j2_v21700 = i2_v21400; SOURCE(25572, 17) nlen2_v21728 = len2_v21428; SOURCE(25591, 104) lab_L100186: ; if (( (int)nlen2_v21728 >= (int)0)) { } else { goto lab_L100184; }; SOURCE(25611, 52) if ((0 != (word) submatch_P7056(j1_v21644, nlen1_v21672, j2_v21700, nlen2_v21728, (word) (( (bPt) formal_c50424)+28)))) { SOURCE(25650, 13) return(1); }; SOURCE(25665, 11) j2_v21700 = (j2_v21700 + 1); SOURCE(25678, 17) nlen2_v21728 = (nlen2_v21728 - 1); goto lab_L100186; lab_L100184: ; }; SOURCE(25709, 14) return(0); }; SOURCE(25728, 32) if (( (int)len2_v21428 <= (int)0)) { SOURCE(25746, 14) return(0); }; SOURCE(25762, 189) { word c2_v21772; SOURCE(25763, 34) c2_v21772 = (word) Fetch_P420((* (( (ptr) formal_c50424)+5) ), i2_v21400); SOURCE(25799, 115) if ((0 == (* (( (ptr) formal_c50424)+6) ))) { SOURCE(25818, 47) if ( ( (c1_v21600 <= 90) ? (c1_v21600 >= 65) : 0 ) ) { SOURCE(25848, 17) c1_v21600 = BCK((c1_v21600 + 32), 256); }; SOURCE(25867, 47) if ( ( (c2_v21772 <= 90) ? (c2_v21772 >= 65) : 0 ) ) { SOURCE(25897, 17) c2_v21772 = BCK((c2_v21772 + 32), 256); }; }; SOURCE(25919, 30) if ((c1_v21600 != c2_v21772)) { SOURCE(25935, 14) return(0); }; }; SOURCE(25954, 11) i1_v21344 = (i1_v21344 + 1); SOURCE(25967, 15) len1_v21372 = (len1_v21372 - 1); SOURCE(25984, 11) i2_v21400 = (i2_v21400 + 1); SOURCE(25997, 15) len2_v21428 = (len2_v21428 - 1); }; goto lab_L100183; lab_L100181: ; SOURCE(26023, 17) return( (unsigned) ( (int)len2_v21428 == (int)0)); } static word SkipTo_P2580(s_v11624, formal_c0919, skip_v11680) word s_v11624; word formal_c0919; word skip_v11680; { W9 var_c50456; /* declaration of pos_v11652 skipped */ word var_c11724; /* declaration of var_c47768 skipped */ word len_v21816; /* declaration of skipText_v21844 skipped */ /* declaration of skiplen_v21872 skipped */ (* (( (ptr) &var_c50456)+4)/* pos_v11652 */ ) = formal_c0919; /* SkipTo: */ SOURCE(26512, 475) { word tmpAddr56; tmpAddr56 = (word) (( (ptr) &var_c50456)+5)/* var_c47768 */ ; (* (ptr) tmpAddr56 ) = ( ((word) (fPt) CharMatch_P7356) ); (* (( (ptr) tmpAddr56) + 1) ) = 1; }; SOURCE(26590, 24) len_v21816 = (word) InlineSize_P2040(s_v11624); SOURCE(26616, 35) (* (( (ptr) &var_c50456)+7)/* skipText_v21844 */ ) = (word) Flatten_P720(skip_v11680, 0, 2147483647); SOURCE(26653, 60) { word tc57; if (((* (( (ptr) &var_c50456)+7)/* skipText_v21844 */ ) == 0)) { tc57 = (word) 0; } else { tc57 = (word) (unsigned) ( (((unsigned)(* (hPt) (* (( (ptr) &var_c50456)+7)/* skipText_v21844 */ ) ) << 17) >> 17) ); }; (* (( (ptr) &var_c50456)+8)/* skiplen_v21872 */ ) = tc57; }; SOURCE(26715, 255) if ( ( ( (int)(* (( (ptr) &var_c50456)+4)/* pos_v11652 */ ) < (int)len_v21816) ? ((* (( (ptr) &var_c50456)+8)/* skiplen_v21872 */ ) != 0) : 0 ) ) { SOURCE(26749, 223) SOURCE(26916, 54) if ((0 != (word) Map_P480(s_v11624, (* (( (ptr) &var_c50456)+4)/* pos_v11652 */ ), (len_v21816 - (* (( (ptr) &var_c50456)+4) /* pos_v11652 */ )), (word) (( (bPt) &var_c50456)+20)/* var_c47768 */ ))) { SOURCE(26958, 12) return((* (( (ptr) &var_c50456)+4)/* pos_v11652 */ )); }; }; SOURCE(26975, 12) return(len_v21816); } static word CharMatch_P7356(c_v21992, formal_c50488) word c_v21992; word formal_c50488; { word var_c22036; formal_c50488 = (formal_c50488 - 20); /* CharMatch: */ SOURCE(26751, 17) SOURCE(26804, 67) { register word i_v22064 = 0; register word noName_c47800; noName_c47800 = (* (( (ptr) formal_c50488)+8) ); if ((i_v22064 >= noName_c47800)) { goto lab_L100187; }; lab_L100190: ; SOURCE(26834, 37) { word limit58; if ((c_v21992 == (unsigned) (word) (* ((( (bPt) (* (( (ptr) formal_c50488)+7) ))+4)+( limit58 = (word) (unsigned) ( (((unsigned)(* (( (hPt) (* (( (ptr) formal_c50488)+7) ))+1) ) << 17) >> 17) ), BCK(i_v22064, limit58) )) ))) { SOURCE(26858, 13) return(1); }; }; i_v22064 = (i_v22064 + 1); if ((i_v22064 < noName_c47800)) { goto lab_L100190; }; lab_L100187: ; }; SOURCE(26882, 13) (* (( (ptr) formal_c50488)+4) ) = ((* (( (ptr) formal_c50488)+4) ) + 1); SOURCE(26897, 14) return(0); } static word SkipOver_P2640(s_v11784, formal_c0920, skip_v11840) word s_v11784; word formal_c0920; word skip_v11840; { W9 var_c50520; /* declaration of pos_v11812 skipped */ word var_c11884; /* declaration of var_c47832 skipped */ word len_v22108; /* declaration of skipText_v22136 skipped */ /* declaration of skiplen_v22164 skipped */ (* (( (ptr) &var_c50520)+4)/* pos_v11812 */ ) = formal_c0920; /* SkipOver: */ SOURCE(26995, 526) { word tmpAddr59; tmpAddr59 = (word) (( (ptr) &var_c50520)+5)/* var_c47832 */ ; (* (ptr) tmpAddr59 ) = ( ((word) (fPt) CharMatch_P7512) ); (* (( (ptr) tmpAddr59) + 1) ) = 1; }; SOURCE(27075, 24) len_v22108 = (word) InlineSize_P2040(s_v11784); SOURCE(27101, 35) (* (( (ptr) &var_c50520)+7)/* skipText_v22136 */ ) = (word) Flatten_P720(skip_v11840, 0, 2147483647); SOURCE(27138, 60) { word tc60; if (((* (( (ptr) &var_c50520)+7)/* skipText_v22136 */ ) == 0)) { tc60 = (word) 0; } else { tc60 = (word) (unsigned) ( (((unsigned)(* (hPt) (* (( (ptr) &var_c50520)+7)/* skipText_v22136 */ ) ) << 17) >> 17) ); }; (* (( (ptr) &var_c50520)+8)/* skiplen_v22164 */ ) = tc60; }; SOURCE(27200, 31) if (( (int)(* (( (ptr) &var_c50520)+4)/* pos_v11812 */ ) >= (int)len_v22108)) { SOURCE(27219, 12) return(len_v22108); }; SOURCE(27233, 271) if (((* (( (ptr) &var_c50520)+8)/* skiplen_v22164 */ ) != 0)) { SOURCE(27253, 253) SOURCE(27450, 54) if ((0 != (word) Map_P480(s_v11784, (* (( (ptr) &var_c50520)+4)/* pos_v11812 */ ), (len_v22108 - (* (( (ptr) &var_c50520)+4) /* pos_v11812 */ )), (word) (( (bPt) &var_c50520)+20)/* var_c47832 */ ))) { SOURCE(27492, 12) return((* (( (ptr) &var_c50520)+4)/* pos_v11812 */ )); }; }; SOURCE(27509, 12) return((* (( (ptr) &var_c50520)+4)/* pos_v11812 */ )); } static word CharMatch_P7512(c_v22284, formal_c50552) word c_v22284; word formal_c50552; { word var_c22328; formal_c50552 = (formal_c50552 - 20); /* CharMatch: */ SOURCE(27255, 17) SOURCE(27306, 141) SOURCE(27308, 54) { register word i_v22356 = 0; register word noName_c47864; noName_c47864 = (* (( (ptr) formal_c50552)+8) ); if ((i_v22356 >= noName_c47864)) { goto lab_L100192; }; lab_L100195: ; SOURCE(27338, 24) { word limit61; if ((c_v22284 == (unsigned) (word) (* ((( (bPt) (* (( (ptr) formal_c50552)+7) ))+4)+( limit61 = (word) (unsigned) ( (((unsigned)(* (( (hPt) (* (( (ptr) formal_c50552)+7) ))+1) ) << 17) >> 17) ), BCK(i_v22356, limit61) )) ))) { SOURCE(27362, 11) goto lab_L100191; }; }; i_v22356 = (i_v22356 + 1); if ((i_v22356 < noName_c47864)) { goto lab_L100195; }; lab_L100192: ; }; SOURCE(27384, 13) return(1); /* c2c skipped dead code */ lab_L100191: ; SOURCE(27415, 13) (* (( (ptr) formal_c50552)+4) ) = ((* (( (ptr) formal_c50552)+4) ) + 1); SOURCE(27430, 14) return(0); } static void VerifyStructure_P2700(formal_c0753, s_v11944) word formal_c0753; word s_v11944; { register ptr gf_c50584 = (ptr) &globalframe; word leaves_v11988; word nodes_v12016; word maxDepth_v12044; /* VerifyStructure: */ SOURCE(27527, 1715) SOURCE(27527, 1715) leaves_v11988 = 0; SOURCE(27527, 1715) nodes_v12016 = 0; SOURCE(27527, 1715) maxDepth_v12044 = 0; { word var_c48120; SOURCE(27619, 22) if ((s_v11944 == 0)) { SOURCE(27635, 6) goto lab_L100197; }; SOURCE(27643, 1520) { word var_c47896; var_c47896 = (unsigned) (*(( short *)s_v11944 + 1)<0); if ((var_c47896 == 0)) { SOURCE(27675, 10) leaves_v11988 = 1; SOURCE(27687, 43) if (( (unsigned) ( (((unsigned)(* (hPt) s_v11944 ) << 17) >> 17) ) > (unsigned) ( (((unsigned)(* (( (hPt) s_v11944)+1) ) << 17) >> 17) ))) { SOURCE(27712, 18) (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); }; } else { if ((var_c47896 == 1)) { SOURCE(27741, 1397) { word var_c47928; var_c47928 = (unsigned) ((* (( (bPt) s_v11944)+3) ) & 3); switch (var_c47928) { case 0: SOURCE(27773, 222) { word ref_v22400; word len1_v22428; SOURCE(27775, 18) ref_v22400 = (* (( (ptr) s_v11944)+2) ); SOURCE(27795, 24) len1_v22428 = (word) Size_P2100((* ((( (ptr) s_v11944)+2)) )); SOURCE(27821, 53) if (( (int)(* (( (ptr) s_v11944)+3) ) < (int)0) || ( (int)(* (( (ptr) s_v11944)+1) ) <= (int)0)) { SOURCE(27856, 18) /*1*/ (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); /*1*/ }; SOURCE(27876, 50) if (( (int)len1_v22428 < (int)((* (( (ptr) s_v11944)+3) ) + (* (( (ptr) s_v11944)+1) )))) { SOURCE(27908, 18) /*1*/ (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); /*1*/ }; SOURCE(27928, 48) { /*1*/ W3 var_c47960; /*1*/ (void) VerifyStructure_P2700((word) &var_c47960, ref_v22400); /*1*/ maxDepth_v12044 = var_c47960.f2; /*1*/ nodes_v12016 = var_c47960.f1; /*1*/ leaves_v11988 = var_c47960.f0; /*1*/ }; SOURCE(27978, 17) nodes_v12016 = (nodes_v12016 + 1); }; break; case 1: SOURCE(28008, 432) { word leaves1_v22472; word nodes1_v22500; word maxDepth1_v22528; word left_v22556; word lSize_v22584; word right_v22612; word rSize_v22640; SOURCE(28041, 19) left_v22556 = (* (( (ptr) s_v11944)+2) ); SOURCE(28062, 23) lSize_v22584 = (word) Size_P2100(left_v22556); SOURCE(28087, 20) right_v22612 = (* (( (ptr) s_v11944)+3) ); SOURCE(28109, 24) rSize_v22640 = (word) Size_P2100(right_v22612); SOURCE(28135, 52) { /*1*/ W3 var_c47992; /*1*/ (void) VerifyStructure_P2700((word) &var_c47992, left_v22556); /*1*/ maxDepth1_v22528 = var_c47992.f2; /*1*/ nodes1_v22500 = var_c47992.f1; /*1*/ leaves1_v22472 = var_c47992.f0; /*1*/ }; SOURCE(28189, 50) { /*1*/ W3 var_c48024; /*1*/ (void) VerifyStructure_P2700((word) &var_c48024, right_v22612); /*1*/ maxDepth_v12044 = var_c48024.f2; /*1*/ nodes_v12016 = var_c48024.f1; /*1*/ leaves_v11988 = var_c48024.f0; /*1*/ }; SOURCE(28241, 25) leaves_v11988 = (leaves_v11988 + leaves1_v22472); SOURCE(28268, 26) nodes_v12016 = ((nodes_v12016 + nodes1_v22500) + 1); SOURCE(28296, 49) if (( (int)maxDepth1_v22528 > (int)maxDepth_v12044)) { SOURCE(28325, 20) /*1*/ maxDepth_v12044 = maxDepth1_v22528; /*1*/ }; SOURCE(28347, 49) if (( (int)(* (( (ptr) s_v11944)+1) ) != (int)(lSize_v22584 + rSize_v22640))) { SOURCE(28378, 18) /*1*/ (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); /*1*/ }; SOURCE(28398, 40) if (( (int)(* (( (ptr) s_v11944)+4) ) != (int)lSize_v22584)) { SOURCE(28420, 18) /*1*/ (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); /*1*/ }; }; break; case 2: SOURCE(28454, 575) { word leaves1_v22684; word nodes1_v22712; word maxDepth1_v22740; word old_v22768; word oldSize_v22796; word repl_v22824; word replSize_v22852; SOURCE(28487, 18) old_v22768 = (* (( (ptr) s_v11944)+2) ); SOURCE(28507, 24) oldSize_v22796 = (word) Size_P2100(old_v22768); SOURCE(28533, 22) repl_v22824 = (* (( (ptr) s_v11944)+3) ); SOURCE(28557, 26) replSize_v22852 = (word) Size_P2100(repl_v22824); SOURCE(28585, 48) { /*1*/ W3 var_c48056; /*1*/ (void) VerifyStructure_P2700((word) &var_c48056, old_v22768); /*1*/ maxDepth_v12044 = var_c48056.f2; /*1*/ nodes_v12016 = var_c48056.f1; /*1*/ leaves_v11988 = var_c48056.f0; /*1*/ }; SOURCE(28635, 52) { /*1*/ W3 var_c48088; /*1*/ (void) VerifyStructure_P2700((word) &var_c48088, repl_v22824); /*1*/ maxDepth1_v22740 = var_c48088.f2; /*1*/ nodes1_v22712 = var_c48088.f1; /*1*/ leaves1_v22684 = var_c48088.f0; /*1*/ }; SOURCE(28689, 25) leaves_v11988 = (leaves_v11988 + leaves1_v22684); SOURCE(28716, 26) nodes_v12016 = ((nodes_v12016 + nodes1_v22712) + 1); SOURCE(28744, 49) if (( (int)maxDepth_v12044 < (int)maxDepth1_v22740)) { SOURCE(28773, 20) /*1*/ maxDepth_v12044 = maxDepth1_v22740; /*1*/ }; SOURCE(28795, 67) if (( (int)(* (( (ptr) s_v11944)+4) ) > (int)(* (( (ptr) s_v11944)+5) )) || ( (int)(* (( (ptr) s_v11944)+4) ) > (int)(* ( /*1*/ ( (ptr) s_v11944)+6) ))) { SOURCE(28844, 18) /*1*/ (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); /*1*/ }; SOURCE(28864, 56) if (( (int)((* (( (ptr) s_v11944)+6) ) - (* (( (ptr) s_v11944)+4) )) != (int)replSize_v22852)) { SOURCE(28902, 18) /*1*/ (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); /*1*/ }; SOURCE(28922, 58) if (( (int)(* (( (ptr) s_v11944)+4) ) < (int)0) || ( (int)(* (( (ptr) s_v11944)+4) ) > (int)(* (( (ptr) s_v11944)+1) ))) { SOURCE(28962, 18) /*1*/ (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); /*1*/ }; SOURCE(28982, 45) if (( (int)(* (( (ptr) s_v11944)+5) ) > (int)oldSize_v22796)) { SOURCE(29009, 18) /*1*/ (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); /*1*/ }; }; break; case 3: SOURCE(29044, 10) leaves_v11988 = 1; SOURCE(29056, 54) if (( (int)(* (( (ptr) s_v11944)+1) ) < (int)0) || ((* (( (ptr) s_v11944)+3) ) == 0)) { SOURCE(29092, 18) (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); }; break; default: SOURCE(29126, 12) (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1124), 0); break; }; }; } else { SOURCE(29151, 12) (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1124), 0); }; }; }; SOURCE(29165, 23) maxDepth_v12044 = (maxDepth_v12044 + 1); SOURCE(29190, 52) { word x62; if ((s_v11944 == 0)) { var_c48120 = 0; goto lab_L100198; }; { word var_c48152; var_c48152 = s_v11944; if ((var_c48152 == 0)) { goto lab_L100199; }; if (( (unsigned) (*(( short *)var_c48152 + 1)<0) == 1)) { { word node_v36928; node_v36928 = var_c48152; var_c48120 = (unsigned) (((unsigned)(* (( (hPt) node_v36928)+1) ) << 17) >> 19); }; } else { lab_L100199: ; var_c48120 = 1; goto lab_L100198; }; }; lab_L100198: ; x62 = (word) ( (int)maxDepth_v12044 != (int)var_c48120); if (x62) { SOURCE(29224, 18) (void) XR_RaiseError((word) (( (bPt) gf_c50584)+1128), 0); }; }; }; /* removed tail goto */ lab_L100197: ; (* (ptr) formal_c0753 ) = leaves_v11988; (* (( (ptr) formal_c0753)+1) ) = nodes_v12016; (* (( (ptr) formal_c0753)+2) ) = maxDepth_v12044; return; } static void InitMinSizeForHeight_P2760() { register ptr gf_c50616 = (ptr) &globalframe; /* InitMinSizeForHeight: */ SOURCE(29493, 311) SOURCE(29524, 280) if (((* (( (ptr) gf_c50616)+265)/* minSizeForHeight_v4372 */ ) == 0)) { SOURCE(29555, 251) { word h_v22896; SOURCE(29557, 50) { word pd63; pd63 = (* (ptr) (* (( (ptr) gf_c50616)+8)/* untracedZone_v2916 */ ) ); h_v22896 = (word) ( *( (fPt) ((* (ptr) pd63 ))))((* (( (ptr) gf_c50616)+8)/* untracedZone_v2916 */ ), 128, (* (( (ptr) gf_c50616)+278) ), pd63); }; SOURCE(29609, 8) (* (ptr) h_v22896 ) = 0; SOURCE(29619, 8) (* (( (ptr) h_v22896)+1) ) = 1; SOURCE(29629, 21) (* (( (ptr) h_v22896)+2) ) = 25; SOURCE(29652, 121) { register word i_v22952 = 3; lab_L100203: ; SOURCE(29695, 78) if (( (int)(2147483647 - (* (( (ptr) h_v22896)+BCK((i_v22952 - 1), 32)) )) < (int)(* (( (ptr) h_v22896)+BCK((i_v22952 - 2), 32) ) ))) { SOURCE(29730, 21) (* (( (ptr) h_v22896)+BCK(i_v22952, 32)) ) = 2147483647; } else { SOURCE(29751, 22) (* (( (ptr) h_v22896)+BCK(i_v22952, 32)) ) = ((* (( (ptr) h_v22896)+BCK((i_v22952 - 1), 32)) ) + (* (( (ptr) h_v22896)+BCK( (i_v22952 - 2), 32)) )); }; if ((i_v22952 >= 31)) { goto lab_L100200; }; i_v22952 = (i_v22952 + 1); goto lab_L100203; lab_L100200: ; }; SOURCE(29784, 20) (* (( (ptr) gf_c50616)+265)/* minSizeForHeight_v4372 */ ) = h_v22896; }; }; } static word PartIsBalanced_P2820(part_v28344) W3 part_v28344; { register ptr gf_c50648 = (ptr) &globalframe; word var_c28388; word size_v22996; word height_v23024; /* PartIsBalanced: */ SOURCE(29813, 516) SOURCE(29841, 33) size_v22996 = (word) InlineSize_P2040(part_v28344.f0); SOURCE(29876, 36) if ((part_v28344.f0 == 0)) { height_v23024 = 0; goto lab_L100204; }; { word var_c48216; var_c48216 = part_v28344.f0; if ((var_c48216 == 0)) { goto lab_L100205; }; if (( (unsigned) (*(( short *)var_c48216 + 1)<0) == 1)) { { word node_v36884; node_v36884 = var_c48216; height_v23024 = (unsigned) (((unsigned)(* (( (hPt) node_v36884)+1) ) << 17) >> 19); }; } else { lab_L100205: ; height_v23024 = 1; goto lab_L100204; }; }; lab_L100204: ; SOURCE(29914, 78) if ((( (int)part_v28344.f1 != (int)0) || ( (int)part_v28344.f2 != (int)size_v22996)) || ( (int)height_v23024 >= (int)32)) { SOURCE(29978, 14) return(0); }; SOURCE(29994, 53) if (((* (( (ptr) gf_c50648)+265)/* minSizeForHeight_v4372 */ ) == 0)) { SOURCE(30025, 22) (void) InitMinSizeForHeight_P2760(); }; SOURCE(30049, 54) if (( (int)size_v22996 < (int)(* (( (ptr) (* (( (ptr) gf_c50648)+265)/* minSizeForHeight_v4372 */ ))+BCK(height_v23024, 32) ) ))) { SOURCE(30089, 14) return(0); }; SOURCE(30105, 224) { word var_c48248; var_c48248 = part_v28344.f0; if ((var_c48248 == 0)) { goto lab_L100206; }; { word tc65; word tc66; word tc67; if (( (unsigned) (*(( short *)var_c48248 + 1)<0) == 1)) { tc65 = (word) ( (unsigned) ((* (( (bPt) var_c48248)+3) ) & 3) == 0); } else { tc65 = (word) 0; }; if (tc65) { { word substr_v23068; substr_v23068 = var_c48248; SOURCE(30172, 18) return( (unsigned) ( (int)height_v23024 <= (int)1)); }; }; if (( (unsigned) (*(( short *)var_c48248 + 1)<0) == 1)) { tc66 = (word) ( (unsigned) ((* (( (bPt) var_c48248)+3) ) & 3) == 1); } else { tc66 = (word) 0; }; if (tc66) { { word concat_v23124; concat_v23124 = var_c48248; SOURCE(30232, 13) return(1); }; }; if (( (unsigned) (*(( short *)var_c48248 + 1)<0) == 1)) { tc67 = (word) ( (unsigned) ((* (( (bPt) var_c48248)+3) ) & 3) == 2); } else { tc67 = (word) 0; }; if (tc67) { { word replace_v23180; replace_v23180 = var_c48248; SOURCE(30289, 14) return(0); }; }; lab_L100206: ; SOURCE(30316, 13) return(1); }; }; } static word Balance_P2880(base_v12388, start_v12416, len_v12444, flat_v12472) word base_v12388; word start_v12416; word len_v12444; word flat_v12472; { word var_c12516; /* Balance: */ SOURCE(30335, 154) SOURCE(30444, 45) { word var_c48312; var_c48312 = (word) NewBalance_P2940(base_v12388); return((word) Substr_P120(var_c48312, start_v12416, len_v12444)); }; } static word NewBalance_P2940(rope_v12796) word rope_v12796; { W96 var_c50680; register ptr gf_c50712 = (ptr) &globalframe; word var_c12840; /* declaration of var_c48344 skipped */ /* declaration of var_c48376 skipped */ /* declaration of var_c48408 skipped */ /* declaration of var_c48440 skipped */ /* declaration of a_v23236 skipped */ /* declaration of accel_v23264 skipped */ /* declaration of aN_v23292 skipped */ W3 part_v23432; /* NewBalance: */ SOURCE(30644, 1576) { word tmpAddr68; tmpAddr68 = (word) (( (ptr) &var_c50680)+4)/* var_c48344 */ ; (* (ptr) tmpAddr68 ) = ( ((word) (fPt) BalanceRange_P8184) ); (* (( (ptr) tmpAddr68) + 1) ) = 1; }; { word tmpAddr69; tmpAddr69 = (word) (( (ptr) &var_c50680)+6)/* var_c48376 */ ; (* (ptr) tmpAddr69 ) = ( ((word) (fPt) SavePart_P8124) ); (* (( (ptr) tmpAddr69) + 1) ) = 1; }; { word tmpAddr70; tmpAddr70 = (word) (( (ptr) &var_c50680)+8)/* var_c48408 */ ; (* (ptr) tmpAddr70 ) = ( ((word) (fPt) ASub_P8064) ); (* (( (ptr) tmpAddr70) + 1) ) = 1; }; { word tmpAddr71; tmpAddr71 = (word) (( (ptr) &var_c50680)+10)/* var_c48440 */ ; (* (ptr) tmpAddr71 ) = ( ((word) (fPt) StoreA_P8004) ); (* (( (ptr) tmpAddr71) + 1) ) = 1; }; SOURCE(30693, 7) (* (( (ptr) &var_c50680)+12) ) = 0; { W2 var_c48504; var_c48504.f0 = 0; var_c48504.f1 = 0; XR_FillLongWords(&(* (W80Pt) ((( (ptr) &var_c50680)+13))), &var_c48504, 2, 40); }; (* (( (ptr) &var_c50680)+93) ) = 0; SOURCE(30760, 21) (* (( (ptr) &var_c50680)+94)/* accel_v23264 */ ) = 0; SOURCE(30783, 11) (* (( (ptr) &var_c50680)+95)/* aN_v23292 */ ) = 0; SOURCE(32092, 34) part_v23432.f0 = rope_v12796; part_v23432.f1 = 0; part_v23432.f2 = (word) Size_P2100(rope_v12796); SOURCE(32128, 40) (void) MapParts_P3000(part_v23432, (word) (( (bPt) &var_c50680)+24)/* var_c48376 */ , (word) (( (bPt) gf_c50712)+1160)/* var_c39256 */ ) ; SOURCE(32170, 50) return((word) BalanceRange_P8184(0, (* (( (ptr) &var_c50680)+95)/* aN_v23292 */ ), (part_v23432.f2 - part_v23432.f1), (word) ( ( (bPt) &var_c50680)+16)/* var_c48344 */ )); } static void StoreA_P8004(i_v23520, e_v23548, formal_c50776) word i_v23520; W2 e_v23548; word formal_c50776; { register ptr gf_c50744 = (ptr) &globalframe; formal_c50776 = (formal_c50776 - 40); /* StoreA: */ SOURCE(30796, 366) SOURCE(30835, 327) if (( (int)(i_v23520 - (* (( (ptr) formal_c50776)+12) )) < (int)40)) { SOURCE(30857, 26) { word idx72; (* (( (W2Pt) (( (ptr) formal_c50776)+13))+( idx72 = (word) (i_v23520 - (* (( (ptr) formal_c50776)+12) )), BCK(idx72, 40) )) ) = e_v23548; }; } else { SOURCE(30885, 65) if (((* (( (ptr) formal_c50776)+93) ) == 0)) { SOURCE(30907, 26) { word var_c48600; var_c48600 = XR_NewObject(328, (* (( (ptr) gf_c50744)+279) )); (* (( (ptr) formal_c50776)+94) ) = var_c48600; (* (( (ptr) formal_c50776)+93) ) = var_c48600; }; SOURCE(30935, 15) (* (ptr) (* (( (ptr) formal_c50776)+94) ) ) = 40; }; SOURCE(30953, 38) if (( (int)i_v23520 < (int)(* (ptr) (* (( (ptr) formal_c50776)+94) ) ))) { SOURCE(30977, 14) (* (( (ptr) formal_c50776)+94) ) = (* (( (ptr) formal_c50776)+93) ); }; SOURCE(30993, 130) lab_L100209: ; if (( (int)(i_v23520 - (* (ptr) (* (( (ptr) formal_c50776)+94) ) )) >= (int)40)) { } else { goto lab_L100207; }; SOURCE(31021, 81) if (((* (( (ptr) (* (( (ptr) formal_c50776)+94) ))+81) ) == 0)) { SOURCE(31048, 22) (* (( (ptr) (* (( (ptr) formal_c50776)+94) ))+81) ) = XR_NewObject(328, (* (( (ptr) gf_c50744)+279) )); SOURCE(31072, 30) (* (ptr) (* (( (ptr) (* (( (ptr) formal_c50776)+94) ))+81) ) ) = ((* (ptr) (* (( (ptr) formal_c50776)+94) ) ) + 40); }; SOURCE(31105, 18) (* (( (ptr) formal_c50776)+94) ) = (* (( (ptr) (* (( (ptr) formal_c50776)+94) ))+81) ); goto lab_L100209; lab_L100207: ; SOURCE(31134, 28) { word idx73; (* (( (W2Pt) (( (ptr) (* (( (ptr) formal_c50776)+94) ))+1))+( idx73 = (word) (i_v23520 - (* (ptr) (* (( (ptr) formal_c50776)+94) ) )), BCK(idx73, 40) )) ) = e_v23548; }; }; } static void ASub_P8064(formal_c0788, i_v23608, formal_c50808) word formal_c0788; word i_v23608; word formal_c50808; { W2 e_v23652; formal_c50808 = (formal_c50808 - 32); /* ASub: */ SOURCE(31170, 220) SOURCE(31170, 220) e_v23652.f0 = 0; e_v23652.f1 = 0; SOURCE(31216, 174) if (( (int)(i_v23608 - (* (( (ptr) formal_c50808)+12) )) < (int)40)) { SOURCE(31238, 26) { word idx74; e_v23652 = (* (( (W2Pt) (( (ptr) formal_c50808)+13))+( idx74 = (word) (i_v23608 - (* (( (ptr) formal_c50808)+12) )), BCK(idx74, 40) )) ); }; } else { SOURCE(31266, 38) if (( (int)i_v23608 < (int)(* (ptr) (* (( (ptr) formal_c50808)+94) ) ))) { SOURCE(31290, 14) (* (( (ptr) formal_c50808)+94) ) = (* (( (ptr) formal_c50808)+93) ); }; SOURCE(31306, 54) lab_L100213: ; if (( (int)(i_v23608 - (* (ptr) (* (( (ptr) formal_c50808)+94) ) )) >= (int)40)) { } else { goto lab_L100211; }; SOURCE(31334, 26) (* (( (ptr) formal_c50808)+94) ) = (* (( (ptr) (* (( (ptr) formal_c50808)+94) ))+81) ); goto lab_L100213; lab_L100211: ; SOURCE(31362, 28) { word idx75; e_v23652 = (* (( (W2Pt) (( (ptr) (* (( (ptr) formal_c50808)+94) ))+1))+( idx75 = (word) (i_v23608 - (* (ptr) (* (( (ptr) formal_c50808)+94) ) )), BCK(idx75, 40) )) ); }; }; /* removed tail goto */ (* (W2Pt) formal_c0788 ) = e_v23652; return; } static void SavePart_P8124(part_v23712, formal_c50840) W3 part_v23712; word formal_c50840; { formal_c50840 = (formal_c50840 - 24); /* SavePart: */ SOURCE(31398, 178) SOURCE(31430, 146) if (( (int)part_v23712.f2 > (int)part_v23712.f1)) { SOURCE(31460, 118) { word rope_v23900; SOURCE(31462, 63) rope_v23900 = (word) Substr_P120(part_v23712.f0, part_v23712.f1, (part_v23712.f2 - part_v23712.f1)); SOURCE(31527, 36) { word var_c48696; var_c48696 = (word) InlineSize_P2040(rope_v23900); { W2 var_c48728; var_c48728.f0 = rope_v23900; var_c48728.f1 = var_c48696; (void) StoreA_P8004((* (( (ptr) formal_c50840)+95) ), var_c48728, (word) (( (bPt) formal_c50840)+40)); }; }; SOURCE(31565, 11) (* (( (ptr) formal_c50840)+95) ) = ((* (( (ptr) formal_c50840)+95) ) + 1); }; }; } static word BalanceRange_P8184(first_v23772, end_v23800, size_v23828, formal_c50872) word first_v23772; word end_v23800; word size_v23828; word formal_c50872; { word var_c23872; formal_c50872 = (formal_c50872 - 16); /* BalanceRange: */ SOURCE(31584, 501) if (( (int)first_v23772 == (int)end_v23800)) { SOURCE(31688, 11) return(0); } else { if (( (int)(end_v23800 - first_v23772) == (int)1)) { SOURCE(31718, 24) { word var_c0883; W2 var_c0797; (void) ASub_P8064((word) &var_c0797, first_v23772, (word) (( (bPt) formal_c50872)+32)); var_c0883 = var_c0797.f0; return(var_c0883); }; } else { SOURCE(31755, 332) { word i_v23944; word sizetoi_v23972; W2 var_c0800; SOURCE(31757, 16) i_v23944 = (first_v23772 + 1); SOURCE(31775, 31) (void) ASub_P8064((word) &var_c0800, first_v23772, (word) (( (bPt) formal_c50872)+32)); sizetoi_v23972 = var_c0800.f1; SOURCE(31808, 183) { register word sizei_v24016; W2 var_c0802; W2 var_c0803; (void) ASub_P8064((word) &var_c0802, i_v23944, (word) (( (bPt) formal_c50872)+32)); sizei_v24016 = var_c0802.f1; lab_L100217: ; { word tc76; word x77; word x78; if (( (int)i_v23944 < (int)(end_v23800 - 1))) { if (( (int)IOP2( * , (int)(sizetoi_v23972 + sizei_v24016), (int)2) < (int)size_v23828)) { tc76 = (word) 1; } else { tc76 = (word) (( x77 = (IOP2( * , (int)sizetoi_v23972, (int)2) - size_v23828), IABS(x77) ) > ( x78 = (IOP2( * , (int)(sizetoi_v23972 + sizei_v24016), (int)2) - size_v23828), IABS(x78) )); }; } else { tc76 = (word) 0; }; if (tc76) { } else { goto lab_L100214; }; }; SOURCE(31955, 25) sizetoi_v23972 = (sizetoi_v23972 + sizei_v24016); SOURCE(31982, 9) i_v23944 = (i_v23944 + 1); (void) ASub_P8064((word) &var_c0803, i_v23944, (word) (( (bPt) formal_c50872)+32)); sizei_v24016 = var_c0803.f1; goto lab_L100217; lab_L100214: ; }; SOURCE(32002, 83) { word var_c48824; word var_c48856; var_c48824 = (word) BalanceRange_P8184(first_v23772, i_v23944, sizetoi_v23972, (word) (( (bPt) formal_c50872)+16)); var_c48856 = (word) BalanceRange_P8184(i_v23944, end_v23800, (size_v23828 - sizetoi_v23972), (word) (( (bPt) formal_c50872)+16) ); return((word) Concat_P240(var_c48824, var_c48856)); }; }; }; }; } static void MapParts_P3000(part_v12916, action_v12944, stopDescent_v12972) W3 part_v12916; word action_v12944; word stopDescent_v12972; { register ptr gf_c50904 = (ptr) &globalframe; /* MapParts: */ SOURCE(32249, 1515) SOURCE(32325, 1439) { word tc79; if ((stopDescent_v12972 != 0)) { tc79 = (word) (0 != (word) ( *( (fPt) ((* (ptr) stopDescent_v12972 ))))(part_v12916, stopDescent_v12972)); } else { tc79 = (word) 0; }; if (tc79) { SOURCE(32371, 18) (void) ( *( (fPt) ((* (ptr) action_v12944 ))))(part_v12916, action_v12944); } else { SOURCE(32389, 1377) { word size_v24060; SOURCE(32391, 33) size_v24060 = (word) InlineSize_P2040(part_v12916.f0); SOURCE(32426, 85) if (( (int)part_v12916.f1 < (int)0) || ( ( (int)part_v12916.f2 < (int)part_v12916.f1) ? 1 : ( (int)part_v12916.f2 > (int)(part_v12916.f1 + size_v24060)) ) ) { SOURCE(32498, 13) (void) XR_RaiseError((word) (( (bPt) gf_c50904)+1132), 0); }; SOURCE(32513, 1251) { word var_c48888; var_c48888 = part_v12916.f0; if ((var_c48888 == 0)) { goto lab_L100218; }; { word tc81; word tc82; word tc86; if (( (unsigned) (*(( short *)var_c48888 + 1)<0) == 1)) { tc81 = (word) ( (unsigned) ((* (( (bPt) var_c48888)+3) ) & 3) == 0); } else { tc81 = (word) 0; }; if (tc81) { { word substr_v24104; substr_v24104 = var_c48888; SOURCE(32582, 92) { W3 var_c48920; var_c48920.f0 = (* (( (ptr) substr_v24104)+2) ); var_c48920.f1 = ((* (( (ptr) substr_v24104)+3) ) + part_v12916.f1); var_c48920.f2 = ((* (( (ptr) substr_v24104)+3) ) + part_v12916.f2); (void) MapParts_P3000(var_c48920, action_v12944, stopDescent_v12972); }; }; goto endif080; }; if (( (unsigned) (*(( short *)var_c48888 + 1)<0) == 1)) { tc82 = (word) ( (unsigned) ((* (( (bPt) var_c48888)+3) ) & 3) == 1); } else { tc82 = (word) 0; }; if (tc82) { { word concat_v24160; concat_v24160 = var_c48888; SOURCE(32721, 117) if (( (int)part_v12916.f1 < (int)(* (( (ptr) concat_v24160)+4) ))) { SOURCE(32755, 83) { /*1*/ W3 var_c48952; /*1*/ var_c48952.f0 = (* (( (ptr) concat_v24160)+2) ); /*1*/ var_c48952.f1 = part_v12916.f1; /*1*/ { /*1*/ word x83; /*1*/ word x84; /*1*/ var_c48952.f2 = (x83 = part_v12916.f2, /*1*/ x84 = (* (( (ptr) concat_v24160)+4) ), /*1*/ MIN((int)(word), x83, x84)); /*1*/ }; /*1*/ (void) MapParts_P3000(var_c48952, action_v12944, stopDescent_v12972); /*1*/ }; }; SOURCE(32843, 176) if (( (int)part_v12916.f2 > (int)(* (( (ptr) concat_v24160)+4) ))) { SOURCE(32873, 148) { /*1*/ word newStart_v24216; /*1*/ word newEnd_v24244; SOURCE(32875, 45) /*1*/ { /*1*/ word x85; /*1*/ newStart_v24216 = (x85 = (part_v12916.f1 - (* (( (ptr) concat_v24160)+4) )), /*1*/ MAX((int)(word), x85, 0)); /*1*/ }; SOURCE(32922, 33) /*1*/ newEnd_v24244 = (part_v12916.f2 - (* (( (ptr) concat_v24160)+4) )); SOURCE(32957, 62) /*1*/ { /*1*/ W3 var_c48984; /*1*/ var_c48984.f0 = (* (( (ptr) concat_v24160)+3) ); /*1*/ var_c48984.f1 = newStart_v24216; /*1*/ var_c48984.f2 = newEnd_v24244; /*1*/ (void) MapParts_P3000(var_c48984, action_v12944, stopDescent_v12972); /*1*/ }; /*1*/ }; }; }; goto endif080; }; if (( (unsigned) (*(( short *)var_c48888 + 1)<0) == 1)) { tc86 = (word) ( (unsigned) ((* (( (bPt) var_c48888)+3) ) & 3) == 2); } else { tc86 = (word) 0; }; if (tc86) { { word replace_v24288; replace_v24288 = var_c48888; SOURCE(33069, 669) { word len1_v24344; word len2_v24372; word len3_v24400; word offset3_v24428; SOURCE(33071, 25) len1_v24344 = (* (( (ptr) replace_v24288)+4) ); SOURCE(33098, 40) len2_v24372 = ((* (( (ptr) replace_v24288)+6) ) - (* (( (ptr) replace_v24288)+4) )); SOURCE(33140, 39) len3_v24400 = ((* (( (ptr) replace_v24288)+1) ) - (* (( (ptr) replace_v24288)+6) )); SOURCE(33181, 29) offset3_v24428 = (* (( (ptr) replace_v24288)+5) ); SOURCE(33212, 106) if (( (int)part_v12916.f1 < (int)len1_v24344)) { SOURCE(33240, 78) /*1*/ { /*1*/ W3 var_c49016; /*1*/ var_c49016.f0 = (* (( (ptr) replace_v24288)+2) ); /*1*/ var_c49016.f1 = part_v12916.f1; /*1*/ { /*1*/ word x87; /*1*/ var_c49016.f2 = (x87 = part_v12916.f2, /*1*/ MIN((int)(word), x87, len1_v24344)); /*1*/ }; /*1*/ (void) MapParts_P3000(var_c49016, action_v12944, stopDescent_v12972); /*1*/ }; /*1*/ }; SOURCE(33323, 200) if ( ( ( (int)part_v12916.f1 < (int)(len1_v24344 + len2_v24372)) ? ( (int)part_v12916.f2 > (int)len1_v24344) : 0 ) ) { SOURCE(33374, 151) /*1*/ { /*1*/ word newStart_v24472; /*1*/ word newEnd_v24500; SOURCE(33376, 39) /*1*/ { /*1*/ word x88; /*1*/ newStart_v24472 = (x88 = (part_v12916.f1 - len1_v24344), /*1*/ MAX((int)(word), x88, 0)); /*1*/ }; SOURCE(33417, 38) /*1*/ { /*1*/ word x89; /*1*/ newEnd_v24500 = (x89 = (part_v12916.f2 - len1_v24344), /*1*/ MIN((int)(word), x89, len2_v24372)); /*1*/ }; SOURCE(33457, 66) /*1*/ { /*1*/ W3 var_c49048; /*1*/ var_c49048.f0 = (* (( (ptr) replace_v24288)+3) ); /*1*/ var_c49048.f1 = newStart_v24472; /*1*/ var_c49048.f2 = newEnd_v24500; /*1*/ (void) MapParts_P3000(var_c49048, action_v12944, stopDescent_v12972); /*1*/ }; /*1*/ }; /*1*/ }; SOURCE(33528, 205) if (( (int)part_v12916.f2 > (int)(len1_v24344 + len2_v24372))) { SOURCE(33557, 178) /*1*/ { /*1*/ word newStart_v24544; /*1*/ word newEnd_v24572; SOURCE(33559, 54) /*1*/ { /*1*/ word x90; /*1*/ newStart_v24544 = ((x90 = (part_v12916.f1 - (len1_v24344 + len2_v24372)), /*1*/ MAX((int)(word), x90, 0)) + offset3_v24428); /*1*/ }; SOURCE(33615, 53) /*1*/ { /*1*/ word x91; /*1*/ newEnd_v24572 = ((x91 = (part_v12916.f2 - (len1_v24344 + len2_v24372)), /*1*/ MIN((int)(word), x91, len3_v24400)) + offset3_v24428); /*1*/ }; SOURCE(33670, 63) /*1*/ { /*1*/ W3 var_c49080; /*1*/ var_c49080.f0 = (* (( (ptr) replace_v24288)+2) ); /*1*/ var_c49080.f1 = newStart_v24544; /*1*/ var_c49080.f2 = newEnd_v24572; /*1*/ (void) MapParts_P3000(var_c49080, action_v12944, stopDescent_v12972); /*1*/ }; /*1*/ }; /*1*/ }; }; }; goto endif080; }; lab_L100218: ; SOURCE(33752, 12) (void) ( *( (fPt) ((* (ptr) action_v12944 ))))(part_v12916, action_v12944); goto endif080; endif080: ; }; }; }; }; }; } /* file: RopeImpl, module: RopeImpl, compiled at: April 11, 1994 1:52:45 pm PDT */ extern void XR_install_RopeImpl() { NoName_Q13464(); } extern void XR_run_RopeImpl() { XR_Start(&globalframe); }