/* 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); }