/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: October 19, 1993 1:01:32 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: TJaMDictImpl, module: TJaMDictImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3777651937,3036392059] TJaMDictImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
#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←Q3984();
static void TJaMDictImpl←P0();
static word RopeFromAtom←P60();
static word AtomFromRope←P120();
static word NewDict←P180();
static word DictLength←P240();
static void TryToGet←P300();
static word Get←P360();
static void Put←P420();
static void Del←P480();
static void ClrDict←P540();
static word delete←P3120();
static word DictForAll←P600();
static word pairAction←P3180();
static word DictMap←P660();
static void AttachDict←P720();
static word find1←P3336();
static word find2←P3396();
static void DetachDict←P780();
static void DetachAll←P840();
static word AttachedForAll←P900();
static word NewDictStack←P960();
static word DictTop←P1020();
static void Begin←P1080();
static void End←P1140();
static word DictStackForAll←P1200();
static word DictStackMap←P1260();
static void Find←P1320();
static word find←P3648();
static void Where←P1380();
static void TryToLoad←P1440();
static word Load←P1500();
static void Def←P1560();
static void Store←P1620();
static word store←P3708();
static void CacheGet←P1680();
static void CachePut←P1740();
static void CacheDel←P1800();
static void CacheClear←P1860();
static void RegisterPrimitive←P1920();
static word PopKey←P1980();
static void ApplyDict←P2040();
static void ApplyGet←P2100();
static void ApplyPut←P2160();
static void ApplyDel←P2220();
static void ApplyClrDict←P2280();
static void ApplyDictForAll←P2340();
static word action←P3864();
static word NoName←Q4044();
static void ApplyAttachDict←P2400();
static void ApplyDetachDict←P2460();
static void ApplyDetachAll←P2520();
static void ApplyAttachedForAll←P2580();
static word action←P3924();
static word NoName←Q4104();
static void ApplyKnown←P2640();
static void ApplyWhere←P2700();
static void ApplyLoad←P2760();
static void ApplyDef←P2820();
static void ApplyStore←P2880();
static void ApplyBegin←P2940();
static void ApplyEnd←P3000();
static void ApplyCurDict←P3060();
static void NoName←Q4164();
static void NoName←Q4224();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string2 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\340\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004\006\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\367\310\321\062\300\174\163\370\126\100\260\000\000"};
static struct {unsigned f; char r[12];} string8 = {589833, "\011\000\004\100\100\040\000\014\001\000\000"};
static struct {unsigned f; char r[48];} string9 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\243\004\305\073\300\011\303\367\103\100\354\005\004\162\145\163\164\214\216\257\300\243\004\305\073\300\011\303\367\103\100\354\261\000\000\000"};
static struct {unsigned f; char r[4];} string10 = {131074, "\004\003\000"};
static struct {unsigned f; char r[4];} string11 = {65540, "\251\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\354\000\000"};
static struct {unsigned f; char r[8];} string13 = {393224, ".known\000"};
static struct {unsigned f; char r[8];} string14 = {393224, ".where\000"};
static struct {unsigned f; char r[8];} string15 = {262152, ".def\000\000\000"};
static struct {unsigned f; char r[8];} string16 = {327688, ".load\000\000"};
static struct {unsigned f; char r[8];} string17 = {393224, ".store\000"};
static struct {unsigned f; char r[8];} string18 = {393224, ".begin\000"};
static struct {unsigned f; char r[8];} string19 = {262152, ".end\000\000\000"};
static struct {unsigned f; char r[12];} string20 = {720908, ".dictforall"};
static struct {unsigned f; char r[12];} string21 = {524300, ".curdict\000\000\000"};
static struct {unsigned f; char r[12];} string22 = {720908, ".attachdict"};
static struct {unsigned f; char r[12];} string23 = {720908, ".detachdict"};
static struct {unsigned f; char r[16];} string24 = {983056, ".attachedforall"};
static struct {unsigned f; char r[12];} string25 = {655372, ".detachall\000"};
static struct {unsigned f; char r[12];} string26 = {524300, ".clrdict\000\000\000"};
static struct {unsigned f; char r[8];} string27 = {262152, ".del\000\000\000"};
static struct {unsigned f; char r[8];} string28 = {262152, ".put\000\000\000"};
static struct {unsigned f; char r[8];} string29 = {262152, ".get\000\000\000"};
static struct {unsigned f; char r[8];} string30 = {327688, ".dict\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\341\052\144\341\300\264\373\252\173\100\164\000\000"};
static struct {unsigned f; char r[12];} string32 = {655370, "\006\002\020\001\070\010\000\004\022\001\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[4];} string35 = {1414160717, "\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\243\004\305\073\300\011\303\367\103\100\150\000\000"};
static struct {unsigned f; char r[28];} string37 = {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];} string38 = {851984, "\257\300\367\310\321\062\300\174\163\370\126\100\164\000\000"};
static struct {unsigned f; char r[4];} string39 = {131074, "\004\017\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\367\310\321\062\300\174\163\370\126\100\150\000\000"};
static struct {
word f0[32]; 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; word f130;
word f131; word f132; word f133; word f134;
word f135[6];
} globalframe = {
{0}, (word) ApplyCurDict←P3060, 0, (word) ApplyEnd←P3000,
0, (word) ApplyBegin←P2940, 0, (word) ApplyStore←P2880,
0, (word) ApplyDef←P2820, 0, (word) ApplyLoad←P2760,
0, (word) ApplyWhere←P2700, 0, (word) ApplyKnown←P2640,
0, (word) ApplyAttachedForAll←P2580, 0, (word) ApplyDetachAll←P2520,
0, (word) ApplyDetachDict←P2460, 0, (word) ApplyAttachDict←P2400,
0, (word) ApplyDictForAll←P2340, 0, (word) ApplyClrDict←P2280,
0, (word) ApplyDel←P2220, 0, (word) ApplyPut←P2160,
0, (word) ApplyGet←P2100, 0, (word) ApplyDict←P2040,
0, (word) PopKey←P1980, 0, (word) RegisterPrimitive←P1920,
0, (word) CacheClear←P1860, 0, (word) CacheDel←P1800,
0, (word) CachePut←P1740, 0, (word) CacheGet←P1680,
0, (word) Store←P1620, 0, (word) Def←P1560,
0, (word) Load←P1500, 0, (word) TryToLoad←P1440,
0, (word) Where←P1380, 0, (word) Find←P1320,
0, (word) DictStackMap←P1260, 0, (word) DictStackForAll←P1200,
0, (word) End←P1140, 0, (word) Begin←P1080,
0, (word) DictTop←P1020, 0, (word) NewDictStack←P960,
0, (word) AttachedForAll←P900, 0, (word) DetachAll←P840,
0, (word) DetachDict←P780, 0, (word) AttachDict←P720,
0, (word) DictMap←P660, 0, (word) DictForAll←P600,
0, (word) ClrDict←P540, 0, (word) Del←P480,
0, (word) Put←P420, 0, (word) Get←P360,
0, (word) TryToGet←P300, 0, (word) DictLength←P240,
0, (word) NewDict←P180, 0, (word) AtomFromRope←P120,
0, (word) RopeFromAtom←P60, 0, (word) TJaMDictImpl←P0,
{0}
};
static void NoName←Q3984()
{
register ptr gf←c0329 = (ptr) &globalframe;
word var←c25096;
(* (( (ptr) gf←c0329)+7) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0329)+8) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0329)+9) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
(* (( (ptr) gf←c0329)+10) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
(* (( (ptr) gf←c0329)+11) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
(* (( (ptr) gf←c0329)+12) ) = (word) XR←GetTypeIndexS((word) (&string11));
(* (( (ptr) gf←c0329)+13) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string10);
(* (ptr) (( (bPt) gf←c0329)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string13);
(* (ptr) (( (bPt) gf←c0329)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string14);
(* (ptr) (( (bPt) gf←c0329)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string15);
(* (ptr) (( (bPt) gf←c0329)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string16);
(* (ptr) (( (bPt) gf←c0329)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string17);
(* (ptr) (( (bPt) gf←c0329)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string18);
(* (ptr) (( (bPt) gf←c0329)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string19);
(* (ptr) (( (bPt) gf←c0329)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string20);
(* (ptr) (( (bPt) gf←c0329)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string21);
(* (ptr) (( (bPt) gf←c0329)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string22);
(* (ptr) (( (bPt) gf←c0329)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string23);
(* (ptr) (( (bPt) gf←c0329)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string24);
(* (ptr) (( (bPt) gf←c0329)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string25);
(* (ptr) (( (bPt) gf←c0329)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string26);
(* (ptr) (( (bPt) gf←c0329)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string27);
(* (ptr) (( (bPt) gf←c0329)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string28);
(* (ptr) (( (bPt) gf←c0329)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string29);
(* (ptr) (( (bPt) gf←c0329)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0329)+8) ), (word) &string30);
(void) XR←DeclareGlobalFrame((word) "TJaMDictImpl", &globalframe, (word) XR←GetTypeIndex((word) &string31, 0, (word) &string32)
, (word) (( (bPt) gf←c0329)+536)/* var←c23496 */ );
var←c25096 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string33)), 16);
(* (( (ptr) gf←c0329)+136)/* var←c23560 */ ) = var←c25096;
(void) XR←ImportProcS(var←c25096, 67895555);
(void) XR←ImportProcS(var←c25096, 67372289);
var←c25096 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string34)), 16);
(* (( (ptr) gf←c0329)+137)/* var←c23624 */ ) = var←c25096;
(void) XR←ImportProcS(var←c25096, 67896323);
(void) XR←ImportProcS(var←c25096, 67635458);
(void) XR←ImportProcS(var←c25096, 67634946);
(void) XR←ImportProcS(var←c25096, 67896579);
(void) XR←ImportProcS(var←c25096, 134742786);
(void) XR←ImportProcS(var←c25096, 67371521);
(void) XR←ImportProcS(var←c25096, 67895555);
var←c25096 = (word) XR←ImportInterface((word) &string35, (word) XR←GetTypeIndexS((word) (&string36)), 101);
(* (( (ptr) gf←c0329)+138)/* var←c23816 */ ) = var←c25096;
(void) XR←ImportProcS(var←c25096, 529922);
(void) XR←ImportProcS(var←c25096, 548610);
(void) XR←ImportProcS(var←c25096, 530946);
(void) XR←ImportProcS(var←c25096, 529666);
(void) XR←ImportProcS(var←c25096, 67382017);
(void) XR←ImportProcS(var←c25096, 532226);
(void) XR←ImportProcS(var←c25096, 67379969);
(void) XR←ImportProcS(var←c25096, 67379457);
(void) XR←ImportProcS(var←c25096, 285441);
var←c25096 = (word) XR←ExportInterface((word) &string35, (word) XR←GetTypeIndexS((word) (&string36)), 101);
(* (( (ptr) gf←c0329)+139)/* var←c25128 */ ) = var←c25096;
(void) XR←ExportType((word) "FrameImplRep", (word) XR←GetTypeIndexS((word) (&string37)), (word) XR←GetTypeIndex((word) &string38, 0, (word) &string39)
);
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+528)/* var←c23464 */ , 67375361, (word) "RopeFromAtom");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+520)/* var←c23432 */ , 67375617, (word) "AtomFromRope");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+512)/* var←c23400 */ , 67388161, (word) "NewDict");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+504)/* var←c23368 */ , 67388417, (word) "DictLength");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+496)/* var←c23336 */ , 134759682, (word) "TryToGet");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+488)/* var←c23304 */ , 67651074, (word) "Get");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+480)/* var←c23272 */ , 804611, (word) "Put");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+472)/* var←c23240 */ , 542722, (word) "Del");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+464)/* var←c23208 */ , 280833, (word) "ClrDict");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+456)/* var←c23176 */ , 67652098, (word) "DictForAll");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+440)/* var←c23112 */ , 543490, (word) "AttachDict");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+432)/* var←c23080 */ , 543746, (word) "DetachDict");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+424)/* var←c23048 */ , 281857, (word) "DetachAll");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+416)/* var←c23016 */ , 67653122, (word) "AttachedForAll");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+352)/* var←c22760 */ , 134762242, (word) "Where");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+344)/* var←c22728 */ , 134762498, (word) "TryToLoad");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+336)/* var←c22696 */ , 67653890, (word) "Load");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+328)/* var←c22664 */ , 807427, (word) "Def");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+320)/* var←c22632 */ , 807683, (word) "Store");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+392)/* var←c22920 */ , 545794, (word) "Begin");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+384)/* var←c22888 */ , 283905, (word) "End");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+400)/* var←c22952 */ , 67393025, (word) "DictTop");
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+280)/* var←c22472 */ , 812035, (word) "RegisterPrimitive");
var←c25096 = (word) XR←ExportInterface((word) "TJaMPrivate", (word) XR←GetTypeIndexS((word) (&string40)), 2);
(* (( (ptr) gf←c0329)+140)/* var←c25160 */ ) = var←c25096;
(void) XR←ExportProcS(var←c25096, (word) (( (bPt) gf←c0329)+408)/* var←c22984 */ , 67371265, (word) "NewDictStack");
}
static void TJaMDictImpl←P0(formal←c067, formal←c066)
word formal←c067;
word formal←c066;
{
register ptr gf←c25192 = (ptr) &globalframe;
/* TJaMDictImpl: */
SOURCE(156, 9108)
SOURCE(5735, 30)
(* (( (ptr) gf←c25192)+4)/* primitives←v3476 */ ) = (word) NewDict←P180(97);
SOURCE(8488, 37)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+31) ), (word) (( (bPt) gf←c25192)+264)/* var←c22408 */ , 0);
SOURCE(8527, 35)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+30) ), (word) (( (bPt) gf←c25192)+256)/* var←c22376 */ , 0);
SOURCE(8564, 35)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+29) ), (word) (( (bPt) gf←c25192)+248)/* var←c22344 */ , 0);
SOURCE(8601, 35)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+28) ), (word) (( (bPt) gf←c25192)+240)/* var←c22312 */ , 0);
SOURCE(8638, 43)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+27) ), (word) (( (bPt) gf←c25192)+232)/* var←c22280 */ , 0);
SOURCE(8683, 39)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+14) ), (word) (( (bPt) gf←c25192)+184)/* var←c22088 */ , 0);
SOURCE(8724, 39)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+15) ), (word) (( (bPt) gf←c25192)+176)/* var←c22056 */ , 0);
SOURCE(8765, 35)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+16) ), (word) (( (bPt) gf←c25192)+160)/* var←c21992 */ , 0);
SOURCE(8802, 37)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+17) ), (word) (( (bPt) gf←c25192)+168)/* var←c22024 */ , 0);
SOURCE(8841, 39)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+18) ), (word) (( (bPt) gf←c25192)+152)/* var←c21960 */ , 0);
SOURCE(8882, 39)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+19) ), (word) (( (bPt) gf←c25192)+144)/* var←c21928 */ , 0);
SOURCE(8923, 35)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+20) ), (word) (( (bPt) gf←c25192)+136)/* var←c21896 */ , 0);
SOURCE(8960, 49)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+21) ), (word) (( (bPt) gf←c25192)+224)/* var←c22248 */ , 0);
SOURCE(9011, 43)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+22) ), (word) (( (bPt) gf←c25192)+128)/* var←c21864 */ , 0);
SOURCE(9056, 49)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+23) ), (word) (( (bPt) gf←c25192)+216)/* var←c22216 */ , 0);
SOURCE(9107, 49)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+24) ), (word) (( (bPt) gf←c25192)+208)/* var←c22184 */ , 0);
SOURCE(9158, 57)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+25) ), (word) (( (bPt) gf←c25192)+192)/* var←c22120 */ , 0);
SOURCE(9217, 47)
(void) RegisterPrimitive←P1920((* (( (ptr) gf←c25192)+26) ), (word) (( (bPt) gf←c25192)+200)/* var←c22152 */ , 0);
}
static word RopeFromAtom←P60(atom←v4116)
word atom←v4116;
{
register ptr gf←c25224 = (ptr) &globalframe;
word var←c4160;
/* RopeFromAtom: */
SOURCE(270, 85)
SOURCE(328, 27)
{
word pd41;
pd41 = (* (( (ptr) (* (( (ptr) gf←c25224)+136)/* var←c23560 */ ))+9) );
return((word) ( *( (fPt) ((* (ptr) pd41 ))))(atom←v4116, pd41));
};
}
static word AtomFromRope←P120(rope←v4220)
word rope←v4220;
{
register ptr gf←c25256 = (ptr) &globalframe;
word var←c4264;
/* AtomFromRope: */
SOURCE(361, 85)
SOURCE(419, 27)
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c25256)+136)/* var←c23560 */ ))+5) );
return((word) ( *( (fPt) ((* (ptr) pd42 ))))(rope←v4220, 0, 2147483647, pd42));
};
}
static word NewDict←P180(mod←v4324)
word mod←v4324;
{
register ptr gf←c25288 = (ptr) &globalframe;
word var←c4368;
word refTab←v7960;
/* NewDict: */
SOURCE(506, 147)
SOURCE(560, 39)
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c25288)+137)/* var←c23624 */ ))+5) );
refTab←v7960 = (word) ( *( (fPt) ((* (ptr) pd43 ))))(mod←v4324, 0, 0, pd43);
};
SOURCE(601, 52)
{
word var←c23688;
var←c23688 = XR←NewObject(8, (* (( (ptr) gf←c25288)+13) ));
(* (ptr) var←c23688 ) = refTab←v7960;
return(var←c23688);
};
}
static word DictLength←P240(dict←v4428)
word dict←v4428;
{
register ptr gf←c25320 = (ptr) &globalframe;
word var←c4472;
/* DictLength: */
SOURCE(659, 82)
SOURCE(712, 29)
{
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c25320)+137)/* var←c23624 */ ))+6) );
return((word) ( *( (fPt) ((* (ptr) pd44 ))))((* (ptr) (dict←v4428) ), pd44));
};
}
static void TryToGet←P300(formal←c084, dict←v4532, key←v4560)
word formal←c084;
word dict←v4532;
word key←v4560;
{
register ptr gf←c25352 = (ptr) &globalframe;
word found←v4604;
word val←v4632;
/* TryToGet: */
SOURCE(747, 117)
SOURCE(747, 117)
val←v4632 = 0;
SOURCE(827, 37)
{
W2 var←c23752;
{
word pd45;
pd45 = (* (( (ptr) (* (( (ptr) gf←c25352)+137)/* var←c23624 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd45 ))))((word) &var←c23752, (* (ptr) dict←v4532 ), key←v4560, pd45);
};
val←v4632 = var←c23752.f1;
found←v4604 = var←c23752.f0;
};
/* removed tail goto */
(* (ptr) formal←c084 ) = found←v4604;
(* (( (ptr) formal←c084)+1) ) = val←v4632;
return;
}
static word Get←P360(dict←v4708, key←v4736)
word dict←v4708;
word key←v4736;
{
register ptr gf←c25384 = (ptr) &globalframe;
word val←v4780;
word found←v8004;
/* Get: */
SOURCE(870, 155)
SOURCE(870, 155)
val←v4780 = 0;
SOURCE(945, 34)
{
W2 var←c23784;
(void) TryToGet←P300((word) &var←c23784, dict←v4708, key←v4736);
val←v4780 = var←c23784.f1;
found←v8004 = var←c23784.f0;
};
SOURCE(981, 44)
if ((0 == found←v8004)) {
SOURCE(999, 26)
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c25384)+138)/* var←c23816 */ ))+95) );
(void) ( *( (fPt) ((* (ptr) pd46 ))))(1, pd46);
};
};
SOURCE(870, 155)
return(val←v4780);
}
static void Put←P420(dict←v4852, key←v4880, val←v4908)
word dict←v4852;
word key←v4880;
word val←v4908;
{
register ptr gf←c25416 = (ptr) &globalframe;
/* Put: */
SOURCE(1031, 86)
SOURCE(1085, 32)
{
word var←c23848;
word pd47;
pd47 = (* (( (ptr) (* (( (ptr) gf←c25416)+137)/* var←c23624 */ ))+9) );
var←c23848 = (word) ( *( (fPt) ((* (ptr) pd47 ))))((* (ptr) dict←v4852 ), key←v4880, val←v4908, pd47);
};
}
static void Del←P480(dict←v4980, key←v5008)
word dict←v4980;
word key←v5008;
{
register ptr gf←c25448 = (ptr) &globalframe;
/* Del: */
SOURCE(1123, 106)
SOURCE(1167, 62)
{
word pd48;
pd48 = (* (( (ptr) (* (( (ptr) gf←c25448)+137)/* var←c23624 */ ))+11) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd48 ))))((* (ptr) dict←v4980 ), key←v5008, pd48))) {
SOURCE(1203, 26)
{
word pd49;
pd49 = (* (( (ptr) (* (( (ptr) gf←c25448)+138)/* var←c23816 */ ))+95) );
(void) ( *( (fPt) ((* (ptr) pd49 ))))(1, pd49);
};
};
};
}
static void ClrDict←P540(dict←v5068)
word dict←v5068;
{
W7 var←c25480;
register ptr gf←c25512 = (ptr) &globalframe;
/* declaration of var←c23880 skipped */
/* declaration of refTab←v8048 skipped */
/* ClrDict: */
SOURCE(1235, 178)
{
word tmpAddr50;
tmpAddr50 = (word) (( (ptr) &var←c25480)+4)/* var←c23880 */ ;
(* (ptr) tmpAddr50 ) = ( ((word) (fPt) delete←P3120) );
(* (( (ptr) tmpAddr50) + 1) ) = 1;
};
SOURCE(1272, 32)
var←c25480.f6/* refTab←v8048 */ = (* (ptr) dict←v5068 );
SOURCE(1388, 25)
{
word var←c23912;
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c25512)+137)/* var←c23624 */ ))+13) );
var←c23912 = (word) ( *( (fPt) ((* (ptr) pd51 ))))(var←c25480.f6/* refTab←v8048 */ , (word) (( (bPt) &var←c25480)+16)/* var←c23880 */ , pd51)
;
};
}
static word delete←P3120(key←v19188, val←v19216, formal←c25576)
word key←v19188;
word val←v19216;
word formal←c25576;
{
register ptr gf←c25544 = (ptr) &globalframe;
word quit←v19260;
formal←c25576 = (formal←c25576 - 16);
/* delete: */
SOURCE(1306, 79)
SOURCE(1306, 79)
quit←v19260 = 0;
SOURCE(1340, 23)
{
word var←c23944;
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c25544)+137)/* var←c23624 */ ))+11) );
var←c23944 = (word) ( *( (fPt) ((* (ptr) pd52 ))))((* (( (ptr) formal←c25576)+6) ), key←v19188, pd52);
};
SOURCE(1365, 20)
return(0);
}
static word DictForAll←P600(dict←v5128, formal←c0406)
word dict←v5128;
word formal←c0406;
{
W7 var←c25608;
/* declaration of action←v5156 skipped */
register ptr gf←c25640 = (ptr) &globalframe;
word var←c5200;
/* declaration of var←c23976 skipped */
var←c25608.f4/* action←v5156 */ = formal←c0406;
/* DictForAll: */
SOURCE(1419, 231)
{
word tmpAddr53;
tmpAddr53 = (word) (( (ptr) &var←c25608)+5)/* var←c23976 */ ;
(* (ptr) tmpAddr53 ) = ( ((word) (fPt) pairAction←P3180) );
(* (( (ptr) tmpAddr53) + 1) ) = 1;
};
SOURCE(1613, 37)
{
word pd54;
pd54 = (* (( (ptr) (* (( (ptr) gf←c25640)+137)/* var←c23624 */ ))+13) );
return((word) ( *( (fPt) ((* (ptr) pd54 ))))((* (ptr) dict←v5128 ), (word) (( (bPt) &var←c25608)+20)/* var←c23976 */ , pd54)
);
};
}
static word pairAction←P3180(key←v19320, val←v19348, formal←c25704)
word key←v19320;
word val←v19348;
word formal←c25704;
{
register ptr gf←c25672 = (ptr) &globalframe;
word quit←v19392;
formal←c25704 = (formal←c25704 - 20);
/* pairAction: */
SOURCE(1494, 96)
SOURCE(1494, 96)
quit←v19392 = 0;
SOURCE(1532, 58)
{
word var←c24040;
var←c24040 = key←v19320;
if ((var←c24040 == 0)) {
goto lab←L100001;
};
if (((* (( (ptr) gf←c25672)+12) ) == XR←GetReferentType(var←c24040))) {
{
word key←v8164;
key←v8164 = var←c24040;
SOURCE(1566, 24)
{
word pd55;
pd55 = (* (( (ptr) formal←c25704)+4) );
return((word) ( *( (fPt) ((* (ptr) pd55 ))))(key←v8164, val←v19348, pd55));
};
};
}
else {
lab←L100001: ;
SOURCE(1603, 5)
(void) XR←RaiseUnnamedError();
};
};
}
static word DictMap←P660(dict←v5260, action←v5288)
word dict←v5260;
word action←v5288;
{
word var←c5332;
/* DictMap: */
SOURCE(1657, 237)
SOURCE(1721, 33)
if ((0 != (word) ( *( (fPt) ((* (ptr) action←v5288 ))))(dict←v5260, action←v5288))) {
SOURCE(1742, 12)
return(1);
};
SOURCE(1756, 114)
{
register word list←v8208;
list←v8208 = (* (( (ptr) dict←v5260)+1) );
lab←L100005: ;
if ((list←v8208 != 0)) {
}
else {
goto lab←L100002;
};
SOURCE(1822, 48)
if ((0 != (word) DictMap←P660((* (ptr) list←v8208 ), action←v5288))) {
SOURCE(1858, 12)
return(1);
};
list←v8208 = (* (( (ptr) list←v8208)+1) );
goto lab←L100005;
lab←L100002: ;
};
SOURCE(1881, 13)
return(0);
}
static void AttachDict←P720(formal←c0407, formal←c0408)
word formal←c0407;
word formal←c0408;
{
W10 var←c25736;
/* declaration of dict1←v5392 skipped */
/* declaration of dict2←v5420 skipped */
register ptr gf←c25768 = (ptr) &globalframe;
/* declaration of var←c24104 skipped */
/* declaration of var←c24136 skipped */
(* (( (ptr) &var←c25736)+4)/* dict1←v5392 */ ) = formal←c0407;
(* (( (ptr) &var←c25736)+5)/* dict2←v5420 */ ) = formal←c0408;
/* AttachDict: */
SOURCE(1900, 295)
{
word tmpAddr56;
tmpAddr56 = (word) (( (ptr) &var←c25736)+6)/* var←c24104 */ ;
(* (ptr) tmpAddr56 ) = ( ((word) (fPt) find2←P3396) );
(* (( (ptr) tmpAddr56) + 1) ) = 1;
};
{
word tmpAddr57;
tmpAddr57 = (word) (( (ptr) &var←c25736)+8)/* var←c24136 */ ;
(* (ptr) tmpAddr57 ) = ( ((word) (fPt) find1←P3336) );
(* (( (ptr) tmpAddr57) + 1) ) = 1;
};
SOURCE(2036, 59)
if ((0 != (word) DictMap←P660((* (( (ptr) &var←c25736)+5)/* dict2←v5420 */ ), (word) (( (bPt) &var←c25736)+32)/* var←c24136 */ )
)) {
SOURCE(2066, 29)
{
word pd58;
pd58 = (* (( (ptr) (* (( (ptr) gf←c25768)+138)/* var←c23816 */ ))+95) );
(void) ( *( (fPt) ((* (ptr) pd58 ))))(10, pd58);
};
};
SOURCE(2097, 36)
if ((0 != (word) DictMap←P660((* (( (ptr) &var←c25736)+4)/* dict1←v5392 */ ), (word) (( (bPt) &var←c25736)+24)/* var←c24104 */ )
)) {
SOURCE(2127, 6)
return;
};
SOURCE(2155, 40)
{
word var←c24168;
var←c24168 = XR←NewObject(8, (* (( (ptr) gf←c25768)+11) ));
(* (ptr) var←c24168 ) = (* (( (ptr) &var←c25736)+5)/* dict2←v5420 */ );
(* (( (ptr) var←c24168)+1) ) = (* (( (ptr) (* (( (ptr) &var←c25736)+4)/* dict1←v5392 */ ))+1) );
(* (( (ptr) (* (( (ptr) &var←c25736)+4)/* dict1←v5392 */ ))+1) ) = var←c24168;
};
}
static word find1←P3336(dict←v19452, formal←c25800)
word dict←v19452;
word formal←c25800;
{
word quit←v19496;
formal←c25800 = (formal←c25800 - 32);
/* find1: */
SOURCE(1948, 41)
SOURCE(1948, 41)
quit←v19496 = 0;
SOURCE(1970, 19)
return( (unsigned) (dict←v19452 == (* (( (ptr) formal←c25800)+4) )));
}
static word find2←P3396(dict←v19556, formal←c25832)
word dict←v19556;
word formal←c25832;
{
word quit←v19600;
formal←c25832 = (formal←c25832 - 24);
/* find2: */
SOURCE(1992, 41)
SOURCE(1992, 41)
quit←v19600 = 0;
SOURCE(2014, 19)
return( (unsigned) (dict←v19556 == (* (( (ptr) formal←c25832)+5) )));
}
static void DetachDict←P780(dict1←v5480, dict2←v5508)
word dict1←v5480;
word dict2←v5508;
{
register ptr gf←c25864 = (ptr) &globalframe;
register word list←v8408 = 0;
word prev←v8436 = 0;
/* DetachDict: */
SOURCE(2201, 320)
SOURCE(2281, 99)
list←v8408 = (* (( (ptr) dict1←v5480)+1) );
lab←L100009: ;
if ((list←v8408 != 0)) {
}
else {
goto lab←L100006;
};
SOURCE(2334, 46)
if (((* (ptr) list←v8408 ) == dict2←v5508)) {
SOURCE(2359, 10)
goto lab←L100007;
}
else {
SOURCE(2369, 11)
prev←v8436 = list←v8408;
};
list←v8408 = (* (( (ptr) list←v8408)+1) );
goto lab←L100009;
lab←L100006: ;
lab←L100007: ;
SOURCE(2391, 42)
if ((list←v8408 == 0)) {
SOURCE(2408, 25)
{
word pd59;
pd59 = (* (( (ptr) (* (( (ptr) gf←c25864)+138)/* var←c23816 */ ))+95) );
(void) ( *( (fPt) ((* (ptr) pd59 ))))(11, pd59);
};
};
SOURCE(2453, 68)
if ((prev←v8436 == 0)) {
SOURCE(2470, 30)
(* (( (ptr) dict1←v5480)+1) ) = (* (( (ptr) list←v8408)+1) );
}
else {
SOURCE(2500, 21)
(* (( (ptr) prev←v8436)+1) ) = (* (( (ptr) list←v8408)+1) );
};
}
static void DetachAll←P840(dict←v5568)
word dict←v5568;
{
/* DetachAll: */
SOURCE(2527, 56)
SOURCE(2566, 17)
(* (( (ptr) dict←v5568)+1) ) = 0;
}
static word AttachedForAll←P900(dict←v5628, action←v5656)
word dict←v5628;
word action←v5656;
{
word var←c5700;
/* AttachedForAll: */
SOURCE(2589, 207)
SOURCE(2667, 105)
{
register word list←v8564;
list←v8564 = (* (( (ptr) dict←v5628)+1) );
lab←L100013: ;
if ((list←v8564 != 0)) {
}
else {
goto lab←L100010;
};
SOURCE(2733, 39)
if ((0 != (word) ( *( (fPt) ((* (ptr) action←v5656 ))))((* (ptr) (list←v8564) ), action←v5656))) {
SOURCE(2760, 12)
return(1);
};
list←v8564 = (* (( (ptr) list←v8564)+1) );
goto lab←L100013;
lab←L100010: ;
};
SOURCE(2783, 13)
return(0);
}
static word NewDictStack←P960(size←v5760)
word size←v5760;
{
register ptr gf←c25896 = (ptr) &globalframe;
word var←c5804;
word stack←v8692;
/* NewDictStack: */
SOURCE(2803, 146)
SOURCE(2863, 42)
{
word var←c24200;
word var←c24232;
word var←c24264;
var←c24200 = BCK(size←v5760, 67108863);
var←c24232 = ((word) var←c24200 << 2);
var←c24264 = XR←NewObject((12 + var←c24232), (* (( (ptr) gf←c25896)+10) ));
(* (( (ptr) var←c24264)+2) ) = var←c24200;
stack←v8692 = var←c24264;
};
SOURCE(2907, 27)
(* (( (ptr) stack←v8692)+1) ) = 0;
(* (ptr) stack←v8692 ) = 0;
SOURCE(2936, 13)
return(stack←v8692);
}
static word DictTop←P1020(frame←v5864)
word frame←v5864;
{
register ptr gf←c25928 = (ptr) &globalframe;
word var←c5908;
word impl←v8736;
word stack←v8764;
/* DictTop: */
SOURCE(2955, 207)
SOURCE(3008, 28)
impl←v8736 = (* (ptr) frame←v5864 );
SOURCE(3038, 33)
stack←v8764 = (* (( (ptr) impl←v8736)+1) );
SOURCE(3073, 59)
if (((* (ptr) stack←v8764 ) <= 0)) {
SOURCE(3099, 33)
{
word pd60;
pd60 = (* (( (ptr) (* (( (ptr) gf←c25928)+138)/* var←c23816 */ ))+95) );
(void) ( *( (fPt) ((* (ptr) pd60 ))))(8, pd60);
};
};
SOURCE(3134, 28)
{
word var←c24296;
var←c24296 = ((* (ptr) stack←v8764 ) - 1);
{
word limit61;
return((* ((( (ptr) stack←v8764)+3)+(
limit61 = (* (( (ptr) stack←v8764)+2) ),
BCK(var←c24296, limit61)
)) ));
};
};
}
static void Begin←P1080(frame←v5968, dict←v5996)
word frame←v5968;
word dict←v5996;
{
register ptr gf←c25960 = (ptr) &globalframe;
word impl←v8808;
word stack←v8836;
/* Begin: */
SOURCE(3168, 292)
SOURCE(3217, 28)
impl←v8808 = (* (ptr) frame←v5968 );
SOURCE(3247, 33)
stack←v8836 = (* (( (ptr) impl←v8808)+1) );
SOURCE(3282, 67)
if (((* (ptr) stack←v8836 ) >= (* (( (ptr) stack←v8836)+2) ))) {
SOURCE(3317, 32)
{
word pd62;
pd62 = (* (( (ptr) (* (( (ptr) gf←c25960)+138)/* var←c23816 */ ))+95) );
(void) ( *( (fPt) ((* (ptr) pd62 ))))(9, pd62);
};
};
SOURCE(3351, 25)
{
word idx63;
word limit64;
(* ((( (ptr) stack←v8836)+3)+(
idx63 = (* (ptr) stack←v8836 ),
limit64 = (* (( (ptr) stack←v8836)+2) ),
BCK(idx63, limit64)
)) ) = dict←v5996;
};
SOURCE(3378, 27)
(* (ptr) stack←v8836 ) = ((* (ptr) stack←v8836 ) + 1);
SOURCE(3407, 53)
if (((* (ptr) stack←v8836 ) > (* (( (ptr) stack←v8836)+1) ))) {
SOURCE(3437, 23)
(* (( (ptr) stack←v8836)+1) ) = (* (ptr) stack←v8836 );
};
}
static void End←P1140(frame←v6056)
word frame←v6056;
{
register ptr gf←c25992 = (ptr) &globalframe;
word impl←v8880;
word stack←v8908;
/* End: */
SOURCE(3466, 214)
SOURCE(3501, 28)
impl←v8880 = (* (ptr) frame←v6056 );
SOURCE(3531, 33)
stack←v8908 = (* (( (ptr) impl←v8880)+1) );
SOURCE(3566, 59)
if (((* (ptr) stack←v8908 ) <= 0)) {
SOURCE(3592, 33)
{
word pd65;
pd65 = (* (( (ptr) (* (( (ptr) gf←c25992)+138)/* var←c23816 */ ))+95) );
(void) ( *( (fPt) ((* (ptr) pd65 ))))(8, pd65);
};
};
SOURCE(3627, 27)
{
word idx66;
(* (ptr) stack←v8908 ) = (
idx66 = (word) ((* (ptr) stack←v8908 ) - 1),
SGNCK(idx66)
);
};
SOURCE(3656, 24)
{
word idx67;
word limit68;
(* ((( (ptr) stack←v8908)+3)+(
idx67 = (* (ptr) stack←v8908 ),
limit68 = (* (( (ptr) stack←v8908)+2) ),
BCK(idx67, limit68)
)) ) = 0;
};
}
static word DictStackForAll←P1200(frame←v6116, action←v6144)
word frame←v6116;
word action←v6144;
{
word var←c6188;
word impl←v8952;
word stack←v8980;
/* DictStackForAll: */
SOURCE(3686, 270)
SOURCE(3767, 28)
impl←v8952 = (* (ptr) frame←v6116 );
SOURCE(3797, 33)
stack←v8980 = (* (( (ptr) impl←v8952)+1) );
SOURCE(3832, 100)
{
register word i←v9024;
i←v9024 = (* (ptr) stack←v8980 );
if ((0 >= i←v9024)) {
goto lab←L100014;
};
i←v9024 = (i←v9024 - 1);
lab←L100017: ;
{
word dict←v9068;
SOURCE(3876, 21)
{
word limit69;
dict←v9068 = (* ((( (ptr) stack←v8980)+3)+(
limit69 = (* (( (ptr) stack←v8980)+2) ),
BCK(i←v9024, limit69)
)) );
};
SOURCE(3899, 33)
if ((0 != (word) ( *( (fPt) ((* (ptr) action←v6144 ))))(dict←v9068, action←v6144))) {
SOURCE(3920, 12)
return(1);
};
};
if ((0 >= i←v9024)) {
goto lab←L100014;
};
i←v9024 = (i←v9024 - 1);
goto lab←L100017;
lab←L100014: ;
};
SOURCE(3943, 13)
return(0);
}
static word DictStackMap←P1260(frame←v6248, action←v6276)
word frame←v6248;
word action←v6276;
{
word var←c6320;
word impl←v9112;
word stack←v9140;
/* DictStackMap: */
SOURCE(3962, 250)
SOURCE(4033, 28)
impl←v9112 = (* (ptr) frame←v6248 );
SOURCE(4063, 33)
stack←v9140 = (* (( (ptr) impl←v9112)+1) );
SOURCE(4098, 90)
{
register word i←v9184;
i←v9184 = (* (ptr) stack←v9140 );
if ((0 >= i←v9184)) {
goto lab←L100018;
};
i←v9184 = (i←v9184 - 1);
lab←L100021: ;
SOURCE(4142, 46)
{
word limit70;
if ((0 != (word) DictMap←P660((* ((( (ptr) stack←v9140)+3)+(
limit70 = (* (( (ptr) stack←v9140)+2) ),
BCK(i←v9184, limit70)
)) ), action←v6276))) {
SOURCE(4176, 12)
return(1);
};
};
if ((0 >= i←v9184)) {
goto lab←L100018;
};
i←v9184 = (i←v9184 - 1);
goto lab←L100021;
lab←L100018: ;
};
SOURCE(4199, 13)
return(0);
}
static void Find←P1320(formal←c0173, frame←v6380, formal←c0409)
word formal←c0173;
word frame←v6380;
word formal←c0409;
{
W10 var←c26024;
/* declaration of key←v6408 skipped */
/* declaration of found←v6452 skipped */
/* declaration of val←v6480 skipped */
/* declaration of where←v6508 skipped */
/* declaration of var←c24328 skipped */
(* (( (ptr) &var←c26024)+4)/* key←v6408 */ ) = formal←c0409;
/* Find: */
SOURCE(4219, 240)
{
word tmpAddr71;
tmpAddr71 = (word) (( (ptr) &var←c26024)+8)/* var←c24328 */ ;
(* (ptr) tmpAddr71 ) = ( ((word) (fPt) find←P3648) );
(* (( (ptr) tmpAddr71) + 1) ) = 1;
};
SOURCE(4219, 240)
(* (( (ptr) &var←c26024)+5)/* found←v6452 */ ) = 1;
SOURCE(4219, 240)
(* (( (ptr) &var←c26024)+6)/* val←v6480 */ ) = 0;
SOURCE(4219, 240)
(* (( (ptr) &var←c26024)+7)/* where←v6508 */ ) = 0;
SOURCE(4398, 61)
if ((0 == (word) DictStackMap←P1260(frame←v6380, (word) (( (bPt) &var←c26024)+32)/* var←c24328 */ ))) {
SOURCE(4436, 23)
(* (( (ptr) &var←c26024)+5)/* found←v6452 */ ) = 0;
(* (( (ptr) &var←c26024)+6)/* val←v6480 */ ) = 0;
(* (( (ptr) &var←c26024)+7)/* where←v6508 */ ) = 0;
goto lab←L100022;
};
/* removed tail goto */
lab←L100022: ;
(* (ptr) formal←c0173 ) = (* (( (ptr) &var←c26024)+5)/* found←v6452 */ );
(* (( (ptr) formal←c0173)+1) ) = (* (( (ptr) &var←c26024)+6)/* val←v6480 */ );
(* (( (ptr) formal←c0173)+2) ) = (* (( (ptr) &var←c26024)+7)/* where←v6508 */ );
return;
}
static word find←P3648(dict←v20072, formal←c26088)
word dict←v20072;
word formal←c26088;
{
register ptr gf←c26056 = (ptr) &globalframe;
word quit←v20116;
formal←c26088 = (formal←c26088 - 32);
/* find: */
SOURCE(4311, 84)
SOURCE(4311, 84)
quit←v20116 = 0;
SOURCE(4332, 47)
{
W2 var←c24392;
{
word var←c24360;
(* (( (ptr) formal←c26088)+7) ) = dict←v20072;
var←c24360 = (* (ptr) dict←v20072 );
{
word pd72;
pd72 = (* (( (ptr) (* (( (ptr) gf←c26056)+137)/* var←c23624 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd72 ))))((word) &var←c24392, var←c24360, (* (( (ptr) formal←c26088)+4) ), pd72);
};
};
(* (( (ptr) formal←c26088)+6) ) = var←c24392.f1;
(* (( (ptr) formal←c26088)+5) ) = var←c24392.f0;
};
SOURCE(4381, 14)
return((* (( (ptr) formal←c26088)+5) ));
}
static void Where←P1380(formal←c0186, frame←v6580, key←v6608)
word formal←c0186;
word frame←v6580;
word key←v6608;
{
word found←v6652;
word where←v6680;
word val←v9272 = 0;
/* Where: */
SOURCE(4465, 190)
SOURCE(4465, 190)
where←v6680 = 0;
SOURCE(4557, 57)
{
W3 var←c24424;
(void) Find←P1320((word) &var←c24424, frame←v6580, key←v6608);
where←v6680 = var←c24424.f2;
val←v9272 = var←c24424.f1;
found←v6652 = var←c24424.f0;
};
SOURCE(4616, 39)
if ((0 != found←v6652)) {
SOURCE(4630, 25)
(void) CachePut←P1740(frame←v6580, key←v6608, val←v9272);
};
/* removed tail goto */
(* (ptr) formal←c0186 ) = found←v6652;
(* (( (ptr) formal←c0186)+1) ) = where←v6680;
return;
}
static void TryToLoad←P1440(formal←c0197, frame←v6740, key←v6768)
word formal←c0197;
word frame←v6740;
word key←v6768;
{
register ptr gf←c26120 = (ptr) &globalframe;
word found←v6812;
word val←v6840;
/* TryToLoad: */
SOURCE(4682, 286)
SOURCE(4682, 286)
val←v6840 = 0;
SOURCE(4765, 35)
{
W2 var←c24456;
(void) CacheGet←P1680((word) &var←c24456, frame←v6740, key←v6768);
val←v6840 = var←c24456.f1;
found←v6812 = var←c24456.f0;
};
SOURCE(4802, 20)
if ((0 != found←v6812)) {
SOURCE(4816, 6)
goto lab←L100024;
};
SOURCE(4824, 43)
{
W3 var←c24488;
(void) Find←P1320((word) &var←c24488, frame←v6740, key←v6768);
val←v6840 = var←c24488.f1;
found←v6812 = var←c24488.f0;
};
SOURCE(4869, 58)
if ((0 == found←v6812)) {
SOURCE(4887, 40)
{
W2 var←c24520;
(void) TryToGet←P300((word) &var←c24520, (* (( (ptr) gf←c26120)+4)/* primitives←v3476 */ ), key←v6768);
val←v6840 = var←c24520.f1;
found←v6812 = var←c24520.f0;
};
};
SOURCE(4929, 39)
if ((0 != found←v6812)) {
SOURCE(4943, 25)
(void) CachePut←P1740(frame←v6740, key←v6768, val←v6840);
};
/* removed tail goto */
lab←L100024: ;
(* (ptr) formal←c0197 ) = found←v6812;
(* (( (ptr) formal←c0197)+1) ) = val←v6840;
return;
}
static word Load←P1500(frame←v6912, key←v6940)
word frame←v6912;
word key←v6940;
{
register ptr gf←c26152 = (ptr) &globalframe;
word val←v6984;
word found←v9328;
/* Load: */
SOURCE(4974, 160)
SOURCE(4974, 160)
val←v6984 = 0;
SOURCE(5052, 36)
{
W2 var←c24552;
(void) TryToLoad←P1440((word) &var←c24552, frame←v6912, key←v6940);
val←v6984 = var←c24552.f1;
found←v9328 = var←c24552.f0;
};
SOURCE(5090, 44)
if ((0 == found←v9328)) {
SOURCE(5108, 26)
{
word pd73;
pd73 = (* (( (ptr) (* (( (ptr) gf←c26152)+138)/* var←c23816 */ ))+95) );
(void) ( *( (fPt) ((* (ptr) pd73 ))))(1, pd73);
};
};
SOURCE(4974, 160)
return(val←v6984);
}
static void Def←P1560(frame←v7056, key←v7084, val←v7112)
word frame←v7056;
word key←v7084;
word val←v7112;
{
word dict←v9372;
/* Def: */
SOURCE(5140, 131)
SOURCE(5196, 27)
dict←v9372 = (word) DictTop←P1020(frame←v7056);
SOURCE(5225, 19)
(void) Put←P420(dict←v9372, key←v7084, val←v7112);
SOURCE(5246, 25)
(void) CachePut←P1740(frame←v7056, key←v7084, val←v7112);
}
static void Store←P1620(frame←v7184, formal←c0410, formal←c0411)
word frame←v7184;
word formal←c0410;
word formal←c0411;
{
W8 var←c26184;
/* declaration of key←v7212 skipped */
/* declaration of val←v7240 skipped */
/* declaration of var←c24584 skipped */
var←c26184.f4/* key←v7212 */ = formal←c0410;
var←c26184.f5/* val←v7240 */ = formal←c0411;
/* Store: */
SOURCE(5277, 207)
{
word tmpAddr74;
tmpAddr74 = (word) (( (ptr) &var←c26184)+6)/* var←c24584 */ ;
(* (ptr) tmpAddr74 ) = ( ((word) (fPt) store←P3708) );
(* (( (ptr) tmpAddr74) + 1) ) = 1;
};
SOURCE(5398, 86)
if ((0 != (word) DictStackMap←P1260(frame←v7184, (word) (( (bPt) &var←c26184)+24)/* var←c24584 */ ))) {
SOURCE(5433, 31)
(void) CachePut←P1740(frame←v7184, var←c26184.f4/* key←v7212 */ , var←c26184.f5/* val←v7240 */ );
}
else {
SOURCE(5464, 20)
(void) Def←P1560(frame←v7184, var←c26184.f4/* key←v7212 */ , var←c26184.f5/* val←v7240 */ );
};
}
static word store←P3708(dict←v20176, formal←c26248)
word dict←v20176;
word formal←c26248;
{
register ptr gf←c26216 = (ptr) &globalframe;
word quit←v20220;
formal←c26248 = (formal←c26248 - 24);
/* store: */
SOURCE(5335, 60)
SOURCE(5335, 60)
quit←v20220 = 0;
SOURCE(5357, 38)
{
word pd75;
pd75 = (* (( (ptr) (* (( (ptr) gf←c26216)+137)/* var←c23624 */ ))+8) );
return((word) ( *( (fPt) ((* (ptr) pd75 ))))((* (ptr) dict←v20176 ), (* (( (ptr) formal←c26248)+4) ), (* (( (ptr) formal←c26248)+5)
), pd75));
};
}
static void CacheGet←P1680(formal←c0218, frame←v7312, key←v7340)
word formal←c0218;
word frame←v7312;
word key←v7340;
{
word found←v7384;
word val←v7412;
/* CacheGet: */
SOURCE(5490, 93)
SOURCE(5490, 93)
val←v7412 = 0;
SOURCE(5565, 18)
found←v7384 = 0;
val←v7412 = 0;
/* removed tail goto */
(* (ptr) formal←c0218 ) = found←v7384;
(* (( (ptr) formal←c0218)+1) ) = val←v7412;
return;
}
static void CachePut←P1740(frame←v7484, key←v7512, val←v7540)
word frame←v7484;
word key←v7512;
word val←v7540;
{
/* CachePut: */
}
static void CacheDel←P1800(frame←v7612, key←v7640)
word frame←v7612;
word key←v7640;
{
/* CacheDel: */
}
static void CacheClear←P1860(frame←v7700)
word frame←v7700;
{
/* CacheClear: */
}
static void RegisterPrimitive←P1920(name←v7760, proc←v7788, data←v7816)
word name←v7760;
word proc←v7788;
word data←v7816;
{
register ptr gf←c26280 = (ptr) &globalframe;
word key←v9460;
word cmd←v9488;
/* RegisterPrimitive: */
SOURCE(5768, 202)
SOURCE(5851, 30)
key←v9460 = (word) AtomFromRope←P120(name←v7760);
SOURCE(5883, 60)
cmd←v9488 = XR←NewObject(12, (* (( (ptr) gf←c26280)+9) ));
(* (ptr) cmd←v9488 ) = XR←CheckProc(proc←v7788);
(* (( (ptr) cmd←v9488)+1) ) = data←v7816;
(* (( (ptr) cmd←v9488)+2) ) = key←v9460;
SOURCE(5945, 25)
(void) Put←P420((* (( (ptr) gf←c26280)+4)/* primitives←v3476 */ ), key←v9460, cmd←v9488);
}
static word PopKey←P1980(frame←v7888)
word frame←v7888;
{
register ptr gf←c26312 = (ptr) &globalframe;
word var←c7932;
word x←v9532;
/* PopKey: */
SOURCE(5978, 190)
SOURCE(6023, 19)
{
word pd76;
pd76 = (* (( (ptr) (* (( (ptr) gf←c26312)+138)/* var←c23816 */ ))+37) );
x←v9532 = (word) ( *( (fPt) ((* (ptr) pd76 ))))(frame←v7888, pd76);
};
SOURCE(6044, 111)
{
word var←c24680;
word var←c24712;
var←c24680 = x←v9532;
if ((var←c24680 == 0)) {
goto lab←L100026;
};
var←c24712 = XR←GetReferentType(var←c24680);
{
word tc77;
if (((* (( (ptr) gf←c26312)+12) ) == var←c24712)) {
{
word x←v9588;
x←v9588 = var←c24680;
SOURCE(6074, 9)
return(x←v9588);
};
}
else {
if (((* (( (ptr) gf←c26312)+7) ) == var←c24712)) {
tc77 = (word) ( (unsigned) (*(int*)var←c24680<0) == 0);
}
else {
tc77 = (word) 0;
};
if (tc77) {
{
word x←v9632;
x←v9632 = var←c24680;
SOURCE(6096, 23)
return((word) AtomFromRope←P120(x←v9632));
};
}
else {
lab←L100026: ;
SOURCE(6132, 23)
{
word pd78;
pd78 = (* (( (ptr) (* (( (ptr) gf←c26312)+138)/* var←c23816 */ ))+95) );
(void) ( *( (fPt) ((* (ptr) pd78 ))))(2, pd78);
};
};
};
};
};
SOURCE(6157, 11)
return(0);
}
static void ApplyDict←P2040(frame←v14804, cmd←v14832)
word frame←v14804;
word cmd←v14832;
{
register ptr gf←c26344 = (ptr) &globalframe;
word length←v9676;
/* ApplyDict: */
SOURCE(6174, 88)
SOURCE(6201, 27)
{
word pd79;
pd79 = (* (( (ptr) (* (( (ptr) gf←c26344)+138)/* var←c23816 */ ))+39) );
length←v9676 = (word) ( *( (fPt) ((* (ptr) pd79 ))))(frame←v14804, pd79);
};
SOURCE(6230, 32)
{
word var←c24776;
var←c24776 = (word) NewDict←P180(SGNCK(length←v9676));
{
word pd80;
pd80 = (* (( (ptr) (* (( (ptr) gf←c26344)+138)/* var←c23816 */ ))+35) );
(void) ( *( (fPt) ((* (ptr) pd80 ))))(frame←v14804, var←c24776, pd80);
};
};
}
static void ApplyGet←P2100(frame←v14892, cmd←v14920)
word frame←v14892;
word cmd←v14920;
{
register ptr gf←c26376 = (ptr) &globalframe;
word key←v9720;
word dict←v9748;
/* ApplyGet: */
SOURCE(6268, 109)
SOURCE(6294, 25)
key←v9720 = (word) PopKey←P1980(frame←v14892);
SOURCE(6321, 27)
{
word pd81;
pd81 = (* (( (ptr) (* (( (ptr) gf←c26376)+138)/* var←c23816 */ ))+47) );
dict←v9748 = (word) ( *( (fPt) ((* (ptr) pd81 ))))(frame←v14892, pd81);
};
SOURCE(6350, 27)
{
word var←c24808;
var←c24808 = (word) Get←P360(dict←v9748, key←v9720);
{
word pd82;
pd82 = (* (( (ptr) (* (( (ptr) gf←c26376)+138)/* var←c23816 */ ))+25) );
(void) ( *( (fPt) ((* (ptr) pd82 ))))(frame←v14892, var←c24808, pd82);
};
};
}
static void ApplyPut←P2160(frame←v14980, cmd←v15008)
word frame←v14980;
word cmd←v15008;
{
register ptr gf←c26408 = (ptr) &globalframe;
word val←v9792;
word key←v9820;
word dict←v9848;
/* ApplyPut: */
SOURCE(6383, 146)
SOURCE(6409, 21)
{
word pd83;
pd83 = (* (( (ptr) (* (( (ptr) gf←c26408)+138)/* var←c23816 */ ))+37) );
val←v9792 = (word) ( *( (fPt) ((* (ptr) pd83 ))))(frame←v14980, pd83);
};
SOURCE(6432, 25)
key←v9820 = (word) PopKey←P1980(frame←v14980);
SOURCE(6459, 27)
{
word pd84;
pd84 = (* (( (ptr) (* (( (ptr) gf←c26408)+138)/* var←c23816 */ ))+47) );
dict←v9848 = (word) ( *( (fPt) ((* (ptr) pd84 ))))(frame←v14980, pd84);
};
SOURCE(6488, 19)
(void) Put←P420(dict←v9848, key←v9820, val←v9792);
SOURCE(6509, 20)
(void) CacheDel←P1800(frame←v14980, key←v9820);
}
static void ApplyDel←P2220(frame←v15068, cmd←v15096)
word frame←v15068;
word cmd←v15096;
{
register ptr gf←c26440 = (ptr) &globalframe;
word key←v9904;
word dict←v9932;
/* ApplyDel: */
SOURCE(6563, 118)
SOURCE(6589, 25)
key←v9904 = (word) PopKey←P1980(frame←v15068);
SOURCE(6616, 27)
{
word pd85;
pd85 = (* (( (ptr) (* (( (ptr) gf←c26440)+138)/* var←c23816 */ ))+47) );
dict←v9932 = (word) ( *( (fPt) ((* (ptr) pd85 ))))(frame←v15068, pd85);
};
SOURCE(6645, 14)
(void) Del←P480(dict←v9932, key←v9904);
SOURCE(6661, 20)
(void) CacheDel←P1800(frame←v15068, key←v9904);
}
static void ApplyClrDict←P2280(frame←v15156, cmd←v15184)
word frame←v15156;
word cmd←v15184;
{
register ptr gf←c26472 = (ptr) &globalframe;
word dict←v9976;
/* ApplyClrDict: */
SOURCE(6715, 91)
SOURCE(6745, 27)
{
word pd86;
pd86 = (* (( (ptr) (* (( (ptr) gf←c26472)+138)/* var←c23816 */ ))+47) );
dict←v9976 = (word) ( *( (fPt) ((* (ptr) pd86 ))))(frame←v15156, pd86);
};
SOURCE(6774, 13)
(void) ClrDict←P540(dict←v9976);
SOURCE(6789, 17)
(void) CacheClear←P1860(frame←v15156);
}
static void ApplyDictForAll←P2340(formal←c0412, cmd←v15272)
word formal←c0412;
word cmd←v15272;
{
W8 var←c26504;
/* declaration of frame←v15244 skipped */
register ptr gf←c26536 = (ptr) &globalframe;
/* declaration of var←c24840 skipped */
/* declaration of x←v10020 skipped */
word dict←v10048;
var←c26504.f4/* frame←v15244 */ = formal←c0412;
/* ApplyDictForAll: */
SOURCE(6840, 234)
{
word tmpAddr87;
tmpAddr87 = (word) (( (ptr) &var←c26504)+5)/* var←c24840 */ ;
(* (ptr) tmpAddr87 ) = ( ((word) (fPt) action←P3864) );
(* (( (ptr) tmpAddr87) + 1) ) = 1;
};
SOURCE(6873, 19)
{
word pd88;
pd88 = (* (( (ptr) (* (( (ptr) gf←c26536)+138)/* var←c23816 */ ))+37) );
var←c26504.f7/* x←v10020 */ = (word) ( *( (fPt) ((* (ptr) pd88 ))))(var←c26504.f4/* frame←v15244 */ , pd88);
};
SOURCE(6894, 27)
{
word pd89;
pd89 = (* (( (ptr) (* (( (ptr) gf←c26536)+138)/* var←c23816 */ ))+47) );
dict←v10048 = (word) ( *( (fPt) ((* (ptr) pd89 ))))(var←c26504.f4/* frame←v15244 */ , pd89);
};
SOURCE(7045, 29)
{
word var←c24872;
var←c24872 = (word) DictForAll←P600(dict←v10048, (word) (( (bPt) &var←c26504)+20)/* var←c24840 */ );
};
}
static word action←P3864(key←v21068, val←v21096, formal←c26632)
word key←v21068;
word val←v21096;
word formal←c26632;
{
W6 var←c26568;
register ptr gf←c26600 = (ptr) &globalframe;
/* declaration of quit←v21140 skipped */
formal←c26632 = (formal←c26632 - 20);
var←c26568.f0 = formal←c26632;
/* action: */
SOURCE(6923, 104)
SOURCE(6923, 104)
var←c26568.f4/* quit←v21140 */ = 0;
SOURCE(6947, 20)
{
word pd90;
pd90 = (* (( (ptr) (* (( (ptr) gf←c26600)+138)/* var←c23816 */ ))+30) );
(void) ( *( (fPt) ((* (ptr) pd90 ))))((* (( (ptr) formal←c26632)+4) ), key←v21068, pd90);
};
SOURCE(6969, 16)
{
word pd91;
pd91 = (* (( (ptr) (* (( (ptr) gf←c26600)+138)/* var←c23816 */ ))+25) );
(void) ( *( (fPt) ((* (ptr) pd91 ))))((* (( (ptr) formal←c26632)+4) ), val←v21096, pd91);
};
SOURCE(6987, 40)
SOURCE(6987, 40)
{
/* declaration of var←c01 skipped */
var←c26568.f5/* var←c01 */ = (* (( (ptr) (* (( (ptr) gf←c26600)+138)/* var←c23816 */ ))+99) );
{
word var←c02;
{
word var←c0386;
var←c0386 = (word) &var←c26568;
var←c02 = (word) XR←Enable(( ((word) (fPt) NoName←Q4044) ), ( ((word) (fPt) NoName←Q4224) ), var←c0386);
};
/* removed trivial cond node */
};
};
SOURCE(6923, 104)
return(var←c26568.f4/* quit←v21140 */ );
}
static word NoName←Q4044(formal←c0369)
word formal←c0369;
{
SOURCE(6987, 40)
{
word pd92;
pd92 = (* (( (ptr) formal←c0369)+5) );
(void) ( *( (fPt) ((* (ptr) pd92 ))))((* (( (ptr) (* (ptr) formal←c0369 ))+4) ), (* (( (ptr) (* (ptr) formal←c0369 ))+7)
), pd92);
};
return(0);
}
static void ApplyAttachDict←P2400(frame←v15332, cmd←v15360)
word frame←v15332;
word cmd←v15360;
{
register ptr gf←c26664 = (ptr) &globalframe;
word dict2←v10132;
word dict1←v10160;
/* ApplyAttachDict: */
SOURCE(7080, 136)
SOURCE(7113, 28)
{
word pd93;
pd93 = (* (( (ptr) (* (( (ptr) gf←c26664)+138)/* var←c23816 */ ))+47) );
dict2←v10132 = (word) ( *( (fPt) ((* (ptr) pd93 ))))(frame←v15332, pd93);
};
SOURCE(7143, 28)
{
word pd94;
pd94 = (* (( (ptr) (* (( (ptr) gf←c26664)+138)/* var←c23816 */ ))+47) );
dict1←v10160 = (word) ( *( (fPt) ((* (ptr) pd94 ))))(frame←v15332, pd94);
};
SOURCE(7173, 24)
(void) AttachDict←P720(dict1←v10160, dict2←v10132);
SOURCE(7199, 17)
(void) CacheClear←P1860(frame←v15332);
}
static void ApplyDetachDict←P2460(frame←v15420, cmd←v15448)
word frame←v15420;
word cmd←v15448;
{
register ptr gf←c26696 = (ptr) &globalframe;
word dict2←v10204;
word dict1←v10232;
/* ApplyDetachDict: */
SOURCE(7250, 117)
SOURCE(7283, 28)
{
word pd95;
pd95 = (* (( (ptr) (* (( (ptr) gf←c26696)+138)/* var←c23816 */ ))+47) );
dict2←v10204 = (word) ( *( (fPt) ((* (ptr) pd95 ))))(frame←v15420, pd95);
};
SOURCE(7313, 28)
{
word pd96;
pd96 = (* (( (ptr) (* (( (ptr) gf←c26696)+138)/* var←c23816 */ ))+47) );
dict1←v10232 = (word) ( *( (fPt) ((* (ptr) pd96 ))))(frame←v15420, pd96);
};
SOURCE(7343, 24)
(void) DetachDict←P780(dict1←v10232, dict2←v10204);
}
static void ApplyDetachAll←P2520(frame←v15508, cmd←v15536)
word frame←v15508;
word cmd←v15536;
{
register ptr gf←c26728 = (ptr) &globalframe;
word dict←v10276;
/* ApplyDetachAll: */
SOURCE(7373, 76)
SOURCE(7405, 27)
{
word pd97;
pd97 = (* (( (ptr) (* (( (ptr) gf←c26728)+138)/* var←c23816 */ ))+47) );
dict←v10276 = (word) ( *( (fPt) ((* (ptr) pd97 ))))(frame←v15508, pd97);
};
SOURCE(7434, 15)
(void) DetachAll←P840(dict←v10276);
}
static void ApplyAttachedForAll←P2580(formal←c0413, cmd←v15624)
word formal←c0413;
word cmd←v15624;
{
W8 var←c26760;
/* declaration of frame←v15596 skipped */
register ptr gf←c26792 = (ptr) &globalframe;
/* declaration of var←c24904 skipped */
/* declaration of x←v10320 skipped */
word dict←v10348;
var←c26760.f4/* frame←v15596 */ = formal←c0413;
/* ApplyAttachedForAll: */
SOURCE(7455, 224)
{
word tmpAddr98;
tmpAddr98 = (word) (( (ptr) &var←c26760)+5)/* var←c24904 */ ;
(* (ptr) tmpAddr98 ) = ( ((word) (fPt) action←P3924) );
(* (( (ptr) tmpAddr98) + 1) ) = 1;
};
SOURCE(7492, 19)
{
word pd99;
pd99 = (* (( (ptr) (* (( (ptr) gf←c26792)+138)/* var←c23816 */ ))+37) );
var←c26760.f7/* x←v10320 */ = (word) ( *( (fPt) ((* (ptr) pd99 ))))(var←c26760.f4/* frame←v15596 */ , pd99);
};
SOURCE(7513, 27)
{
word pd100;
pd100 = (* (( (ptr) (* (( (ptr) gf←c26792)+138)/* var←c23816 */ ))+47) );
dict←v10348 = (word) ( *( (fPt) ((* (ptr) pd100 ))))(var←c26760.f4/* frame←v15596 */ , pd100);
};
SOURCE(7646, 33)
{
word var←c24936;
var←c24936 = (word) AttachedForAll←P900(dict←v10348, (word) (( (bPt) &var←c26760)+20)/* var←c24904 */ );
};
}
static word action←P3924(dict←v21504, formal←c26888)
word dict←v21504;
word formal←c26888;
{
W6 var←c26824;
register ptr gf←c26856 = (ptr) &globalframe;
/* declaration of quit←v21548 skipped */
formal←c26888 = (formal←c26888 - 20);
var←c26824.f0 = formal←c26888;
/* action: */
SOURCE(7542, 86)
SOURCE(7542, 86)
var←c26824.f4/* quit←v21548 */ = 0;
SOURCE(7565, 21)
{
word pd101;
pd101 = (* (( (ptr) (* (( (ptr) gf←c26856)+138)/* var←c23816 */ ))+35) );
(void) ( *( (fPt) ((* (ptr) pd101 ))))((* (( (ptr) formal←c26888)+4) ), dict←v21504, pd101);
};
SOURCE(7588, 40)
SOURCE(7588, 40)
{
/* declaration of var←c03 skipped */
var←c26824.f5/* var←c03 */ = (* (( (ptr) (* (( (ptr) gf←c26856)+138)/* var←c23816 */ ))+99) );
{
word var←c04;
{
word var←c0387;
var←c0387 = (word) &var←c26824;
var←c04 = (word) XR←Enable(( ((word) (fPt) NoName←Q4104) ), ( ((word) (fPt) NoName←Q4164) ), var←c0387);
};
/* removed trivial cond node */
};
};
SOURCE(7542, 86)
return(var←c26824.f4/* quit←v21548 */ );
}
static word NoName←Q4104(formal←c0376)
word formal←c0376;
{
SOURCE(7588, 40)
{
word pd102;
pd102 = (* (( (ptr) formal←c0376)+5) );
(void) ( *( (fPt) ((* (ptr) pd102 ))))((* (( (ptr) (* (ptr) formal←c0376 ))+4) ), (* (( (ptr) (* (ptr) formal←c0376 ))+7)
), pd102);
};
return(0);
}
static void ApplyKnown←P2640(frame←v15684, cmd←v15712)
word frame←v15684;
word cmd←v15712;
{
register ptr gf←c26920 = (ptr) &globalframe;
word key←v10432;
word dict←v10460;
/* ApplyKnown: */
SOURCE(7685, 126)
SOURCE(7713, 25)
key←v10432 = (word) PopKey←P1980(frame←v15684);
SOURCE(7740, 27)
{
word pd103;
pd103 = (* (( (ptr) (* (( (ptr) gf←c26920)+138)/* var←c23816 */ ))+47) );
dict←v10460 = (word) ( *( (fPt) ((* (ptr) pd103 ))))(frame←v15684, pd103);
};
SOURCE(7769, 42)
{
word var←c24968;
W2 var←c0291;
(void) TryToGet←P300((word) &var←c0291, dict←v10460, key←v10432);
var←c24968 = var←c0291.f0;
{
word pd104;
pd104 = (* (( (ptr) (* (( (ptr) gf←c26920)+138)/* var←c23816 */ ))+26) );
(void) ( *( (fPt) ((* (ptr) pd104 ))))(frame←v15684, var←c24968, pd104);
};
};
}
static void ApplyWhere←P2700(frame←v15772, cmd←v15800)
word frame←v15772;
word cmd←v15800;
{
register ptr gf←c26952 = (ptr) &globalframe;
word key←v10504;
word found←v10532;
word where←v10560 = 0;
/* ApplyWhere: */
SOURCE(7817, 177)
SOURCE(7845, 25)
key←v10504 = (word) PopKey←P1980(frame←v15772);
SOURCE(7898, 34)
{
W2 var←c25000;
(void) Where←P1380((word) &var←c25000, frame←v15772, key←v10504);
where←v10560 = var←c25000.f1;
found←v10532 = var←c25000.f0;
};
SOURCE(7934, 36)
if ((0 != found←v10532)) {
SOURCE(7948, 22)
{
word pd105;
pd105 = (* (( (ptr) (* (( (ptr) gf←c26952)+138)/* var←c23816 */ ))+35) );
(void) ( *( (fPt) ((* (ptr) pd105 ))))(frame←v15772, where←v10560, pd105);
};
};
SOURCE(7972, 22)
{
word pd106;
pd106 = (* (( (ptr) (* (( (ptr) gf←c26952)+138)/* var←c23816 */ ))+26) );
(void) ( *( (fPt) ((* (ptr) pd106 ))))(frame←v15772, found←v10532, pd106);
};
}
static void ApplyLoad←P2760(frame←v15860, cmd←v15888)
word frame←v15860;
word cmd←v15888;
{
register ptr gf←c26984 = (ptr) &globalframe;
word key←v10604;
/* ApplyLoad: */
SOURCE(8000, 83)
SOURCE(8027, 25)
key←v10604 = (word) PopKey←P1980(frame←v15860);
SOURCE(8054, 29)
{
word var←c25032;
var←c25032 = (word) Load←P1500(frame←v15860, key←v10604);
{
word pd107;
pd107 = (* (( (ptr) (* (( (ptr) gf←c26984)+138)/* var←c23816 */ ))+25) );
(void) ( *( (fPt) ((* (ptr) pd107 ))))(frame←v15860, var←c25032, pd107);
};
};
}
static void ApplyDef←P2820(frame←v15948, cmd←v15976)
word frame←v15948;
word cmd←v15976;
{
register ptr gf←c27016 = (ptr) &globalframe;
word val←v10648;
word key←v10676;
/* ApplyDef: */
SOURCE(8089, 96)
SOURCE(8115, 21)
{
word pd108;
pd108 = (* (( (ptr) (* (( (ptr) gf←c27016)+138)/* var←c23816 */ ))+37) );
val←v10648 = (word) ( *( (fPt) ((* (ptr) pd108 ))))(frame←v15948, pd108);
};
SOURCE(8138, 25)
key←v10676 = (word) PopKey←P1980(frame←v15948);
SOURCE(8165, 20)
(void) Def←P1560(frame←v15948, key←v10676, val←v10648);
}
static void ApplyStore←P2880(frame←v16036, cmd←v16064)
word frame←v16036;
word cmd←v16064;
{
register ptr gf←c27048 = (ptr) &globalframe;
word val←v10732;
word key←v10760;
/* ApplyStore: */
SOURCE(8191, 100)
SOURCE(8219, 21)
{
word pd109;
pd109 = (* (( (ptr) (* (( (ptr) gf←c27048)+138)/* var←c23816 */ ))+37) );
val←v10732 = (word) ( *( (fPt) ((* (ptr) pd109 ))))(frame←v16036, pd109);
};
SOURCE(8242, 25)
key←v10760 = (word) PopKey←P1980(frame←v16036);
SOURCE(8269, 22)
(void) Store←P1620(frame←v16036, key←v10760, val←v10732);
}
static void ApplyBegin←P2940(frame←v16124, cmd←v16152)
word frame←v16124;
word cmd←v16152;
{
register ptr gf←c27080 = (ptr) &globalframe;
word dict←v10816;
/* ApplyBegin: */
SOURCE(8297, 75)
SOURCE(8325, 27)
{
word pd110;
pd110 = (* (( (ptr) (* (( (ptr) gf←c27080)+138)/* var←c23816 */ ))+47) );
dict←v10816 = (word) ( *( (fPt) ((* (ptr) pd110 ))))(frame←v16124, pd110);
};
SOURCE(8354, 18)
(void) Begin←P1080(frame←v16124, dict←v10816);
}
static void ApplyEnd←P3000(frame←v16212, cmd←v16240)
word frame←v16212;
word cmd←v16240;
{
/* ApplyEnd: */
SOURCE(8378, 36)
SOURCE(8404, 10)
(void) End←P1140(frame←v16212);
}
static void ApplyCurDict←P3060(frame←v16300, cmd←v16328)
word frame←v16300;
word cmd←v16328;
{
register ptr gf←c27112 = (ptr) &globalframe;
/* ApplyCurDict: */
SOURCE(8420, 61)
SOURCE(8450, 31)
{
word var←c25064;
var←c25064 = (word) DictTop←P1020(frame←v16300);
{
word pd111;
pd111 = (* (( (ptr) (* (( (ptr) gf←c27112)+138)/* var←c23816 */ ))+35) );
(void) ( *( (fPt) ((* (ptr) pd111 ))))(frame←v16300, var←c25064, pd111);
};
};
}
static void NoName←Q4164(formal←c0323, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0323;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
register ptr gf←c0384 = (ptr) &globalframe;
if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0384)+138)/* var←c23816 */ ))+93) ))) {
SOURCE(7617, 11)
(* (( (ptr) formal←c200004)+4) ) = 1;
SOURCE(7630, 9)
(* (ptr) formal←c0323 ) = 2;
(* (( (ptr) formal←c0323)+1) ) = 3;
return;
};
(* (ptr) formal←c0323 ) = 0;
(* (( (ptr) formal←c0323)+1) ) = 0;
return;
}
static void NoName←Q4224(formal←c0328, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0328;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0385 = (ptr) &globalframe;
if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0385)+138)/* var←c23816 */ ))+93) ))) {
SOURCE(7016, 11)
(* (( (ptr) formal←c200000)+4) ) = 1;
SOURCE(7029, 9)
(* (ptr) formal←c0328 ) = 2;
(* (( (ptr) formal←c0328)+1) ) = 2;
return;
};
(* (ptr) formal←c0328 ) = 0;
(* (( (ptr) formal←c0328)+1) ) = 0;
return;
}
/* file: TJaMDictImpl, module: TJaMDictImpl, compiled at: October 19, 1993 1:01:31 pm PDT */
extern void XR←install←TJaMDictImpl() {
NoName←Q3984();
}
extern void XR←run←TJaMDictImpl() { XR←Start(&globalframe); }