/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: October 19, 1993 1:03:15 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: TJaMStackImpl, module: TJaMStackImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [453214179,2830877265] TJaMStackImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2;} W3; typedef W3 *W3Pt; typedef struct {word f0, f1;} W2; typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; #define SOURCE(p, l) /* source p, l */ #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) static void NoName←Q4116(); static void TJaMStackImpl←P0(); static word NewStack←P60(); static void Push←P120(); static void PushNum←P180(); static void PushInt←P240(); static void PushBool←P300(); static void PushReal←P360(); static void PushAtom←P420(); static void PushRope←P480(); static void PushStream←P540(); static void PushCmd←P600(); static void PushArray←P660(); static void PushDict←P720(); static void PushMark←P780(); static word Pop←P840(); static void Remove←P900(); static void PopNum←P960(); static word PopInt←P1020(); static word PopBool←P1080(); static word PopReal←P1140(); static word PopAtom←P1200(); static word PopRope←P1260(); static word PopStream←P1320(); static word PopCmd←P1380(); static word PopArray←P1440(); static word PopDict←P1500(); static word PopMark←P1560(); static void Copy←P1620(); static void Dup←P1680(); static void Roll←P1740(); static void Reverse←P3720(); static void Exch←P1800(); static word Top←P1860(); static word TopType←P1920(); static word StackIsEmpty←P1980(); static word CountStack←P2040(); static word Index←P2100(); static word CountToMark←P2160(); static void ClearToMark←P2220(); static void ClearStack←P2280(); static void ApplyPop←P2340(); static void ApplyCopy←P2400(); static void ApplyDup←P2460(); static void ApplyRoll←P2520(); static void ApplyExch←P2580(); static void ApplyCount←P2640(); static void ApplyClearStack←P2700(); static void ApplyIndex←P2760(); static void ApplyMark←P2820(); static void ApplyCountToMark←P2880(); static void ApplyClearToMark←P2940(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\101\034\000\000"}; static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"}; static struct {unsigned f; char r[24];} string3 = {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];} string4 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[4];} string5 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\354\000\000"}; static struct {unsigned f; char r[4];} string7 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\101\004\000\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\340\000\000"}; static struct {unsigned f; char r[4];} string10 = {131074, "\004\006\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\112\064\000\000"}; static struct {unsigned f; char r[4];} string12 = {131074, "\004\037\000"}; static struct {unsigned f; char r[4];} string13 = {65540, "\251\000\000"}; static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\230\000\000"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\367\310\321\062\300\174\163\370\126\100\214\000\000"}; static struct {unsigned f; char r[12];} string16 = {589833, "\011\000\014\100\100\040\000\014\001\000\000"}; static struct {unsigned f; char r[12];} string17 = {589836, ".clrtomrk\000\000"}; static struct {unsigned f; char r[8];} string18 = {327688, ".mark\000\000"}; static struct {unsigned f; char r[8];} string19 = {393224, ".index\000"}; static struct {unsigned f; char r[12];} string20 = {589836, ".cnttomrk\000\000"}; static struct {unsigned f; char r[8];} string21 = {458760, ".cntstk"}; static struct {unsigned f; char r[8];} string22 = {327688, ".roll\000\000"}; static struct {unsigned f; char r[8];} string23 = {327688, ".copy\000\000"}; static struct {unsigned f; char r[8];} string24 = {458760, ".clrstk"}; static struct {unsigned f; char r[8];} string25 = {262152, ".dup\000\000\000"}; static struct {unsigned f; char r[8];} string26 = {327688, ".exch\000\000"}; static struct {unsigned f; char r[8];} string27 = {262152, ".pop\000\000\000"}; static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\033\003\177\343\300\250\273\302\121\100\164\000\000"}; static struct {unsigned f; char r[12];} string29 = {720907, "\006\003\020\001\024\001\100\114\004\107\377"}; static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[4];} string31 = {1414160717, "\000"}; static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\150\000\000"}; static struct {unsigned f; char r[28];} string33 = {1638428, "\211\015\014\106\162\141\155\145\111\155\160\154\122\145\160\300\243\004\305\073\300\011\303\367\103\000\000"}; static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\367\310\321\062\300\174\163\370\126\100\164\000\000"}; static struct {unsigned f; char r[4];} string35 = {131074, "\004\017\000"}; static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\367\310\321\062\300\174\163\370\126\100\150\000\000"}; static struct { word f0[30]; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71; word f72; word f73; word f74; word f75; word f76; word f77; word f78; word f79; word f80; word f81; word f82; word f83; word f84; word f85; word f86; word f87; word f88; word f89; word f90; word f91; word f92; word f93; word f94; word f95; word f96; word f97; word f98; word f99; word f100; word f101; word f102; word f103; word f104; word f105; word f106; word f107; word f108; word f109; word f110; word f111; word f112; word f113; word f114; word f115; word f116; word f117; word f118; word f119; word f120; word f121; word f122; word f123; word f124; word f125; word f126; word f127; word f128; word f129[5]; } globalframe = { {0}, (word) ApplyClearToMark←P2940, 0, (word) ApplyCountToMark←P2880, 0, (word) ApplyMark←P2820, 0, (word) ApplyIndex←P2760, 0, (word) ApplyClearStack←P2700, 0, (word) ApplyCount←P2640, 0, (word) ApplyExch←P2580, 0, (word) ApplyRoll←P2520, 0, (word) ApplyDup←P2460, 0, (word) ApplyCopy←P2400, 0, (word) ApplyPop←P2340, 0, (word) ClearStack←P2280, 0, (word) ClearToMark←P2220, 0, (word) CountToMark←P2160, 0, (word) Index←P2100, 0, (word) CountStack←P2040, 0, (word) StackIsEmpty←P1980, 0, (word) TopType←P1920, 0, (word) Top←P1860, 0, (word) Exch←P1800, 0, (word) Roll←P1740, 0, (word) Dup←P1680, 0, (word) Copy←P1620, 0, (word) PopMark←P1560, 0, (word) PopDict←P1500, 0, (word) PopArray←P1440, 0, (word) PopCmd←P1380, 0, (word) PopStream←P1320, 0, (word) PopRope←P1260, 0, (word) PopAtom←P1200, 0, (word) PopReal←P1140, 0, (word) PopBool←P1080, 0, (word) PopInt←P1020, 0, (word) PopNum←P960, 0, (word) Remove←P900, 0, (word) Pop←P840, 0, (word) PushMark←P780, 0, (word) PushDict←P720, 0, (word) PushArray←P660, 0, (word) PushCmd←P600, 0, (word) PushStream←P540, 0, (word) PushRope←P480, 0, (word) PushAtom←P420, 0, (word) PushReal←P360, 0, (word) PushBool←P300, 0, (word) PushInt←P240, 0, (word) PushNum←P180, 0, (word) Push←P120, 0, (word) NewStack←P60, 0, (word) TJaMStackImpl←P0, {0} }; static void NoName←Q4116() { register ptr gf←c0278 = (ptr) &globalframe; word var←c24324; (* (( (ptr) gf←c0278)+7) ) = (word) XR←GetTypeIndexS((word) (&string1)); (* (( (ptr) gf←c0278)+9) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3); (* (( (ptr) gf←c0278)+10) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5); (* (( (ptr) gf←c0278)+12) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7); (* (( (ptr) gf←c0278)+13) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string5); (* (( (ptr) gf←c0278)+14) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf←c0278)+15) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string12); (* (( (ptr) gf←c0278)+16) ) = (word) XR←GetTypeIndexS((word) (&string13)); (* (( (ptr) gf←c0278)+17) ) = (word) XR←GetTypeIndexS((word) (&string14)); (* (( (ptr) gf←c0278)+18) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string16); (* (ptr) (( (bPt) gf←c0278)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string17); (* (ptr) (( (bPt) gf←c0278)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string18); (* (ptr) (( (bPt) gf←c0278)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string19); (* (ptr) (( (bPt) gf←c0278)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string20); (* (ptr) (( (bPt) gf←c0278)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string21); (* (ptr) (( (bPt) gf←c0278)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string22); (* (ptr) (( (bPt) gf←c0278)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string23); (* (ptr) (( (bPt) gf←c0278)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string24); (* (ptr) (( (bPt) gf←c0278)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string25); (* (ptr) (( (bPt) gf←c0278)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string26); (* (ptr) (( (bPt) gf←c0278)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0278)+10) ), (word) &string27); (void) XR←DeclareGlobalFrame((word) "TJaMStackImpl", &globalframe, (word) XR←GetTypeIndex((word) &string28, 0, (word) &string29) , (word) (( (bPt) gf←c0278)+512)/* var←c22596 */ ); var←c24324 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string30)), 43); (* (( (ptr) gf←c0278)+130)/* var←c22628 */ ) = var←c24324; (void) XR←ImportProcS(var←c24324, 67378689); var←c24324 = (word) XR←ImportInterface((word) &string31, (word) XR←GetTypeIndexS((word) (&string32)), 101); (* (( (ptr) gf←c0278)+131)/* var←c22692 */ ) = var←c24324; (void) XR←ImportProcS(var←c24324, 67371777); (void) XR←ImportProcS(var←c24324, 67375105); (void) XR←ImportProcS(var←c24324, 67374849); (void) XR←ImportProcS(var←c24324, 67374593); (void) XR←ImportProcS(var←c24324, 67374337); (void) XR←ImportProcS(var←c24324, 67374081); (void) XR←ImportProcS(var←c24324, 67373825); (void) XR←ImportProcS(var←c24324, 67373569); (void) XR←ImportProcS(var←c24324, 67373057); (void) XR←ImportProcS(var←c24324, 67634689); (void) XR←ImportProcS(var←c24324, 67372801); (void) XR←ImportProcS(var←c24324, 67634433); (void) XR←ImportProcS(var←c24324, 67373313); (void) XR←ImportProcS(var←c24324, 285441); (void) XR←ImportProcS(var←c24324, 540930); (void) XR←ImportProcS(var←c24324, 67385601); (void) XR←ImportProcS(var←c24324, 812035); var←c24324 = (word) XR←ExportInterface((word) &string31, (word) XR←GetTypeIndexS((word) (&string32)), 101); (* (( (ptr) gf←c0278)+132)/* var←c24356 */ ) = var←c24324; (void) XR←ExportType((word) "FrameImplRep", (word) XR←GetTypeIndexS((word) (&string33)), (word) XR←GetTypeIndex((word) &string34, 0, (word) &string35) ); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+496)/* var←c22532 */ , 529666, (word) "Push"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+472)/* var←c22436 */ , 529922, (word) "PushBool"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+480)/* var←c22468 */ , 530178, (word) "PushInt"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+464)/* var←c22404 */ , 530434, (word) "PushReal"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+488)/* var←c22500 */ , 792834, (word) "PushNum"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+456)/* var←c22372 */ , 530946, (word) "PushAtom"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+448)/* var←c22340 */ , 531202, (word) "PushRope"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+440)/* var←c22308 */ , 531458, (word) "PushStream"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+432)/* var←c22276 */ , 531714, (word) "PushCmd"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+424)/* var←c22244 */ , 531970, (word) "PushArray"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+416)/* var←c22212 */ , 532226, (word) "PushDict"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+408)/* var←c22180 */ , 532482, (word) "PushMark"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+400)/* var←c22148 */ , 67379457, (word) "Pop"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+368)/* var←c22020 */ , 67379713, (word) "PopBool"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+376)/* var←c22052 */ , 67379969, (word) "PopInt"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+360)/* var←c21988 */ , 67380225, (word) "PopReal"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+384)/* var←c22084 */ , 134489345, (word) "PopNum"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+352)/* var←c21956 */ , 67380737, (word) "PopAtom"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+344)/* var←c21924 */ , 67380993, (word) "PopRope"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+336)/* var←c21892 */ , 67381249, (word) "PopStream"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+328)/* var←c21860 */ , 67381505, (word) "PopCmd"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+320)/* var←c21828 */ , 67381761, (word) "PopArray"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+312)/* var←c21796 */ , 67382017, (word) "PopDict"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+304)/* var←c21764 */ , 67382273, (word) "PopMark"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+264)/* var←c21604 */ , 67382529, (word) "Top"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+256)/* var←c21572 */ , 67382785, (word) "TopType"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+296)/* var←c21732 */ , 536322, (word) "Copy"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+288)/* var←c21700 */ , 274433, (word) "Dup"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+280)/* var←c21668 */ , 798979, (word) "Roll"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+272)/* var←c21636 */ , 274945, (word) "Exch"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+208)/* var←c21380 */ , 275201, (word) "ClearStack"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+240)/* var←c21508 */ , 67384321, (word) "CountStack"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+248)/* var←c21540 */ , 67384577, (word) "StackIsEmpty"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+216)/* var←c21412 */ , 275969, (word) "ClearToMark"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+224)/* var←c21444 */ , 67385089, (word) "CountToMark"); (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+232)/* var←c21476 */ , 67647490, (word) "Index"); var←c24324 = (word) XR←ExportInterface((word) "TJaMPrivate", (word) XR←GetTypeIndexS((word) (&string36)), 2); (* (( (ptr) gf←c0278)+133)/* var←c24388 */ ) = var←c24324; (void) XR←ExportProcS(var←c24324, (word) (( (bPt) gf←c0278)+504)/* var←c22564 */ , 67371009, (word) "NewStack"); } static void TJaMStackImpl←P0(formal←c061, formal←c060) word formal←c061; word formal←c060; { register ptr gf←c24420 = (ptr) &globalframe; /* TJaMStackImpl: */ SOURCE(53, 10322) SOURCE(2117, 33) { word pd37; pd37 = (* (( (ptr) (* (( (ptr) gf←c24420)+130)/* var←c22628 */ ))+34) ); (* (( (ptr) gf←c24420)+4)/* emptyRope←v2748 */ ) = (word) ( *( (fPt) ((* (ptr) pd37 ))))(0, pd37); }; SOURCE(9671, 38) (* (( (ptr) gf←c24420)+5)/* defaultMark←v3868 */ ) = XR←NewObject(4, (* (( (ptr) gf←c24420)+7) )); SOURCE(9917, 35) { word pd38; pd38 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd38 ))))((* (( (ptr) gf←c24420)+29) ), (word) (( (bPt) gf←c24420)+200)/* var←c21348 */ , 0, pd38) ; }; SOURCE(9954, 37) { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd39 ))))((* (( (ptr) gf←c24420)+28) ), (word) (( (bPt) gf←c24420)+168)/* var←c21220 */ , 0, pd39) ; }; SOURCE(9993, 35) { word pd40; pd40 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd40 ))))((* (( (ptr) gf←c24420)+27) ), (word) (( (bPt) gf←c24420)+184)/* var←c21284 */ , 0, pd40) ; }; SOURCE(10030, 45) { word pd41; pd41 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd41 ))))((* (( (ptr) gf←c24420)+26) ), (word) (( (bPt) gf←c24420)+152)/* var←c21156 */ , 0, pd41) ; }; SOURCE(10077, 37) { word pd42; pd42 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd42 ))))((* (( (ptr) gf←c24420)+25) ), (word) (( (bPt) gf←c24420)+192)/* var←c21316 */ , 0, pd42) ; }; SOURCE(10116, 37) { word pd43; pd43 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd43 ))))((* (( (ptr) gf←c24420)+24) ), (word) (( (bPt) gf←c24420)+176)/* var←c21252 */ , 0, pd43) ; }; SOURCE(10155, 40) { word pd44; pd44 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd44 ))))((* (( (ptr) gf←c24420)+23) ), (word) (( (bPt) gf←c24420)+160)/* var←c21188 */ , 0, pd44) ; }; SOURCE(10197, 48) { word pd45; pd45 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd45 ))))((* (( (ptr) gf←c24420)+22) ), (word) (( (bPt) gf←c24420)+128)/* var←c21060 */ , 0, pd45) ; }; SOURCE(10247, 48) { word pd46; pd46 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd46 ))))((* (( (ptr) gf←c24420)+19) ), (word) (( (bPt) gf←c24420)+120)/* var←c21028 */ , 0, pd46) ; }; SOURCE(10297, 37) { word pd47; pd47 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd47 ))))((* (( (ptr) gf←c24420)+20) ), (word) (( (bPt) gf←c24420)+136)/* var←c21092 */ , 0, pd47) ; }; SOURCE(10336, 39) { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf←c24420)+131)/* var←c22692 */ ))+104) ); (void) ( *( (fPt) ((* (ptr) pd48 ))))((* (( (ptr) gf←c24420)+21) ), (word) (( (bPt) gf←c24420)+144)/* var←c21124 */ , 0, pd48) ; }; } static word NewStack←P60(size←v4032) word size←v4032; { register ptr gf←c24452 = (ptr) &globalframe; word var←c4076; word stack←v7564; /* NewStack: */ SOURCE(215, 132) SOURCE(269, 34) { word var←c22724; word var←c22756; word var←c22788; var←c22724 = BCK(size←v4032, 22369621); var←c22756 = ((word) var←c22724 * 12); var←c22788 = XR←NewObject((12 + var←c22756), (* (( (ptr) gf←c24452)+18) )); (* (( (ptr) var←c22788)+2) ) = var←c22724; stack←v7564 = var←c22788; }; SOURCE(305, 27) (* (( (ptr) stack←v7564)+1) ) = 0; (* (ptr) stack←v7564 ) = 0; SOURCE(334, 13) return(stack←v7564); } static void Push←P120(frame←v4136, val←v4164) word frame←v4136; word val←v4164; { register ptr gf←c24484 = (ptr) &globalframe; word impl←v7608; word stack←v7636; /* Push: */ SOURCE(354, 405) SOURCE(401, 28) impl←v7608 = (* (ptr) frame←v4136 ); SOURCE(431, 25) stack←v7636 = (* (ptr) impl←v7608 ); SOURCE(458, 143) if (((* (ptr) stack←v7636 ) >= (* (( (ptr) stack←v7636)+2) ))) { SOURCE(493, 108) { word array←v7680; SOURCE(494, 36) { word pd49; pd49 = (* (( (ptr) (* (( (ptr) gf←c24484)+131)/* var←c22692 */ ))+61) ); array←v7680 = (word) ( *( (fPt) ((* (ptr) pd49 ))))((* (ptr) (stack←v7636) ), pd49); }; SOURCE(532, 20) { word pd50; pd50 = (* (( (ptr) (* (( (ptr) gf←c24484)+131)/* var←c22692 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd50 ))))(frame←v4136, array←v7680, pd50); }; SOURCE(554, 18) (void) Push←P120(frame←v4136, array←v7680); SOURCE(574, 27) { word pd51; pd51 = (* (( (ptr) (* (( (ptr) gf←c24484)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd51 ))))(7, pd51); }; }; }; SOURCE(604, 41) if ((val←v4164 == 0)) { SOURCE(620, 25) { word pd52; pd52 = (* (( (ptr) (* (( (ptr) gf←c24484)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd52 ))))(4, pd52); }; }; SOURCE(647, 28) { word idx53; word limit54; (* (( (W3Pt) (( (ptr) stack←v7636)+3))+( idx53 = (* (ptr) stack←v7636 ), limit54 = (* (( (ptr) stack←v7636)+2) ), BCK(idx53, limit54) )) ).f0 = val←v4164; }; SOURCE(677, 27) (* (ptr) stack←v7636 ) = ((* (ptr) stack←v7636 ) + 1); SOURCE(706, 53) if (((* (ptr) stack←v7636 ) > (* (( (ptr) stack←v7636)+1) ))) { SOURCE(736, 23) (* (( (ptr) stack←v7636)+1) ) = (* (ptr) stack←v7636 ); }; } static void PushNum←P180(frame←v4224, val←v4252) word frame←v4224; W2 val←v4252; { register ptr gf←c24516 = (ptr) &globalframe; word impl←v7724; word stack←v7752; /* PushNum: */ SOURCE(765, 422) SOURCE(821, 28) impl←v7724 = (* (ptr) frame←v4224 ); SOURCE(851, 25) stack←v7752 = (* (ptr) impl←v7724 ); SOURCE(878, 143) if (((* (ptr) stack←v7752 ) >= (* (( (ptr) stack←v7752)+2) ))) { SOURCE(913, 108) { word array←v7796; SOURCE(914, 36) { word pd55; pd55 = (* (( (ptr) (* (( (ptr) gf←c24516)+131)/* var←c22692 */ ))+61) ); array←v7796 = (word) ( *( (fPt) ((* (ptr) pd55 ))))((* (ptr) (stack←v7752) ), pd55); }; SOURCE(952, 20) { word pd56; pd56 = (* (( (ptr) (* (( (ptr) gf←c24516)+131)/* var←c22692 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd56 ))))(frame←v4224, array←v7796, pd56); }; SOURCE(974, 18) (void) Push←P120(frame←v4224, array←v7796); SOURCE(994, 27) { word pd57; pd57 = (* (( (ptr) (* (( (ptr) gf←c24516)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd57 ))))(7, pd57); }; }; }; SOURCE(1024, 35) { word idx58; word limit59; if (((* (( (W3Pt) (( (ptr) stack←v7752)+3))+( idx58 = (* (ptr) stack←v7752 ), limit59 = (* (( (ptr) stack←v7752)+2) ), BCK(idx58, limit59) )) ).f0 != 0)) { SOURCE(1059, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(1073, 29) SOURCE(1074, 28) { word idx60; word limit61; (* (W2Pt) (( (ptr) (( (W3Pt) (( (ptr) stack←v7752)+3))+( idx60 = (* (ptr) stack←v7752 ), limit61 = (* (( (ptr) stack←v7752)+2) ), BCK(idx60, limit61) )))+1) ) = val←v4252; }; SOURCE(1105, 27) (* (ptr) stack←v7752 ) = ((* (ptr) stack←v7752 ) + 1); SOURCE(1134, 53) if (((* (ptr) stack←v7752 ) > (* (( (ptr) stack←v7752)+1) ))) { SOURCE(1164, 23) (* (( (ptr) stack←v7752)+1) ) = (* (ptr) stack←v7752 ); }; } static void PushInt←P240(frame←v4312, val←v4340) word frame←v4312; word val←v4340; { word impl←v7840; word stack←v7868; W2 num←v7896; /* PushInt: */ SOURCE(1193, 349) SOURCE(1243, 28) impl←v7840 = (* (ptr) frame←v4312 ); SOURCE(1273, 25) stack←v7868 = (* (ptr) impl←v7840 ); SOURCE(1300, 27) num←v7896.f0 = 0; num←v7896.f1 = val←v4340; SOURCE(1329, 213) { word tc62; word idx63; word limit64; if (((* (ptr) stack←v7868 ) < (* (( (ptr) stack←v7868)+2) ))) { tc62 = (word) ((* (( (W3Pt) (( (ptr) stack←v7868)+3))+( idx63 = (* (ptr) stack←v7868 ), limit64 = (* (( (ptr) stack←v7868)+2) ), BCK(idx63, limit64) )) ).f0 == 0); } else { tc62 = (word) 0; }; if (tc62) { SOURCE(1400, 29) SOURCE(1401, 28) { word idx65; word limit66; (* (W2Pt) (( (ptr) (( (W3Pt) (( (ptr) stack←v7868)+3))+( idx65 = (* (ptr) stack←v7868 ), limit66 = (* (( (ptr) stack←v7868)+2) ), BCK(idx65, limit66) )))+1) ) = num←v7896; }; SOURCE(1432, 27) (* (ptr) stack←v7868 ) = ((* (ptr) stack←v7868 ) + 1); SOURCE(1461, 53) if (((* (ptr) stack←v7868 ) > (* (( (ptr) stack←v7868)+1) ))) { SOURCE(1491, 23) (* (( (ptr) stack←v7868)+1) ) = (* (ptr) stack←v7868 ); }; } else { SOURCE(1523, 19) (void) PushNum←P180(frame←v4312, num←v7896); }; }; } static void PushBool←P300(frame←v4400, val←v4428) word frame←v4400; word val←v4428; { /* PushBool: */ SOURCE(1548, 88) SOURCE(1600, 36) (void) PushInt←P240(frame←v4400, ( (0 != val←v4428) ? 1 : 0 ) ); } static void PushReal←P360(frame←v4488, val←v4516) word frame←v4488; word val←v4516; { word impl←v7940; word stack←v7968; W2 num←v7996; /* PushReal: */ SOURCE(1642, 352) SOURCE(1694, 28) impl←v7940 = (* (ptr) frame←v4488 ); SOURCE(1724, 25) stack←v7968 = (* (ptr) impl←v7940 ); SOURCE(1751, 28) num←v7996.f0 = 1; num←v7996.f1 = val←v4516; SOURCE(1781, 213) { word tc67; word idx68; word limit69; if (((* (ptr) stack←v7968 ) < (* (( (ptr) stack←v7968)+2) ))) { tc67 = (word) ((* (( (W3Pt) (( (ptr) stack←v7968)+3))+( idx68 = (* (ptr) stack←v7968 ), limit69 = (* (( (ptr) stack←v7968)+2) ), BCK(idx68, limit69) )) ).f0 == 0); } else { tc67 = (word) 0; }; if (tc67) { SOURCE(1852, 29) SOURCE(1853, 28) { word idx70; word limit71; (* (W2Pt) (( (ptr) (( (W3Pt) (( (ptr) stack←v7968)+3))+( idx70 = (* (ptr) stack←v7968 ), limit71 = (* (( (ptr) stack←v7968)+2) ), BCK(idx70, limit71) )))+1) ) = num←v7996; }; SOURCE(1884, 27) (* (ptr) stack←v7968 ) = ((* (ptr) stack←v7968 ) + 1); SOURCE(1913, 53) if (((* (ptr) stack←v7968 ) > (* (( (ptr) stack←v7968)+1) ))) { SOURCE(1943, 23) (* (( (ptr) stack←v7968)+1) ) = (* (ptr) stack←v7968 ); }; } else { SOURCE(1975, 19) (void) PushNum←P180(frame←v4488, num←v7996); }; }; } static void PushAtom←P420(frame←v4576, val←v4604) word frame←v4576; word val←v4604; { register ptr gf←c24548 = (ptr) &globalframe; /* PushAtom: */ SOURCE(2000, 111) SOURCE(2052, 41) if ((val←v4604 == 0)) { SOURCE(2068, 25) { word pd72; pd72 = (* (( (ptr) (* (( (ptr) gf←c24548)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd72 ))))(4, pd72); }; }; SOURCE(2095, 16) (void) Push←P120(frame←v4576, val←v4604); } static void PushRope←P480(frame←v4664, val←v4692) word frame←v4664; word val←v4692; { register ptr gf←c24580 = (ptr) &globalframe; word rope←v8040; /* PushRope: */ SOURCE(2153, 148) SOURCE(2205, 47) rope←v8040 = ( (val←v4692 == 0) ? (* (( (ptr) gf←c24580)+4)/* emptyRope←v2748 */ ) : val←v4692 ) ; SOURCE(2284, 17) (void) Push←P120(frame←v4664, rope←v8040); } static void PushStream←P540(frame←v4752, val←v4780) word frame←v4752; word val←v4780; { register ptr gf←c24612 = (ptr) &globalframe; /* PushStream: */ SOURCE(2307, 115) SOURCE(2363, 41) if ((val←v4780 == 0)) { SOURCE(2379, 25) { word pd73; pd73 = (* (( (ptr) (* (( (ptr) gf←c24612)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd73 ))))(4, pd73); }; }; SOURCE(2406, 16) (void) Push←P120(frame←v4752, val←v4780); } static void PushCmd←P600(frame←v4840, val←v4868) word frame←v4840; word val←v4868; { register ptr gf←c24644 = (ptr) &globalframe; /* PushCmd: */ SOURCE(2428, 109) SOURCE(2478, 41) if ((val←v4868 == 0)) { SOURCE(2494, 25) { word pd74; pd74 = (* (( (ptr) (* (( (ptr) gf←c24644)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd74 ))))(4, pd74); }; }; SOURCE(2521, 16) (void) Push←P120(frame←v4840, val←v4868); } static void PushArray←P660(frame←v4928, val←v4956) word frame←v4928; word val←v4956; { register ptr gf←c24676 = (ptr) &globalframe; /* PushArray: */ SOURCE(2543, 113) SOURCE(2597, 41) if ((val←v4956 == 0)) { SOURCE(2613, 25) { word pd75; pd75 = (* (( (ptr) (* (( (ptr) gf←c24676)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd75 ))))(4, pd75); }; }; SOURCE(2640, 16) (void) Push←P120(frame←v4928, val←v4956); } static void PushDict←P720(frame←v5016, val←v5044) word frame←v5016; word val←v5044; { register ptr gf←c24708 = (ptr) &globalframe; /* PushDict: */ SOURCE(2662, 111) SOURCE(2714, 41) if ((val←v5044 == 0)) { SOURCE(2730, 25) { word pd76; pd76 = (* (( (ptr) (* (( (ptr) gf←c24708)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd76 ))))(4, pd76); }; }; SOURCE(2757, 16) (void) Push←P120(frame←v5016, val←v5044); } static void PushMark←P780(frame←v5104, val←v5132) word frame←v5104; word val←v5132; { register ptr gf←c24740 = (ptr) &globalframe; /* PushMark: */ SOURCE(2779, 111) SOURCE(2831, 41) if ((val←v5132 == 0)) { SOURCE(2847, 25) { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf←c24740)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd77 ))))(4, pd77); }; }; SOURCE(2874, 16) (void) Push←P120(frame←v5104, val←v5132); } static word Pop←P840(frame←v5192) word frame←v5192; { register ptr gf←c24772 = (ptr) &globalframe; word var←c5236; word impl←v8084; word stack←v8112; word ref←v8140 = 0; /* Pop: */ SOURCE(2897, 345) SOURCE(2947, 28) impl←v8084 = (* (ptr) frame←v5192 ); SOURCE(2977, 25) stack←v8112 = (* (ptr) impl←v8084 ); SOURCE(3014, 54) if (((* (ptr) stack←v8112 ) <= 0)) { SOURCE(3040, 28) { word pd78; pd78 = (* (( (ptr) (* (( (ptr) gf←c24772)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd78 ))))(6, pd78); }; }; SOURCE(3070, 27) { word idx79; (* (ptr) stack←v8112 ) = ( idx79 = (word) ((* (ptr) stack←v8112 ) - 1), SGNCK(idx79) ); }; SOURCE(3099, 28) { word idx80; word limit81; ref←v8140 = (* (( (W3Pt) (( (ptr) stack←v8112)+3))+( idx80 = (* (ptr) stack←v8112 ), limit81 = (* (( (ptr) stack←v8112)+2) ), BCK(idx80, limit81) )) ).f0; }; SOURCE(3129, 113) if ((ref←v8140 == 0)) { SOURCE(3145, 53) { word var←c22916; var←c22916 = XR←NewObject(8, (* (( (ptr) gf←c24772)+17) )); { word idx82; word limit83; (* (W2Pt) var←c22916 ) = (* (W2Pt) (( (ptr) (( (W3Pt) (( (ptr) stack←v8112)+3))+( idx82 = (* (ptr) stack←v8112 ), limit83 = (* (( (ptr) stack←v8112)+2) ), BCK(idx82, limit83) )))+1) ); }; return(var←c22916); }; } else { SOURCE(3200, 28) { word idx84; word limit85; (* (( (W3Pt) (( (ptr) stack←v8112)+3))+( idx84 = (* (ptr) stack←v8112 ), limit85 = (* (( (ptr) stack←v8112)+2) ), BCK(idx84, limit85) )) ).f0 = 0; }; SOURCE(3230, 12) return(ref←v8140); }; } static void Remove←P900(frame←v5296) word frame←v5296; { register ptr gf←c24804 = (ptr) &globalframe; word impl←v8200; word stack←v8228; /* Remove: */ SOURCE(3249, 237) SOURCE(3281, 28) impl←v8200 = (* (ptr) frame←v5296 ); SOURCE(3311, 25) stack←v8228 = (* (ptr) impl←v8200 ); SOURCE(3338, 54) if (((* (ptr) stack←v8228 ) <= 0)) { SOURCE(3364, 28) { word pd86; pd86 = (* (( (ptr) (* (( (ptr) gf←c24804)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd86 ))))(6, pd86); }; }; SOURCE(3394, 27) { word idx87; (* (ptr) stack←v8228 ) = ( idx87 = (word) ((* (ptr) stack←v8228 ) - 1), SGNCK(idx87) ); }; SOURCE(3423, 63) { word idx88; word limit89; if (((* (( (W3Pt) (( (ptr) stack←v8228)+3))+( idx88 = (* (ptr) stack←v8228 ), limit89 = (* (( (ptr) stack←v8228)+2) ), BCK(idx88, limit89) )) ).f0 != 0)) { SOURCE(3458, 28) { word idx90; word limit91; (* (( (W3Pt) (( (ptr) stack←v8228)+3))+( idx90 = (* (ptr) stack←v8228 ), limit91 = (* (( (ptr) stack←v8228)+2) ), BCK(idx90, limit91) )) ).f0 = 0; }; }; }; } static void PopNum←P960(formal←c0121, frame←v5356) word formal←c0121; word frame←v5356; { register ptr gf←c24836 = (ptr) &globalframe; W2 var←c5400; word impl←v8272; word stack←v8300; word ref←v8328 = 0; /* PopNum: */ SOURCE(3492, 353) SOURCE(3551, 28) impl←v8272 = (* (ptr) frame←v5356 ); SOURCE(3581, 25) stack←v8300 = (* (ptr) impl←v8272 ); SOURCE(3618, 54) if (((* (ptr) stack←v8300 ) <= 0)) { SOURCE(3644, 28) { word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf←c24836)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd92 ))))(6, pd92); }; }; SOURCE(3674, 27) { word idx93; (* (ptr) stack←v8300 ) = ( idx93 = (word) ((* (ptr) stack←v8300 ) - 1), SGNCK(idx93) ); }; SOURCE(3703, 28) { word idx94; word limit95; ref←v8328 = (* (( (W3Pt) (( (ptr) stack←v8300)+3))+( idx94 = (* (ptr) stack←v8300 ), limit95 = (* (( (ptr) stack←v8300)+2) ), BCK(idx94, limit95) )) ).f0; }; SOURCE(3733, 112) if ((ref←v8328 == 0)) { SOURCE(3749, 36) { W2 var←c22948; { word idx96; word limit97; var←c22948 = (* (W2Pt) (( (ptr) (( (W3Pt) (( (ptr) stack←v8300)+3))+( idx96 = (* (ptr) stack←v8300 ), limit97 = (* (( (ptr) stack←v8300)+2) ), BCK(idx96, limit97) )))+1) ); }; var←c5400 = var←c22948; /* removed tail goto */ }; } else { SOURCE(3787, 28) { word idx98; word limit99; (* (( (W3Pt) (( (ptr) stack←v8300)+3))+( idx98 = (* (ptr) stack←v8300 ), limit99 = (* (( (ptr) stack←v8300)+2) ), BCK(idx98, limit99) )) ).f0 = 0; }; SOURCE(3817, 28) { W2 var←c23012; { word pd100; pd100 = (* (( (ptr) (* (( (ptr) gf←c24836)+131)/* var←c22692 */ ))+13) ); var←c23012 = (* (W2Pt) ( *( (fPt) ((* (ptr) pd100 ))))(ref←v8328, pd100) ); }; var←c5400 = var←c23012; /* removed tail goto */ }; }; (* (W2Pt) formal←c0121 ) = var←c5400; return; } static word PopInt←P1020(frame←v5460) word frame←v5460; { register ptr gf←c24868 = (ptr) &globalframe; word var←c5504; word impl←v8384; word stack←v8412; word ref←v8440 = 0; /* PopInt: */ SOURCE(3852, 433) SOURCE(3905, 28) impl←v8384 = (* (ptr) frame←v5460 ); SOURCE(3935, 25) stack←v8412 = (* (ptr) impl←v8384 ); SOURCE(3972, 54) if (((* (ptr) stack←v8412 ) <= 0)) { SOURCE(3998, 28) { word pd101; pd101 = (* (( (ptr) (* (( (ptr) gf←c24868)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd101 ))))(6, pd101); }; }; SOURCE(4028, 27) { word idx102; (* (ptr) stack←v8412 ) = ( idx102 = (word) ((* (ptr) stack←v8412 ) - 1), SGNCK(idx102) ); }; SOURCE(4057, 28) { word idx103; word limit104; ref←v8440 = (* (( (W3Pt) (( (ptr) stack←v8412)+3))+( idx103 = (* (ptr) stack←v8412 ), limit104 = (* (( (ptr) stack←v8412)+2) ), BCK(idx103, limit104) )) ).f0; }; SOURCE(4087, 198) if ((ref←v8440 == 0)) { SOURCE(4103, 119) { W2 n←v8496; SOURCE(4105, 37) { word idx105; word limit106; n←v8496 = (* (W2Pt) (( (ptr) (( (W3Pt) (( (ptr) stack←v8412)+3))+( idx105 = (* (ptr) stack←v8412 ), limit106 = (* (( (ptr) stack←v8412)+2) ), BCK(idx105, limit106) )))+1) ); }; SOURCE(4144, 76) { word var←c23044; var←c23044 = n←v8496.f0; if ((var←c23044 == 0)) { SOURCE(4173, 13) return(n←v8496.f1); } else { SOURCE(4199, 21) { word pd107; pd107 = (* (( (ptr) (* (( (ptr) gf←c24868)+131)/* var←c22692 */ ))+9) ); return((word) ( *( (fPt) ((* (ptr) pd107 ))))(n←v8496, pd107)); }; }; }; }; } else { SOURCE(4231, 28) { word idx108; word limit109; (* (( (W3Pt) (( (ptr) stack←v8412)+3))+( idx108 = (* (ptr) stack←v8412 ), limit109 = (* (( (ptr) stack←v8412)+2) ), BCK(idx108, limit109) )) ).f0 = 0; }; SOURCE(4261, 24) { word pd110; pd110 = (* (( (ptr) (* (( (ptr) gf←c24868)+131)/* var←c22692 */ ))+11) ); return((word) ( *( (fPt) ((* (ptr) pd110 ))))(ref←v8440, pd110)); }; }; } static word PopBool←P1080(frame←v5564) word frame←v5564; { word var←c5608; /* PopBool: */ SOURCE(4292, 78) SOURCE(4347, 23) return( (unsigned) ( (int)(word) PopInt←P1020(frame←v5564) != (int)0)); } static word PopReal←P1140(frame←v5668) word frame←v5668; { register ptr gf←c24900 = (ptr) &globalframe; word var←c5712; word impl←v8540; word stack←v8568; word ref←v8596 = 0; /* PopReal: */ SOURCE(4376, 467) SOURCE(4431, 28) impl←v8540 = (* (ptr) frame←v5668 ); SOURCE(4461, 25) stack←v8568 = (* (ptr) impl←v8540 ); SOURCE(4498, 54) if (((* (ptr) stack←v8568 ) <= 0)) { SOURCE(4524, 28) { word pd111; pd111 = (* (( (ptr) (* (( (ptr) gf←c24900)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd111 ))))(6, pd111); }; }; SOURCE(4554, 27) { word idx112; (* (ptr) stack←v8568 ) = ( idx112 = (word) ((* (ptr) stack←v8568 ) - 1), SGNCK(idx112) ); }; SOURCE(4583, 28) { word idx113; word limit114; ref←v8596 = (* (( (W3Pt) (( (ptr) stack←v8568)+3))+( idx113 = (* (ptr) stack←v8568 ), limit114 = (* (( (ptr) stack←v8568)+2) ), BCK(idx113, limit114) )) ).f0; }; SOURCE(4613, 230) if ((ref←v8596 == 0)) { SOURCE(4629, 150) { W2 n←v8652; SOURCE(4631, 37) { word idx115; word limit116; n←v8652 = (* (W2Pt) (( (ptr) (( (W3Pt) (( (ptr) stack←v8568)+3))+( idx115 = (* (ptr) stack←v8568 ), limit116 = (* (( (ptr) stack←v8568)+2) ), BCK(idx115, limit116) )))+1) ); }; SOURCE(4670, 107) { word var←c23172; var←c23172 = n←v8652.f0; if ((var←c23172 == 0)) { SOURCE(4699, 19) { float tf117; return(( tf117 = (float)(int)n←v8652.f1, *(word*)&tf117 )); }; } else { if ((var←c23172 == 1)) { SOURCE(4728, 14) return(n←v8652.f1); } else { SOURCE(4755, 22) { word pd118; pd118 = (* (( (ptr) (* (( (ptr) gf←c24900)+131)/* var←c22692 */ ))+10) ); return((word) ( *( (fPt) ((* (ptr) pd118 ))))(n←v8652, pd118)); }; }; }; }; }; } else { SOURCE(4788, 28) { word idx119; word limit120; (* (( (W3Pt) (( (ptr) stack←v8568)+3))+( idx119 = (* (ptr) stack←v8568 ), limit120 = (* (( (ptr) stack←v8568)+2) ), BCK(idx119, limit120) )) ).f0 = 0; }; SOURCE(4818, 25) { word pd121; pd121 = (* (( (ptr) (* (( (ptr) gf←c24900)+131)/* var←c22692 */ ))+12) ); return((word) ( *( (fPt) ((* (ptr) pd121 ))))(ref←v8596, pd121)); }; }; } static word PopAtom←P1200(frame←v5772) word frame←v5772; { register ptr gf←c24932 = (ptr) &globalframe; word var←c5816; word x←v8696; /* PopAtom: */ SOURCE(4851, 150) SOURCE(4906, 19) x←v8696 = (word) Pop←P840(frame←v5772); SOURCE(4927, 74) { word var←c23268; var←c23268 = x←v8696; if ((var←c23268 == 0)) { goto lab←L100001; }; if (((* (( (ptr) gf←c24932)+16) ) == XR←GetReferentType(var←c23268))) { { word x←v8740; x←v8740 = var←c23268; SOURCE(4957, 9) return(x←v8740); }; } else { lab←L100001: ; SOURCE(4979, 22) { word pd122; pd122 = (* (( (ptr) (* (( (ptr) gf←c24932)+131)/* var←c22692 */ ))+14) ); return((word) ( *( (fPt) ((* (ptr) pd122 ))))(x←v8696, pd122)); }; }; }; } static word PopRope←P1260(frame←v5876) word frame←v5876; { register ptr gf←c24964 = (ptr) &globalframe; word var←c5920; word x←v8784; /* PopRope: */ SOURCE(5007, 150) SOURCE(5062, 19) x←v8784 = (word) Pop←P840(frame←v5876); SOURCE(5083, 74) { word var←c23332; var←c23332 = x←v8784; if ((var←c23332 == 0)) { goto lab←L100002; }; { word tc123; if (((* (( (ptr) gf←c24964)+9) ) == XR←GetReferentType(var←c23332))) { tc123 = (word) ( (unsigned) (*(int*)var←c23332<0) == 0); } else { tc123 = (word) 0; }; if (tc123) { { word x←v8828; x←v8828 = var←c23332; SOURCE(5113, 9) return(x←v8828); }; } else { lab←L100002: ; SOURCE(5135, 22) { word pd124; pd124 = (* (( (ptr) (* (( (ptr) gf←c24964)+131)/* var←c22692 */ ))+15) ); return((word) ( *( (fPt) ((* (ptr) pd124 ))))(x←v8784, pd124)); }; }; }; }; } static word PopStream←P1320(frame←v5980) word frame←v5980; { register ptr gf←c24996 = (ptr) &globalframe; word var←c6024; word x←v8872; /* PopStream: */ SOURCE(5163, 158) SOURCE(5222, 19) x←v8872 = (word) Pop←P840(frame←v5980); SOURCE(5243, 78) { word var←c23396; var←c23396 = x←v8872; if ((var←c23396 == 0)) { goto lab←L100003; }; if (((* (( (ptr) gf←c24996)+15) ) == XR←GetReferentType(var←c23396))) { { word x←v8916; x←v8916 = var←c23396; SOURCE(5275, 9) return(x←v8916); }; } else { lab←L100003: ; SOURCE(5297, 24) { word pd125; pd125 = (* (( (ptr) (* (( (ptr) gf←c24996)+131)/* var←c22692 */ ))+16) ); return((word) ( *( (fPt) ((* (ptr) pd125 ))))(x←v8872, pd125)); }; }; }; } static word PopCmd←P1380(frame←v6084) word frame←v6084; { register ptr gf←c25028 = (ptr) &globalframe; word var←c6128; word x←v8960; /* PopCmd: */ SOURCE(5327, 146) SOURCE(5380, 19) x←v8960 = (word) Pop←P840(frame←v6084); SOURCE(5401, 72) { word var←c23460; var←c23460 = x←v8960; if ((var←c23460 == 0)) { goto lab←L100004; }; if (((* (( (ptr) gf←c25028)+14) ) == XR←GetReferentType(var←c23460))) { { word x←v9004; x←v9004 = var←c23460; SOURCE(5430, 9) return(x←v9004); }; } else { lab←L100004: ; SOURCE(5452, 21) { word pd126; pd126 = (* (( (ptr) (* (( (ptr) gf←c25028)+131)/* var←c22692 */ ))+17) ); return((word) ( *( (fPt) ((* (ptr) pd126 ))))(x←v8960, pd126)); }; }; }; } static word PopArray←P1440(frame←v6188) word frame←v6188; { register ptr gf←c25060 = (ptr) &globalframe; word var←c6232; word x←v9048; /* PopArray: */ SOURCE(5479, 154) SOURCE(5536, 19) x←v9048 = (word) Pop←P840(frame←v6188); SOURCE(5557, 76) { word var←c23524; var←c23524 = x←v9048; if ((var←c23524 == 0)) { goto lab←L100005; }; if (((* (( (ptr) gf←c25060)+13) ) == XR←GetReferentType(var←c23524))) { { word x←v9092; x←v9092 = var←c23524; SOURCE(5588, 9) return(x←v9092); }; } else { lab←L100005: ; SOURCE(5610, 23) { word pd127; pd127 = (* (( (ptr) (* (( (ptr) gf←c25060)+131)/* var←c22692 */ ))+18) ); return((word) ( *( (fPt) ((* (ptr) pd127 ))))(x←v9048, pd127)); }; }; }; } static word PopDict←P1500(frame←v6292) word frame←v6292; { register ptr gf←c25092 = (ptr) &globalframe; word var←c6336; word x←v9136; /* PopDict: */ SOURCE(5639, 150) SOURCE(5694, 19) x←v9136 = (word) Pop←P840(frame←v6292); SOURCE(5715, 74) { word var←c23588; var←c23588 = x←v9136; if ((var←c23588 == 0)) { goto lab←L100006; }; if (((* (( (ptr) gf←c25092)+12) ) == XR←GetReferentType(var←c23588))) { { word x←v9180; x←v9180 = var←c23588; SOURCE(5745, 9) return(x←v9180); }; } else { lab←L100006: ; SOURCE(5767, 22) { word pd128; pd128 = (* (( (ptr) (* (( (ptr) gf←c25092)+131)/* var←c22692 */ ))+19) ); return((word) ( *( (fPt) ((* (ptr) pd128 ))))(x←v9136, pd128)); }; }; }; } static word PopMark←P1560(frame←v6396) word frame←v6396; { register ptr gf←c25124 = (ptr) &globalframe; word var←c6440; word x←v9224; /* PopMark: */ SOURCE(5795, 150) SOURCE(5850, 19) x←v9224 = (word) Pop←P840(frame←v6396); SOURCE(5871, 74) { word var←c23652; var←c23652 = x←v9224; if ((var←c23652 == 0)) { goto lab←L100007; }; if (((* (( (ptr) gf←c25124)+7) ) == XR←GetReferentType(var←c23652))) { { word x←v9268; x←v9268 = var←c23652; SOURCE(5901, 9) return(x←v9268); }; } else { lab←L100007: ; SOURCE(5923, 22) { word pd129; pd129 = (* (( (ptr) (* (( (ptr) gf←c25124)+131)/* var←c22692 */ ))+20) ); return((word) ( *( (fPt) ((* (ptr) pd129 ))))(x←v9224, pd129)); }; }; }; } static void Copy←P1620(frame←v6500, n←v6528) word frame←v6500; word n←v6528; { register ptr gf←c25156 = (ptr) &globalframe; word impl←v9312; word stack←v9340; /* Copy: */ SOURCE(5952, 484) SOURCE(5997, 28) impl←v9312 = (* (ptr) frame←v6500 ); SOURCE(6027, 25) stack←v9340 = (* (ptr) impl←v9312 ); SOURCE(6054, 37) if (( (int)n←v6528 < (int)0)) { SOURCE(6066, 25) { word pd130; pd130 = (* (( (ptr) (* (( (ptr) gf←c25156)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd130 ))))(4, pd130); }; }; SOURCE(6093, 50) if (( (int)(* (ptr) stack←v9340 ) < (int)n←v6528)) { SOURCE(6115, 28) { word pd131; pd131 = (* (( (ptr) (* (( (ptr) gf←c25156)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd131 ))))(6, pd131); }; }; SOURCE(6145, 143) if (( (int)((* (( (ptr) stack←v9340)+2) ) - (* (ptr) stack←v9340 )) < (int)n←v6528)) { SOURCE(6180, 108) { word array←v9384; SOURCE(6181, 36) { word pd132; pd132 = (* (( (ptr) (* (( (ptr) gf←c25156)+131)/* var←c22692 */ ))+61) ); array←v9384 = (word) ( *( (fPt) ((* (ptr) pd132 ))))((* (ptr) (stack←v9340) ), pd132); }; SOURCE(6219, 20) { word pd133; pd133 = (* (( (ptr) (* (( (ptr) gf←c25156)+131)/* var←c22692 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd133 ))))(frame←v6500, array←v9384, pd133); }; SOURCE(6241, 18) (void) Push←P120(frame←v6500, array←v9384); SOURCE(6261, 27) { word pd134; pd134 = (* (( (ptr) (* (( (ptr) gf←c25156)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd134 ))))(7, pd134); }; }; }; SOURCE(6291, 145) if (( (int)n←v6528 != (int)0)) { SOURCE(6303, 135) { word k←v9428; word b←v9456; SOURCE(6305, 10) k←v9428 = SGNCK(n←v6528); SOURCE(6317, 22) b←v9456 = ((* (ptr) stack←v9340 ) - k←v9428); SOURCE(6341, 57) { register word i←v9500; register word noName←c23716; i←v9500 = b←v9456; noName←c23716 = (b←v9456 + k←v9428); if ((i←v9500 >= noName←c23716)) { goto lab←L100008; }; lab←L100011: ; SOURCE(6374, 24) SOURCE(6376, 22) { word var←c23748; var←c23748 = (i←v9500 + k←v9428); { word limit135; word limit136; (* (( (W3Pt) (( (ptr) stack←v9340)+3))+( limit135 = (* (( (ptr) stack←v9340)+2) ), BCK(var←c23748, limit135) )) ) = (* (( (W3Pt) (( (ptr) stack←v9340)+3))+( limit136 = (* (( (ptr) stack←v9340)+2) ), BCK(i←v9500, limit136) )) ); }; }; i←v9500 = (i←v9500 + 1); if ((i←v9500 < noName←c23716)) { goto lab←L100011; }; lab←L100008: ; }; SOURCE(6409, 27) { word idx137; (* (ptr) stack←v9340 ) = ( idx137 = (word) ((* (ptr) stack←v9340 ) + k←v9428), SGNCK(idx137) ); }; }; }; } static void Dup←P1680(frame←v6588) word frame←v6588; { /* Dup: */ SOURCE(6445, 51) SOURCE(6481, 15) (void) Copy←P1620(frame←v6588, 1); } static void Roll←P1740(frame←v6648, n←v6676, k←v6704) word frame←v6648; word n←v6676; word k←v6704; { W7 var←c25188; register ptr gf←c25220 = (ptr) &globalframe; /* declaration of var←c23780 skipped */ word impl←v9544; /* declaration of stack←v9572 skipped */ /* Roll: */ SOURCE(6500, 594) { word tmpAddr138; tmpAddr138 = (word) (( (ptr) &var←c25188)+4)/* var←c23780 */ ; (* (ptr) tmpAddr138 ) = ( ((word) (fPt) Reverse←P3720) ); (* (( (ptr) tmpAddr138) + 1) ) = 1; }; SOURCE(6548, 28) impl←v9544 = (* (ptr) frame←v6648 ); SOURCE(6578, 25) var←c25188.f6/* stack←v9572 */ = (* (ptr) impl←v9544 ); SOURCE(6605, 19) if (( (int)k←v6704 < (int)0)) { SOURCE(6617, 7) k←v6704 = (n←v6676 + k←v6704); }; SOURCE(6626, 51) if ((( (int)n←v6676 < (int)0) || ( (int)k←v6704 < (int)0)) || ( (int)k←v6704 > (int)n←v6676)) { SOURCE(6652, 25) { word pd139; pd139 = (* (( (ptr) (* (( (ptr) gf←c25220)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd139 ))))(4, pd139); }; }; SOURCE(6679, 50) if (( (int)(* (ptr) var←c25188.f6/* stack←v9572 */ ) < (int)n←v6676)) { SOURCE(6701, 28) { word pd140; pd140 = (* (( (ptr) (* (( (ptr) gf←c25220)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd140 ))))(6, pd140); }; }; SOURCE(6731, 363) if ((( (int)n←v6676 == (int)0) || ( (int)k←v6704 == (int)0)) || ( (int)k←v6704 == (int)n←v6676)) { } else { SOURCE(6767, 329) { word b←v9616; word m←v9644; SOURCE(6769, 22) b←v9616 = ((* (ptr) var←c25188.f6/* stack←v9572 */ ) - n←v6676); SOURCE(6793, 12) m←v9644 = (n←v6676 - k←v6704); SOURCE(7043, 15) (void) Reverse←P3720(b←v9616, (b←v9616 + m←v9644), (word) (( (bPt) &var←c25188)+16)/* var←c23780 */ ); SOURCE(7060, 17) (void) Reverse←P3720((b←v9616 + m←v9644), (b←v9616 + n←v6676), (word) (( (bPt) &var←c25188)+16)/* var←c23780 */ ); SOURCE(7079, 15) (void) Reverse←P3720(b←v9616, (b←v9616 + n←v6676), (word) (( (bPt) &var←c25188)+16)/* var←c23780 */ ); }; }; } static void Reverse←P3720(bot←v9748, top←v9776, formal←c25252) word bot←v9748; word top←v9776; word formal←c25252; { formal←c25252 = (formal←c25252 - 16); /* Reverse: */ SOURCE(6807, 15) SOURCE(6868, 160) { register word x←v9804 = 0; register word noName←c23812; noName←c23812 = ((word) SGNCK((top←v9776 - bot←v9748)) >> 1); if ((x←v9804 >= noName←c23812)) { goto lab←L100012; }; lab←L100015: ; { word i←v9848; word j←v9876; W3 temp←v9904; SOURCE(6904, 14) i←v9848 = (bot←v9748 + x←v9804); SOURCE(6920, 16) j←v9876 = ((top←v9776 - 1) - x←v9804); SOURCE(6938, 29) { word limit141; temp←v9904 = (* (( (W3Pt) (( (ptr) (* (( (ptr) formal←c25252)+6) ))+3))+( limit141 = (* (( (ptr) (* (( (ptr) formal←c25252)+6) ))+2) ), BCK(i←v9848, limit141) )) ); }; SOURCE(6977, 22) SOURCE(6979, 20) { word limit142; word limit143; (* (( (W3Pt) (( (ptr) (* (( (ptr) formal←c25252)+6) ))+3))+( limit142 = (* (( (ptr) (* (( (ptr) formal←c25252)+6) ))+2) ), BCK(i←v9848, limit142) )) ) = (* (( (W3Pt) (( (ptr) (* (( (ptr) formal←c25252)+6) ))+3))+( limit143 = (* (( (ptr) (* (( (ptr) formal←c25252)+6) ))+2) ), BCK(j←v9876, limit143) )) ); }; SOURCE(7010, 18) SOURCE(7012, 16) { word limit144; (* (( (W3Pt) (( (ptr) (* (( (ptr) formal←c25252)+6) ))+3))+( limit144 = (* (( (ptr) (* (( (ptr) formal←c25252)+6) ))+2) ), BCK(j←v9876, limit144) )) ) = temp←v9904; }; }; x←v9804 = (x←v9804 + 1); if ((x←v9804 < noName←c23812)) { goto lab←L100015; }; lab←L100012: ; }; } static void Exch←P1800(frame←v6764) word frame←v6764; { /* Exch: */ SOURCE(7102, 55) SOURCE(7139, 18) (void) Roll←P1740(frame←v6764, 2, 1); } static word Top←P1860(frame←v6824) word frame←v6824; { register ptr gf←c25284 = (ptr) &globalframe; word var←c6868; word impl←v9948; word stack←v9976; word ref←v10004 = 0; word var←c23844; /* Top: */ SOURCE(7162, 287) SOURCE(7212, 28) impl←v9948 = (* (ptr) frame←v6824 ); SOURCE(7242, 25) stack←v9976 = (* (ptr) impl←v9948 ); SOURCE(7279, 54) if (((* (ptr) stack←v9976 ) <= 0)) { SOURCE(7305, 28) { word pd145; pd145 = (* (( (ptr) (* (( (ptr) gf←c25284)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd145 ))))(6, pd145); }; }; SOURCE(7335, 30) { word limit146; var←c23844 = ((* (ptr) stack←v9976 ) - 1); ref←v10004 = (* (( (W3Pt) (( (ptr) stack←v9976)+3))+( limit146 = (* (( (ptr) stack←v9976)+2) ), BCK(var←c23844, limit146) )) ).f0; }; SOURCE(7367, 82) if ((ref←v10004 == 0)) { SOURCE(7383, 55) { word var←c23908; word var←c23940; var←c23908 = XR←NewObject(8, (* (( (ptr) gf←c25284)+17) )); { word limit147; var←c23940 = ((* (ptr) stack←v9976 ) - 1); (* (W2Pt) var←c23908 ) = (* (W2Pt) (( (ptr) (( (W3Pt) (( (ptr) stack←v9976)+3))+( limit147 = (* (( (ptr) stack←v9976)+2) ), BCK(var←c23940, limit147) )))+1) ); }; return(var←c23908); }; } else { SOURCE(7438, 11) return(ref←v10004); }; } static word TopType←P1920(frame←v6928) word frame←v6928; { register ptr gf←c25316 = (ptr) &globalframe; word var←c6972; word impl←v10060; word stack←v10088; word ref←v10116 = 0; word var←c23972; /* TopType: */ SOURCE(7455, 267) SOURCE(7514, 28) impl←v10060 = (* (ptr) frame←v6928 ); SOURCE(7544, 25) stack←v10088 = (* (ptr) impl←v10060 ); SOURCE(7581, 54) if (((* (ptr) stack←v10088 ) <= 0)) { SOURCE(7607, 28) { word pd148; pd148 = (* (( (ptr) (* (( (ptr) gf←c25316)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd148 ))))(6, pd148); }; }; SOURCE(7637, 30) { word limit149; var←c23972 = ((* (ptr) stack←v10088 ) - 1); ref←v10116 = (* (( (W3Pt) (( (ptr) stack←v10088)+3))+( limit149 = (* (( (ptr) stack←v10088)+2) ), BCK(var←c23972, limit149) )) ).f0; }; SOURCE(7669, 53) if ((ref←v10116 == 0)) { SOURCE(7685, 20) return(1); } else { SOURCE(7705, 17) { word pd150; pd150 = (* (( (ptr) (* (( (ptr) gf←c25316)+131)/* var←c22692 */ ))+7) ); return((word) ( *( (fPt) ((* (ptr) pd150 ))))(ref←v10116, pd150)); }; }; } static word StackIsEmpty←P1980(frame←v7032) word frame←v7032; { word var←c7076; word impl←v10172; word stack←v10200; /* StackIsEmpty: */ SOURCE(7728, 138) SOURCE(7788, 28) impl←v10172 = (* (ptr) frame←v7032 ); SOURCE(7818, 25) stack←v10200 = (* (ptr) impl←v10172 ); SOURCE(7845, 21) return( (unsigned) ((* (ptr) stack←v10200 ) == 0)); } static word CountStack←P2040(frame←v7136) word frame←v7136; { word var←c7180; word impl←v10244; word stack←v10272; /* CountStack: */ SOURCE(7872, 133) SOURCE(7929, 28) impl←v10244 = (* (ptr) frame←v7136 ); SOURCE(7959, 25) stack←v10272 = (* (ptr) impl←v10244 ); SOURCE(7986, 19) return((* (ptr) stack←v10272 )); } static word Index←P2100(frame←v7240, i←v7268) word frame←v7240; word i←v7268; { register ptr gf←c25348 = (ptr) &globalframe; word var←c7312; word impl←v10316; word stack←v10344; word k←v10372; word ref←v10400 = 0; /* Index: */ SOURCE(8011, 338) SOURCE(8071, 28) impl←v10316 = (* (ptr) frame←v7240 ); SOURCE(8101, 25) stack←v10344 = (* (ptr) impl←v10316 ); SOURCE(8146, 37) if (( (int)i←v7268 < (int)0)) { SOURCE(8158, 25) { word pd151; pd151 = (* (( (ptr) (* (( (ptr) gf←c25348)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd151 ))))(4, pd151); }; }; SOURCE(8185, 51) if (( (int)i←v7268 >= (int)(* (ptr) stack←v10344 ))) { SOURCE(8208, 28) { word pd152; pd152 = (* (( (ptr) (* (( (ptr) gf←c25348)+131)/* var←c22692 */ ))+95) ); (void) ( *( (fPt) ((* (ptr) pd152 ))))(6, pd152); }; }; SOURCE(8238, 19) { word idx153; k←v10372 = ( idx153 = (word) (((* (ptr) stack←v10344 ) - 1) - i←v7268), SGNCK(idx153) ); }; SOURCE(8259, 18) { word limit154; ref←v10400 = (* (( (W3Pt) (( (ptr) stack←v10344)+3))+( limit154 = (* (( (ptr) stack←v10344)+2) ), BCK(k←v10372, limit154) )) ).f0; }; SOURCE(8279, 70) if ((ref←v10400 == 0)) { SOURCE(8295, 43) { word var←c24068; var←c24068 = XR←NewObject(8, (* (( (ptr) gf←c25348)+17) )); { word limit155; (* (W2Pt) var←c24068 ) = (* (W2Pt) (( (ptr) (( (W3Pt) (( (ptr) stack←v10344)+3))+( limit155 = (* (( (ptr) stack←v10344)+2) ), BCK(k←v10372, limit155) )))+1) ); }; return(var←c24068); }; } else { SOURCE(8338, 11) return(ref←v10400); }; } static word CountToMark←P2160(frame←v7372) word frame←v7372; { register ptr gf←c25380 = (ptr) &globalframe; word var←c7416; word impl←v10456; word stack←v10484; /* CountToMark: */ SOURCE(8355, 264) SOURCE(8413, 28) impl←v10456 = (* (ptr) frame←v7372 ); SOURCE(8443, 25) stack←v10484 = (* (ptr) impl←v10456 ); SOURCE(8470, 110) { register word i←v10528; i←v10528 = (* (ptr) stack←v10484 ); if ((0 >= i←v10528)) { goto lab←L100016; }; i←v10528 = (i←v10528 - 1); lab←L100019: ; SOURCE(8514, 66) { word var←c24100; { word limit156; var←c24100 = (* (( (W3Pt) (( (ptr) stack←v10484)+3))+( limit156 = (* (( (ptr) stack←v10484)+2) ), BCK(i←v10528, limit156) )) ).f0; }; if ((var←c24100 == 0)) { goto lab←L100020; }; if (((* (( (ptr) gf←c25380)+7) ) == XR←GetReferentType(var←c24100))) { { word x←v10572; x←v10572 = var←c24100; SOURCE(8555, 25) return(((* (ptr) stack←v10484 ) - (i←v10528 + 1))); }; } else { lab←L100020: ; }; }; if ((0 >= i←v10528)) { goto lab←L100016; }; i←v10528 = (i←v10528 - 1); goto lab←L100019; lab←L100016: ; }; SOURCE(8600, 19) return((* (ptr) stack←v10484 )); } static void ClearToMark←P2220(frame←v7476) word frame←v7476; { register ptr gf←c25412 = (ptr) &globalframe; word impl←v10616; word stack←v10644; /* ClearToMark: */ SOURCE(8625, 242) SOURCE(8669, 28) impl←v10616 = (* (ptr) frame←v7476 ); SOURCE(8699, 25) stack←v10644 = (* (ptr) impl←v10616 ); SOURCE(8726, 141) lab←L100023: ; if (((* (ptr) stack←v10644 ) > 0)) { } else { goto lab←L100021; }; { word ref←v10688; word var←c24164; SOURCE(8749, 49) { word limit158; { word idx157; var←c24164 = ( idx157 = (word) ((* (ptr) stack←v10644 ) - 1), SGNCK(idx157) ); }; (* (ptr) stack←v10644 ) = var←c24164; ref←v10688 = (* (( (W3Pt) (( (ptr) stack←v10644)+3))+( limit158 = (* (( (ptr) stack←v10644)+2) ), BCK(var←c24164, limit158) )) ).f0; }; SOURCE(8800, 44) if ((ref←v10688 != 0)) { SOURCE(8816, 28) { word idx159; word limit160; (* (( (W3Pt) (( (ptr) stack←v10644)+3))+( idx159 = (* (ptr) stack←v10644 ), limit160 = (* (( (ptr) stack←v10644)+2) ), BCK(idx159, limit160) )) ).f0 = 0; }; }; SOURCE(8846, 21) { word var←c24196; var←c24196 = ref←v10688; if ((var←c24196 == 0)) { goto lab←L100024; }; if (((* (( (ptr) gf←c25412)+7) ) == XR←GetReferentType(var←c24196))) { { word x←v10744; x←v10744 = var←c24196; SOURCE(8878, 4) goto lab←L100022; }; } else { lab←L100024: ; }; }; }; goto lab←L100023; lab←L100021: ; lab←L100022: ; } static void ClearStack←P2280(frame←v7536) word frame←v7536; { word impl←v10788; word stack←v10816; /* ClearStack: */ SOURCE(8906, 218) SOURCE(8949, 28) impl←v10788 = (* (ptr) frame←v7536 ); SOURCE(8979, 25) stack←v10816 = (* (ptr) impl←v10788 ); SOURCE(9006, 118) lab←L100027: ; if (((* (ptr) stack←v10816 ) > 0)) { } else { goto lab←L100025; }; { word ref←v10860; word var←c24260; SOURCE(9029, 49) { word limit162; { word idx161; var←c24260 = ( idx161 = (word) ((* (ptr) stack←v10816 ) - 1), SGNCK(idx161) ); }; (* (ptr) stack←v10816 ) = var←c24260; ref←v10860 = (* (( (W3Pt) (( (ptr) stack←v10816)+3))+( limit162 = (* (( (ptr) stack←v10816)+2) ), BCK(var←c24260, limit162) )) ).f0; }; SOURCE(9080, 44) if ((ref←v10860 != 0)) { SOURCE(9096, 28) { word idx163; word limit164; (* (( (W3Pt) (( (ptr) stack←v10816)+3))+( idx163 = (* (ptr) stack←v10816 ), limit164 = (* (( (ptr) stack←v10816)+2) ), BCK(idx163, limit164) )) ).f0 = 0; }; }; }; goto lab←L100027; lab←L100025: ; } static void ApplyPop←P2340(frame←v13236, cmd←v13264) word frame←v13236; word cmd←v13264; { /* ApplyPop: */ SOURCE(9140, 39) SOURCE(9166, 13) (void) Remove←P900(frame←v13236); } static void ApplyCopy←P2400(frame←v13324, cmd←v13352) word frame←v13324; word cmd←v13352; { word n←v10916; /* ApplyCopy: */ SOURCE(9185, 65) SOURCE(9212, 22) n←v10916 = (word) PopInt←P1020(frame←v13324); SOURCE(9236, 14) (void) Copy←P1620(frame←v13324, n←v10916); } static void ApplyDup←P2460(frame←v13412, cmd←v13440) word frame←v13412; word cmd←v13440; { /* ApplyDup: */ SOURCE(9256, 40) SOURCE(9282, 14) (void) Copy←P1620(frame←v13412, 1); } static void ApplyRoll←P2520(frame←v13500, cmd←v13528) word frame←v13500; word cmd←v13528; { word k←v10960; word n←v10988; /* ApplyRoll: */ SOURCE(9302, 92) SOURCE(9329, 22) k←v10960 = (word) PopInt←P1020(frame←v13500); SOURCE(9353, 22) n←v10988 = (word) PopInt←P1020(frame←v13500); SOURCE(9377, 17) (void) Roll←P1740(frame←v13500, n←v10988, k←v10960); } static void ApplyExch←P2580(frame←v13588, cmd←v13616) word frame←v13588; word cmd←v13616; { /* ApplyExch: */ SOURCE(9400, 44) SOURCE(9427, 17) (void) Roll←P1740(frame←v13588, 2, 1); } static void ApplyCount←P2640(frame←v13676, cmd←v13704) word frame←v13676; word cmd←v13704; { word n←v11032; /* ApplyCount: */ SOURCE(9450, 73) SOURCE(9478, 26) n←v11032 = (word) CountStack←P2040(frame←v13676); SOURCE(9506, 17) (void) PushInt←P240(frame←v13676, n←v11032); } static void ApplyClearStack←P2700(frame←v13764, cmd←v13792) word frame←v13764; word cmd←v13792; { /* ApplyClearStack: */ SOURCE(9529, 50) SOURCE(9562, 17) (void) ClearStack←P2280(frame←v13764); } static void ApplyIndex←P2760(frame←v13852, cmd←v13880) word frame←v13852; word cmd←v13880; { word i←v11076; /* ApplyIndex: */ SOURCE(9585, 80) SOURCE(9613, 22) i←v11076 = (word) PopInt←P1020(frame←v13852); SOURCE(9637, 28) { word var←c24292; var←c24292 = (word) Index←P2100(frame←v13852, i←v11076); (void) Push←P120(frame←v13852, var←c24292); }; } static void ApplyMark←P2820(frame←v13972, cmd←v14000) word frame←v13972; word cmd←v14000; { register ptr gf←c25444 = (ptr) &globalframe; /* ApplyMark: */ SOURCE(9712, 55) SOURCE(9739, 28) (void) PushMark←P780(frame←v13972, (* (( (ptr) gf←c25444)+5)/* defaultMark←v3868 */ )); } static void ApplyCountToMark←P2880(frame←v14060, cmd←v14088) word frame←v14060; word cmd←v14088; { word n←v11120; /* ApplyCountToMark: */ SOURCE(9773, 80) SOURCE(9807, 27) n←v11120 = (word) CountToMark←P2160(frame←v14060); SOURCE(9836, 17) (void) PushInt←P240(frame←v14060, n←v11120); } static void ApplyClearToMark←P2940(frame←v14148, cmd←v14176) word frame←v14148; word cmd←v14176; { /* ApplyClearToMark: */ SOURCE(9859, 52) SOURCE(9893, 18) (void) ClearToMark←P2220(frame←v14148); } /* file: TJaMStackImpl, module: TJaMStackImpl, compiled at: October 19, 1993 1:03:13 pm PDT */ extern void XR←install←TJaMStackImpl() { NoName←Q4116(); } extern void XR←run←TJaMStackImpl() { XR←Start(&globalframe); }