/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: July 11, 1993 8:07:36 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGPropsImpl, module: GGPropsImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3032841484,4060125307] GGPropsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; word r;} W9;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q2292();
static void GGPropsImpl←P0();
static void Put←P60();
static word DoPut←P1380();
static void PutAll←P120();
static word DoPut←P1440();
static void Get←P180();
static word DoGet←P1500();
static word Rem←P240();
static word DoRem←P1560();
static word Copy←P300();
static word Walk←P360();
static word DoMap←P1620();
static word DoWalk←P1680();
static void Kill←P420();
static word DoKill←P1740();
static void CopyAll←P480();
static word DoCopyProc←P1800();
static void ToRope←P540();
static word NoName←Q2352();
static word FromRope←P600();
static word NoName←Q2412();
static word NoName←Q2472();
static void Register←P660();
static void Init←P720();
static word IdentityCopy←P780();
static void RegisterTestProcs←P840();
static word FileInInt←P900();
static word FileOutInt←P960();
static word FileInReal←P1020();
static word FileOutReal←P1080();
static word FileInAtom←P1140();
static word FileOutAtom←P1200();
static word FileInRope←P1260();
static word FileOutRope←P1320();
static void NoName←Q2532();
static void NoName←Q2592();
static void NoName←Q2652();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\264\305\175\014\300\362\000\230\173\101\114\000\000"};
static struct {unsigned f; char r[4];} string2 = {65540, "\251\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string4 = {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[4];} string5 = {65540, "\242\000\000"};
static struct {unsigned f; char r[4];} string6 = {65540, "\241\000\000"};
static struct {unsigned f; char r[4];} string7 = {65540, "\256\000\000"};
static struct {unsigned f; char r[4];} string8 = {65540, "\232\000\000"};
static struct {unsigned f; char r[16];} string9 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string10 = {65537, "\001\000\000"};
static struct {unsigned f; char r[4];} string11 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string12 = {196612, "int"};
static struct {unsigned f; char r[8];} string13 = {262152, "real\000\000\000"};
static struct {unsigned f; char r[8];} string14 = {262152, "atom\000\000\000"};
static struct {unsigned f; char r[60];} string15 = {3670076, "BeKindToYourWebFootedFriendsForADuckMayBeSomebodysMother\000\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\264\305\175\014\300\362\000\230\173\100\164\000\000"};
static struct {unsigned f; char r[16];} string17 = {786444, "\006\004\040\001\044\001\050\001\100\130\004\017\000\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\240\236\274\171\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\317\075\344\275\300\105\331\241\110\100\150\000\000"};
static struct {
word f0[26]; word f26; word f27; word f28;
word f29; 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[8];
} globalframe = {
{0}, (word) FileOutRope←P1320, 0, (word) FileInRope←P1260,
0, (word) FileOutAtom←P1200, 0, (word) FileInAtom←P1140,
0, (word) FileOutReal←P1080, 0, (word) FileInReal←P1020,
0, (word) FileOutInt←P960, 0, (word) FileInInt←P900,
0, (word) RegisterTestProcs←P840, 0, (word) IdentityCopy←P780,
0, (word) Init←P720, 0, (word) Register←P660,
0, (word) FromRope←P600, 0, (word) ToRope←P540,
0, (word) CopyAll←P480, 0, (word) Kill←P420,
0, (word) Walk←P360, 0, (word) Copy←P300,
0, (word) Rem←P240, 0, (word) Get←P180,
0, (word) PutAll←P120, 0, (word) Put←P60,
0, (word) GGPropsImpl←P0, {0}
};
static void NoName←Q2292()
{
register ptr gf←c0230 = (ptr) &globalframe;
word var←c24096;
(* (( (ptr) gf←c0230)+12) ) = (word) XR←GetTypeIndexS((word) (&string1));
(* (( (ptr) gf←c0230)+13) ) = (word) XR←GetTypeIndexS((word) (&string2));
(* (( (ptr) gf←c0230)+14) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0230)+15) ) = (word) XR←GetTypeIndexS((word) (&string5));
(* (( (ptr) gf←c0230)+16) ) = (word) XR←GetTypeIndexS((word) (&string6));
(* (( (ptr) gf←c0230)+17) ) = (word) XR←GetTypeIndexS((word) (&string7));
(* (( (ptr) gf←c0230)+18) ) = (word) XR←GetTypeIndexS((word) (&string8));
(* (( (ptr) gf←c0230)+19) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
(* (( (ptr) gf←c0230)+21) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string10);
(* (ptr) (( (bPt) gf←c0230)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+21) ), (word) &string12);
(* (ptr) (( (bPt) gf←c0230)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+21) ), (word) &string13);
(* (ptr) (( (bPt) gf←c0230)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+21) ), (word) &string14);
(* (ptr) (( (bPt) gf←c0230)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0230)+19) ), (word) &string15);
(void) XR←DeclareGlobalFrame((word) "GGPropsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17)
, (word) (( (bPt) gf←c0230)+280)/* var←c22272 */ );
var←c24096 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string18)), 73);
(* (( (ptr) gf←c0230)+76)/* var←c23296 */ ) = var←c24096;
(void) XR←ImportProcS(var←c24096, 67374593);
(void) XR←ImportProcS(var←c24096, 67638530);
(void) XR←ImportProcS(var←c24096, 67373057);
(void) XR←ImportProcS(var←c24096, 67634690);
(void) XR←ImportProcS(var←c24096, 67379201);
(void) XR←ImportProcS(var←c24096, 67902211);
(void) XR←ImportProcS(var←c24096, 67901443);
(void) XR←ImportProcS(var←c24096, 67901187);
(void) XR←ImportProcS(var←c24096, 67641602);
var←c24096 = (word) XR←ImportInterface((word) "GGParent", (word) XR←GetTypeIndexS((word) (&string19)), 83);
(* (( (ptr) gf←c0230)+73)/* var←c22400 */ ) = var←c24096;
(void) XR←ImportProcS(var←c24096, 68437509);
(void) XR←ImportProcS(var←c24096, 67386113);
var←c24096 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string20)), 73);
(* (( (ptr) gf←c0230)+72)/* var←c22368 */ ) = var←c24096;
(void) XR←ImportProcS(var←c24096, 67371521);
var←c24096 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string21)), 103);
(* (( (ptr) gf←c0230)+77)/* var←c23488 */ ) = var←c24096;
(void) XR←ImportProcS(var←c24096, 1071364);
(void) XR←ImportProcS(var←c24096, 67917827);
(void) XR←ImportProcS(var←c24096, 67389697);
(void) XR←ImportProcS(var←c24096, 67388929);
(void) XR←ImportProcS(var←c24096, 799490);
(void) XR←ImportProcS(var←c24096, 67388417);
(void) XR←ImportProcS(var←c24096, 67373825);
(void) XR←ImportProcS(var←c24096, 201868034);
(void) XR←ImportProcS(var←c24096, 67640578);
(void) XR←ImportProcS(var←c24096, 67641090);
(void) XR←ImportProcS(var←c24096, 67378689);
var←c24096 = (word) XR←ImportInterface((word) "Prop", (word) XR←GetTypeIndexS((word) (&string22)), 4);
(* (( (ptr) gf←c0230)+74)/* var←c22464 */ ) = var←c24096;
(void) XR←ImportProcS(var←c24096, 67633922);
(void) XR←ImportProcS(var←c24096, 67633666);
(void) XR←ImportProcS(var←c24096, 67633410);
(void) XR←ImportProcS(var←c24096, 67895299);
var←c24096 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string23)), 16);
(* (( (ptr) gf←c0230)+75)/* var←c22752 */ ) = var←c24096;
(void) XR←ImportProcS(var←c24096, 67895555);
(void) XR←ImportProcS(var←c24096, 67896579);
(void) XR←ImportProcS(var←c24096, 134742786);
var←c24096 = (word) XR←ExportInterface((word) "GGProps", (word) XR←GetTypeIndexS((word) (&string24)), 11);
(* (( (ptr) gf←c0230)+78)/* var←c24128 */ ) = var←c24096;
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+272)/* var←c22240 */ , 1048580, (word) "Put");
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+256)/* var←c22176 */ , 135004419, (word) "Get");
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+248)/* var←c22144 */ , 67895811, (word) "Rem");
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+240)/* var←c22112 */ , 67633922, (word) "Copy");
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+232)/* var←c22080 */ , 67896323, (word) "Walk");
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+224)/* var←c22048 */ , 525570, (word) "Kill");
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+216)/* var←c22016 */ , 1050116, (word) "CopyAll");
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+208)/* var←c21984 */ , 134743810, (word) "ToRope");
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+200)/* var←c21952 */ , 67635202, (word) "FromRope");
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+176)/* var←c21856 */ , 67373313, (word) "IdentityCopy");
(void) XR←ExportProcS(var←c24096, (word) (( (bPt) gf←c0230)+192)/* var←c21920 */ , 1051140, (word) "Register");
}
static void GGPropsImpl←P0(formal←c045, formal←c044)
word formal←c045;
word formal←c044;
{
/* GGPropsImpl: */
SOURCE(90, 7701)
SOURCE(7764, 6)
(void) Init←P720();
SOURCE(7772, 19)
(void) RegisterTestProcs←P840();
}
static void Put←P60(slice←v3948, parts←v3976, formal←c0296, formal←c0297)
word slice←v3948;
word parts←v3976;
word formal←c0296;
word formal←c0297;
{
W8 var←c24160;
/* declaration of key←v4004 skipped */
/* declaration of val←v4032 skipped */
register ptr gf←c24192 = (ptr) &globalframe;
/* declaration of var←c22304 skipped */
word var←c22336;
var←c24160.f4/* key←v4004 */ = formal←c0296;
var←c24160.f5/* val←v4032 */ = formal←c0297;
/* Put: */
SOURCE(570, 4969)
{
word tmpAddr25;
tmpAddr25 = (word) (( (ptr) &var←c24160)+6)/* var←c22304 */ ;
(* (ptr) tmpAddr25 ) = ( ((word) (fPt) DoPut←P1380) );
(* (( (ptr) tmpAddr25) + 1) ) = 1;
};
SOURCE(781, 4758)
{
word pd27;
{
word pd26;
pd26 = (* (( (ptr) (* (( (ptr) gf←c24192)+72)/* var←c22368 */ ))+6) );
var←c22336 = (word) ( *( (fPt) ((* (ptr) pd26 ))))(slice←v3948, pd26);
};
pd27 = (* (( (ptr) (* (( (ptr) gf←c24192)+73)/* var←c22400 */ ))+63) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd27 ))))(var←c22336, pd27))) {
SOURCE(838, 4701)
{
word var←c22432;
word pd28;
pd28 = (* (( (ptr) (* (( (ptr) gf←c24192)+73)/* var←c22400 */ ))+74) );
var←c22432 = (word) ( *( (fPt) ((* (ptr) pd28 ))))(slice←v3948, parts←v3976, 1, (word) (( (bPt) &var←c24160)+24)/* var←c22304 */ , 0, pd28)
;
};
}
else {
SOURCE(905, 4634)
{
word pd29;
pd29 = (* (( (ptr) (* (( (ptr) gf←c24192)+74)/* var←c22464 */ ))+4) );
(* (( (ptr) slice←v3948)+22) ) = (word) ( *( (fPt) ((* (ptr) pd29 ))))((* (( (ptr) slice←v3948)+22) ), var←c24160.f4/* key←v4004 */ , var←c24160.f5/* val←v4032 */ , pd29)
;
};
};
};
}
static word DoPut←P1380(sliceD←v5780, formal←c24256)
word sliceD←v5780;
word formal←c24256;
{
register ptr gf←c24224 = (ptr) &globalframe;
word done←v5824;
formal←c24256 = (formal←c24256 - 24);
/* DoPut: */
SOURCE(646, 4893)
SOURCE(646, 4893)
done←v5824 = 0;
SOURCE(717, 4822)
{
word pd30;
pd30 = (* (( (ptr) (* (( (ptr) gf←c24224)+74)/* var←c22464 */ ))+4) );
(* (( (ptr) (* (ptr) sliceD←v5780 ))+22) ) = (word) ( *( (fPt) ((* (ptr) pd30 ))))((* (( (ptr) (* (ptr) sliceD←v5780 ))+22)
), (* (( (ptr) formal←c24256)+4) ), (* (( (ptr) formal←c24256)+5) ), pd30);
};
SOURCE(646, 4893)
return(done←v5824);
}
static void PutAll←P120(slice←v4108, parts←v4136, formal←c0298)
word slice←v4108;
word parts←v4136;
word formal←c0298;
{
W7 var←c24288;
/* declaration of props←v4164 skipped */
register ptr gf←c24320 = (ptr) &globalframe;
/* declaration of var←c22496 skipped */
word var←c22528;
var←c24288.f4/* props←v4164 */ = formal←c0298;
/* PutAll: */
SOURCE(955, 4584)
{
word tmpAddr31;
tmpAddr31 = (word) (( (ptr) &var←c24288)+5)/* var←c22496 */ ;
(* (ptr) tmpAddr31 ) = ( ((word) (fPt) DoPut←P1440) );
(* (( (ptr) tmpAddr31) + 1) ) = 1;
};
SOURCE(1130, 4409)
{
word pd33;
{
word pd32;
pd32 = (* (( (ptr) (* (( (ptr) gf←c24320)+72)/* var←c22368 */ ))+6) );
var←c22528 = (word) ( *( (fPt) ((* (ptr) pd32 ))))(slice←v4108, pd32);
};
pd33 = (* (( (ptr) (* (( (ptr) gf←c24320)+73)/* var←c22400 */ ))+63) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd33 ))))(var←c22528, pd33))) {
SOURCE(1187, 4352)
{
word var←c22560;
word pd34;
pd34 = (* (( (ptr) (* (( (ptr) gf←c24320)+73)/* var←c22400 */ ))+74) );
var←c22560 = (word) ( *( (fPt) ((* (ptr) pd34 ))))(slice←v4108, parts←v4136, 1, (word) (( (bPt) &var←c24288)+20)/* var←c22496 */ , 0, pd34)
;
};
}
else {
SOURCE(1254, 19)
(* (( (ptr) slice←v4108)+22) ) = var←c24288.f4/* props←v4164 */ ;
};
};
}
static word DoPut←P1440(sliceD←v5928, formal←c24352)
word sliceD←v5928;
word formal←c24352;
{
word done←v5972;
formal←c24352 = (formal←c24352 - 20);
/* DoPut: */
SOURCE(1028, 97)
SOURCE(1028, 97)
done←v5972 = 0;
SOURCE(1099, 26)
(* (( (ptr) (* (ptr) sliceD←v5928 ))+22) ) = (* (( (ptr) formal←c24352)+4) );
SOURCE(1028, 97)
return(done←v5972);
}
static void Get←P180(formal←c071, slice←v4224, parts←v4252, formal←c0299)
word formal←c071;
word slice←v4224;
word parts←v4252;
word formal←c0299;
{
W9 var←c24384;
/* declaration of key←v4280 skipped */
register ptr gf←c24416 = (ptr) &globalframe;
/* declaration of val←v4324 skipped */
word isUnique←v4352;
/* declaration of var←c22592 skipped */
/* declaration of found←v6000 skipped */
word var←c22624;
(* (( (ptr) &var←c24384)+4)/* key←v4280 */ ) = formal←c0299;
/* Get: */
SOURCE(1278, 4261)
{
word tmpAddr35;
tmpAddr35 = (word) (( (ptr) &var←c24384)+6)/* var←c22592 */ ;
(* (ptr) tmpAddr35 ) = ( ((word) (fPt) DoGet←P1500) );
(* (( (ptr) tmpAddr35) + 1) ) = 1;
};
SOURCE(1278, 4261)
(* (( (ptr) &var←c24384)+5)/* val←v4324 */ ) = 0;
SOURCE(1278, 4261)
isUnique←v4352 = 1;
SOURCE(1386, 19)
(* (( (ptr) &var←c24384)+8)/* found←v6000 */ ) = 0;
SOURCE(1728, 3811)
{
word pd37;
{
word pd36;
pd36 = (* (( (ptr) (* (( (ptr) gf←c24416)+72)/* var←c22368 */ ))+6) );
var←c22624 = (word) ( *( (fPt) ((* (ptr) pd36 ))))(slice←v4224, pd36);
};
pd37 = (* (( (ptr) (* (( (ptr) gf←c24416)+73)/* var←c22400 */ ))+63) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd37 ))))(var←c22624, pd37))) {
SOURCE(1785, 3754)
{
word pd38;
pd38 = (* (( (ptr) (* (( (ptr) gf←c24416)+73)/* var←c22400 */ ))+74) );
isUnique←v4352 = (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd38 ))))(slice←v4224, parts←v4252, 1, (word) (( (bPt) &var←c24384)+24)
/* var←c22592 */ , 0, pd38));
};
}
else {
SOURCE(1862, 3677)
{
word pd39;
pd39 = (* (( (ptr) (* (( (ptr) gf←c24416)+74)/* var←c22464 */ ))+5) );
(* (( (ptr) &var←c24384)+5)/* val←v4324 */ ) = (word) ( *( (fPt) ((* (ptr) pd39 ))))((* (( (ptr) slice←v4224)+22) ), (* (
( (ptr) &var←c24384)+4)/* key←v4280 */ ), pd39);
};
};
};
/* removed tail goto */
(* (ptr) formal←c071 ) = (* (( (ptr) &var←c24384)+5)/* val←v4324 */ );
(* (( (ptr) formal←c071)+1) ) = isUnique←v4352;
return;
}
static word DoGet←P1500(sliceD←v6104, formal←c24480)
word sliceD←v6104;
word formal←c24480;
{
register ptr gf←c24448 = (ptr) &globalframe;
word done←v6148;
word thisVal←v6176;
formal←c24480 = (formal←c24480 - 24);
/* DoGet: */
SOURCE(1407, 4132)
SOURCE(1407, 4132)
done←v6148 = 0;
SOURCE(1478, 48)
{
word pd40;
pd40 = (* (( (ptr) (* (( (ptr) gf←c24448)+74)/* var←c22464 */ ))+5) );
thisVal←v6176 = (word) ( *( (fPt) ((* (ptr) pd40 ))))((* (( (ptr) (* (ptr) sliceD←v6104 ))+22) ), (* (( (ptr) formal←c24480)+4)
), pd40);
};
SOURCE(1556, 160)
if ((thisVal←v6176 != 0)) {
SOURCE(1615, 101)
if ( ( (0 != (* (( (ptr) formal←c24480)+8) )) ? (thisVal←v6176 != (* (( (ptr) formal←c24480)+5) )) : 0 ) ) {
SOURCE(1645, 18)
return(1);
}
else {
SOURCE(1665, 13)
(* (( (ptr) formal←c24480)+5) ) = thisVal←v6176;
SOURCE(1704, 12)
(* (( (ptr) formal←c24480)+8) ) = 1;
};
};
SOURCE(1407, 4132)
return(done←v6148);
}
static word Rem←P240(slice←v4424, parts←v4452, formal←c0300)
word slice←v4424;
word parts←v4452;
word formal←c0300;
{
W10 var←c24512;
/* declaration of key←v4480 skipped */
register ptr gf←c24544 = (ptr) &globalframe;
/* declaration of isUnique←v4524 skipped */
/* declaration of var←c22656 skipped */
/* declaration of val←v6232 skipped */
/* declaration of found←v6260 skipped */
word var←c22688;
(* (( (ptr) &var←c24512)+4)/* key←v4480 */ ) = formal←c0300;
/* Rem: */
SOURCE(1899, 3640)
{
word tmpAddr41;
tmpAddr41 = (word) (( (ptr) &var←c24512)+6)/* var←c22656 */ ;
(* (ptr) tmpAddr41 ) = ( ((word) (fPt) DoRem←P1560) );
(* (( (ptr) tmpAddr41) + 1) ) = 1;
};
SOURCE(1899, 3640)
(* (( (ptr) &var←c24512)+5)/* isUnique←v4524 */ ) = 1;
SOURCE(1997, 8)
(* (( (ptr) &var←c24512)+8)/* val←v6232 */ ) = 0;
SOURCE(2007, 19)
(* (( (ptr) &var←c24512)+9)/* found←v6260 */ ) = 0;
SOURCE(2432, 3107)
{
word pd43;
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c24544)+72)/* var←c22368 */ ))+6) );
var←c22688 = (word) ( *( (fPt) ((* (ptr) pd42 ))))(slice←v4424, pd42);
};
pd43 = (* (( (ptr) (* (( (ptr) gf←c24544)+73)/* var←c22400 */ ))+63) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd43 ))))(var←c22688, pd43))) {
SOURCE(2489, 3050)
{
word var←c22720;
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c24544)+73)/* var←c22400 */ ))+74) );
var←c22720 = (word) ( *( (fPt) ((* (ptr) pd44 ))))(slice←v4424, parts←v4452, 1, (word) (( (bPt) &var←c24512)+24)/* var←c22656 */ , 0, pd44)
;
};
}
else {
SOURCE(2556, 2983)
{
word pd45;
pd45 = (* (( (ptr) (* (( (ptr) gf←c24544)+74)/* var←c22464 */ ))+6) );
(* (( (ptr) slice←v4424)+22) ) = (word) ( *( (fPt) ((* (ptr) pd45 ))))((* (( (ptr) slice←v4424)+22) ), (* (( (ptr) &var←c24512)+4)
/* key←v4480 */ ), pd45);
};
};
};
SOURCE(1899, 3640)
return((* (( (ptr) &var←c24512)+5)/* isUnique←v4524 */ ));
}
static word DoRem←P1560(sliceD←v6376, formal←c24608)
word sliceD←v6376;
word formal←c24608;
{
register ptr gf←c24576 = (ptr) &globalframe;
word done←v6420;
word thisVal←v6448;
formal←c24608 = (formal←c24608 - 24);
/* DoRem: */
SOURCE(2028, 3511)
SOURCE(2028, 3511)
done←v6420 = 0;
SOURCE(2099, 48)
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c24576)+74)/* var←c22464 */ ))+5) );
thisVal←v6448 = (word) ( *( (fPt) ((* (ptr) pd46 ))))((* (( (ptr) (* (ptr) sliceD←v6376 ))+22) ), (* (( (ptr) formal←c24608)+4)
), pd46);
};
SOURCE(2177, 3362)
if ((thisVal←v6448 != 0)) {
SOURCE(2199, 3340)
{
word pd47;
pd47 = (* (( (ptr) (* (( (ptr) gf←c24576)+74)/* var←c22464 */ ))+6) );
(* (( (ptr) (* (ptr) sliceD←v6376 ))+22) ) = (word) ( *( (fPt) ((* (ptr) pd47 ))))((* (( (ptr) (* (ptr) sliceD←v6376 ))+22)
), (* (( (ptr) formal←c24608)+4) ), pd47);
};
SOURCE(2278, 142)
if ( ( (0 != (* (( (ptr) formal←c24608)+9) )) ? (thisVal←v6448 != (* (( (ptr) formal←c24608)+8) )) : 0 ) ) {
SOURCE(2308, 59)
(* (( (ptr) formal←c24608)+5) ) = 0;
}
else {
SOURCE(2369, 13)
(* (( (ptr) formal←c24608)+8) ) = thisVal←v6448;
SOURCE(2408, 12)
(* (( (ptr) formal←c24608)+9) ) = 1;
};
};
SOURCE(2028, 3511)
return(done←v6420);
}
static word Copy←P300(key←v4584, val←v4612)
word key←v4584;
word val←v4612;
{
register ptr gf←c24640 = (ptr) &globalframe;
word copy←v4668;
word tableEntry←v6504 = 0;
word gtEntry←v6532 = 0;
word found←v6560 = 0;
/* Copy: */
SOURCE(2601, 2938)
SOURCE(2601, 2938)
copy←v4668 = 0;
SOURCE(2722, 2817)
{
W2 var←c22784;
{
word pd48;
pd48 = (* (( (ptr) (* (( (ptr) gf←c24640)+75)/* var←c22752 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd48 ))))((word) &var←c22784, (* (( (ptr) gf←c24640)+8)/* gt←v3812 */ ), key←v4584, pd48);
};
tableEntry←v6504 = var←c22784.f1;
found←v6560 = var←c22784.f0;
};
SOURCE(2767, 2772)
if ((0 != found←v6560)) {
SOURCE(2783, 28)
gtEntry←v6532 = XR←Narrow(tableEntry←v6504, (* (( (ptr) gf←c24640)+12) ));
SOURCE(2813, 2726)
if (((* (( (ptr) gtEntry←v6532)+2) ) == 0)) {
SOURCE(2838, 16)
copy←v4668 = val←v4612;
}
else {
SOURCE(2854, 2685)
{
word pd49;
pd49 = (* (( (ptr) gtEntry←v6532)+2) );
copy←v4668 = (word) ( *( (fPt) ((* (ptr) pd49 ))))(val←v4612, pd49);
};
};
}
else {
SOURCE(2887, 10)
copy←v4668 = val←v4612;
};
SOURCE(2601, 2938)
return(copy←v4668);
}
static word Walk←P360(slice←v4740, parts←v4768, formal←c0301)
word slice←v4740;
word parts←v4768;
word formal←c0301;
{
W9 var←c24672;
/* declaration of walkProc←v4796 skipped */
register ptr gf←c24704 = (ptr) &globalframe;
word aborted←v4840;
/* declaration of var←c22816 skipped */
/* declaration of var←c22848 skipped */
word var←c22880;
(* (( (ptr) &var←c24672)+4)/* walkProc←v4796 */ ) = formal←c0301;
/* Walk: */
SOURCE(2903, 2636)
{
word tmpAddr50;
tmpAddr50 = (word) (( (ptr) &var←c24672)+5)/* var←c22816 */ ;
(* (ptr) tmpAddr50 ) = ( ((word) (fPt) DoWalk←P1680) );
(* (( (ptr) tmpAddr50) + 1) ) = 1;
};
{
word tmpAddr51;
tmpAddr51 = (word) (( (ptr) &var←c24672)+7)/* var←c22848 */ ;
(* (ptr) tmpAddr51 ) = ( ((word) (fPt) DoMap←P1620) );
(* (( (ptr) tmpAddr51) + 1) ) = 1;
};
SOURCE(2903, 2636)
aborted←v4840 = 0;
SOURCE(3200, 2339)
{
word pd53;
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c24704)+72)/* var←c22368 */ ))+6) );
var←c22880 = (word) ( *( (fPt) ((* (ptr) pd52 ))))(slice←v4740, pd52);
};
pd53 = (* (( (ptr) (* (( (ptr) gf←c24704)+73)/* var←c22400 */ ))+63) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd53 ))))(var←c22880, pd53))) {
SOURCE(3257, 2282)
{
word pd54;
pd54 = (* (( (ptr) (* (( (ptr) gf←c24704)+73)/* var←c22400 */ ))+74) );
aborted←v4840 = (word) ( *( (fPt) ((* (ptr) pd54 ))))(slice←v4740, parts←v4768, 1, (word) (( (bPt) &var←c24672)+20)/* var←c22816 */ , 0, pd54)
;
};
}
else {
SOURCE(3330, 2209)
{
word pd55;
pd55 = (* (( (ptr) (* (( (ptr) gf←c24704)+74)/* var←c22464 */ ))+7) );
aborted←v4840 = (word) ( *( (fPt) ((* (ptr) pd55 ))))((* (( (ptr) slice←v4740)+22) ), (word) (( (bPt) &var←c24672)+28)/* var←c22848 */ , pd55)
;
};
};
};
SOURCE(2903, 2636)
return(aborted←v4840);
}
static word DoMap←P1620(key←v13076, val←v13104, formal←c24768)
word key←v13076;
word val←v13104;
word formal←c24768;
{
register ptr gf←c24736 = (ptr) &globalframe;
word quit←v13148;
formal←c24768 = (formal←c24768 - 28);
/* DoMap: */
SOURCE(3015, 2524)
SOURCE(3015, 2524)
quit←v13148 = 0;
SOURCE(3041, 2498)
{
word var←c22944;
var←c22944 = XR←Narrow(key←v13076, (* (( (ptr) gf←c24736)+13) ));
{
word pd56;
pd56 = (* (( (ptr) formal←c24768)+4) );
return((word) ( *( (fPt) ((* (ptr) pd56 ))))(var←c22944, val←v13104, pd56));
};
};
}
static word DoWalk←P1680(sliceD←v6720, formal←c24832)
word sliceD←v6720;
word formal←c24832;
{
register ptr gf←c24800 = (ptr) &globalframe;
word done←v6764;
formal←c24832 = (formal←c24832 - 20);
/* DoWalk: */
SOURCE(3080, 2459)
SOURCE(3080, 2459)
done←v6764 = 0;
SOURCE(3152, 2387)
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) gf←c24800)+74)/* var←c22464 */ ))+7) );
done←v6764 = (word) ( *( (fPt) ((* (ptr) pd57 ))))((* (( (ptr) (* (ptr) sliceD←v6720 ))+22) ), (word) (( (bPt) formal←c24832)+28)
, pd57);
};
SOURCE(3080, 2459)
return(done←v6764);
}
static void Kill←P420(slice←v4900, parts←v4928)
word slice←v4900;
word parts←v4928;
{
W6 var←c24864;
register ptr gf←c24896 = (ptr) &globalframe;
/* declaration of var←c22976 skipped */
word var←c23008;
/* Kill: */
SOURCE(3372, 2167)
{
word tmpAddr58;
tmpAddr58 = (word) (( (ptr) &var←c24864)+4)/* var←c22976 */ ;
(* (ptr) tmpAddr58 ) = ( ((word) (fPt) DoKill←P1740) );
(* (( (ptr) tmpAddr58) + 1) ) = 1;
};
SOURCE(3530, 2009)
{
word pd60;
{
word pd59;
pd59 = (* (( (ptr) (* (( (ptr) gf←c24896)+72)/* var←c22368 */ ))+6) );
var←c23008 = (word) ( *( (fPt) ((* (ptr) pd59 ))))(slice←v4900, pd59);
};
pd60 = (* (( (ptr) (* (( (ptr) gf←c24896)+73)/* var←c22400 */ ))+63) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd60 ))))(var←c23008, pd60))) {
SOURCE(3587, 1952)
{
word var←c23040;
word pd61;
pd61 = (* (( (ptr) (* (( (ptr) gf←c24896)+73)/* var←c22400 */ ))+74) );
var←c23040 = (word) ( *( (fPt) ((* (ptr) pd61 ))))(slice←v4900, parts←v4928, 1, (word) (( (bPt) &var←c24864)+16)/* var←c22976 */ , 0, pd61)
;
};
}
else {
SOURCE(3655, 17)
(* (( (ptr) slice←v4900)+22) ) = 0;
};
};
}
static word DoKill←P1740(sliceD←v6868, formal←c24928)
word sliceD←v6868;
word formal←c24928;
{
word done←v6912;
formal←c24928 = (formal←c24928 - 16);
/* DoKill: */
SOURCE(3428, 96)
SOURCE(3428, 96)
done←v6912 = 0;
SOURCE(3500, 24)
(* (( (ptr) (* (ptr) sliceD←v6868 ))+22) ) = 0;
SOURCE(3428, 96)
return(done←v6912);
}
static void CopyAll←P480(fromSlice←v4988, toSlice←v5016, fromParts←v5044, toParts←v5072)
word fromSlice←v4988;
word toSlice←v5016;
word fromParts←v5044;
word toParts←v5072;
{
W7 var←c24960;
/* declaration of var←c23072 skipped */
/* declaration of copyProps←v6968 skipped */
/* CopyAll: */
SOURCE(3678, 1861)
{
word tmpAddr62;
tmpAddr62 = (word) (( (ptr) &var←c24960)+4)/* var←c23072 */ ;
(* (ptr) tmpAddr62 ) = ( ((word) (fPt) DoCopyProc←P1800) );
(* (( (ptr) tmpAddr62) + 1) ) = 1;
};
SOURCE(3855, 30)
var←c24960.f6/* copyProps←v6968 */ = 0;
SOURCE(3887, 1652)
{
word var←c23104;
var←c23104 = (word) Walk←P360(fromSlice←v4988, fromParts←v5044, (word) (( (bPt) &var←c24960)+16)/* var←c23072 */ );
};
SOURCE(3932, 35)
(void) PutAll←P120(toSlice←v5016, toParts←v5072, var←c24960.f6/* copyProps←v6968 */ );
}
static word DoCopyProc←P1800(key←v13372, val←v13400, formal←c25024)
word key←v13372;
word val←v13400;
word formal←c25024;
{
register ptr gf←c24992 = (ptr) &globalframe;
word done←v13444;
formal←c25024 = (formal←c25024 - 16);
/* DoCopyProc: */
SOURCE(3769, 1770)
SOURCE(3769, 1770)
done←v13444 = 0;
SOURCE(3798, 1741)
{
word var←c23136;
var←c23136 = (word) Copy←P300(key←v13372, val←v13400);
{
word pd63;
pd63 = (* (( (ptr) (* (( (ptr) gf←c24992)+74)/* var←c22464 */ ))+4) );
(* (( (ptr) formal←c25024)+6) ) = (word) ( *( (fPt) ((* (ptr) pd63 ))))((* (( (ptr) formal←c25024)+6) ), key←v13372, var←c23136, pd63)
;
};
};
SOURCE(3769, 1770)
return(done←v13444);
}
static void ToRope←P540(formal←c0130, formal←c0302, formal←c0303)
word formal←c0130;
word formal←c0302;
word formal←c0303;
{
W8 var←c25056;
/* declaration of key←v5132 skipped */
/* declaration of val←v5160 skipped */
register ptr gf←c25088 = (ptr) &globalframe;
/* declaration of r←v5216 skipped */
/* declaration of vf←v5244 skipped */
var←c25056.f4/* key←v5132 */ = formal←c0302;
var←c25056.f5/* val←v5160 */ = formal←c0303;
/* ToRope: */
SOURCE(3973, 1566)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c25088)+16)/* LOCK←v2832 */ ));
SOURCE(3973, 1566)
var←c25056.f6/* r←v5216 */ = 0;
SOURCE(3973, 1566)
var←c25056.f7/* vf←v5244 */ = 1;
SOURCE(4075, 1464)
{
word var←c01;
{
word var←c0273;
var←c0273 = (word) &var←c25056;
var←c01 = (word) XR←Enable(( ((word) (fPt) NoName←Q2352) ), ( ((word) (fPt) NoName←Q2652) ), var←c0273);
};
if ((var←c01 == 2)) {
goto lab←L100002;
};
};
/* removed tail goto */
lab←L100002: ;
(void) (XR←MonitorExit((word) (( (bPt) gf←c25088)+16)/* LOCK←v2832 */ ));
(* (ptr) formal←c0130 ) = var←c25056.f6/* r←v5216 */ ;
(* (( (ptr) formal←c0130)+1) ) = var←c25056.f7/* vf←v5244 */ ;
return;
}
static word NoName←Q2352(formal←c0254)
word formal←c0254;
{
register ptr gf←c0253 = (ptr) &globalframe;
SOURCE(4135, 19)
{
word found←v7012 = 0;
word tableEntry←v7040 = 0;
word gtEntry←v7068 = 0;
SOURCE(4191, 1348)
{
W2 var←c23168;
{
word pd64;
pd64 = (* (( (ptr) (* (( (ptr) gf←c0253)+75)/* var←c22752 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd64 ))))((word) &var←c23168, (* (( (ptr) gf←c0253)+8)/* gt←v3812 */ ), (* (( (ptr) formal←c0254)+4)
), pd64);
};
tableEntry←v7040 = var←c23168.f1;
found←v7012 = var←c23168.f0;
};
SOURCE(4236, 1303)
if ((0 == found←v7012) || (tableEntry←v7040 == 0)) {
SOURCE(4274, 1265)
{
word var←c23200;
word var←c23232;
var←c23200 = (* (( (ptr) formal←c0254)+5) );
if ((var←c23200 == 0)) {
goto lab←L100005;
};
var←c23232 = XR←GetReferentType(var←c23200);
{
word tc67;
if (((* (( (ptr) gf←c0253)+13) ) == var←c23232)) {
{
word a←v7124;
a←v7124 = var←c23200;
SOURCE(4306, 1233)
{
word var←c23264;
{
word pd66;
pd66 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */ ))+37) );
var←c23264 = (word) ( *( (fPt) ((* (ptr) pd66 ))))(a←v7124, 1, pd66);
};
(* (( (ptr) formal←c0254)+6) ) = var←c23264;
(* (( (ptr) formal←c0254)+7) ) = 1;
return(2);
};
};
};
if (((* (( (ptr) gf←c0253)+14) ) == var←c23232)) {
tc67 = (word) ( (unsigned) (*(int*)var←c23200<0) == 0);
}
else {
tc67 = (word) 0;
};
if (tc67) {
{
word rope←v7168;
rope←v7168 = var←c23200;
SOURCE(4364, 12)
(* (( (ptr) formal←c0254)+6) ) = rope←v7168;
(* (( (ptr) formal←c0254)+7) ) = 1;
return(2);
};
};
if (((* (( (ptr) gf←c0253)+15) ) == var←c23232)) {
{
word int←v7212;
int←v7212 = var←c23200;
SOURCE(4394, 1145)
{
word var←c23328;
{
word pd68;
pd68 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */ ))+27) );
var←c23328 = (word) ( *( (fPt) ((* (ptr) pd68 ))))((* (ptr) int←v7212 ), 8, 0, pd68);
};
(* (( (ptr) formal←c0254)+6) ) = var←c23328;
(* (( (ptr) formal←c0254)+7) ) = 1;
return(2);
};
};
};
if (((* (( (ptr) gf←c0253)+16) ) == var←c23232)) {
{
word card←v7268;
card←v7268 = var←c23200;
SOURCE(4481, 1058)
{
word var←c23360;
{
word pd69;
pd69 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */ ))+28) );
var←c23360 = (word) ( *( (fPt) ((* (ptr) pd69 ))))((* (ptr) card←v7268 ), 8, 0, pd69);
};
(* (( (ptr) formal←c0254)+6) ) = var←c23360;
(* (( (ptr) formal←c0254)+7) ) = 1;
return(2);
};
};
};
if (((* (( (ptr) gf←c0253)+17) ) == var←c23232)) {
{
word real←v7324;
real←v7324 = var←c23200;
SOURCE(4570, 969)
{
word var←c23392;
{
word pd70;
pd70 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */ ))+31) );
var←c23392 = (word) ( *( (fPt) ((* (ptr) pd70 ))))((* (ptr) real←v7324 ), 9, 0, pd70);
};
(* (( (ptr) formal←c0254)+6) ) = var←c23392;
(* (( (ptr) formal←c0254)+7) ) = 1;
return(2);
};
};
};
if (((* (( (ptr) gf←c0253)+18) ) == var←c23232)) {
{
word bool←v7380;
bool←v7380 = var←c23200;
SOURCE(4680, 859)
{
word var←c23424;
{
word pd71;
pd71 = (* (( (ptr) (* (( (ptr) gf←c0253)+76)/* var←c23296 */ ))+36) );
var←c23424 = (word) ( *( (fPt) ((* (ptr) pd71 ))))((* (ptr) (bool←v7380) ), pd71);
};
(* (( (ptr) formal←c0254)+6) ) = var←c23424;
(* (( (ptr) formal←c0254)+7) ) = 1;
return(2);
};
};
};
lab←L100005: ;
SOURCE(4734, 11)
(* (( (ptr) formal←c0254)+6) ) = 0;
(* (( (ptr) formal←c0254)+7) ) = 1;
return(2);
};
};
}
else {
SOURCE(4756, 28)
gtEntry←v7068 = XR←Narrow(tableEntry←v7040, (* (( (ptr) gf←c0253)+12) ));
SOURCE(4786, 35)
if (((* (( (ptr) gtEntry←v7068)+1) ) == 0)) {
SOURCE(4810, 11)
(* (( (ptr) formal←c0254)+6) ) = 0;
(* (( (ptr) formal←c0254)+7) ) = 1;
return(2);
};
SOURCE(4862, 677)
{
word var←c23456;
{
word pd72;
pd72 = (* (( (ptr) (* (( (ptr) gf←c0253)+77)/* var←c23488 */ ))+34) );
var←c23456 = (word) ( *( (fPt) ((* (ptr) pd72 ))))((* ((( (ptr) gf←c0253)+10)/* scratchROS←v3868 */ ) ), pd72);
};
{
word pd73;
pd73 = (* (( (ptr) gtEntry←v7068)+1) );
(* (( (ptr) formal←c0254)+7) ) = (word) ( *( (fPt) ((* (ptr) pd73 ))))(var←c23456, (* (( (ptr) formal←c0254)+5) ), pd73)
;
};
};
SOURCE(4962, 577)
{
word pd74;
pd74 = (* (( (ptr) (* (( (ptr) gf←c0253)+77)/* var←c23488 */ ))+35) );
(* (( (ptr) formal←c0254)+6) ) = (word) ( *( (fPt) ((* (ptr) pd74 ))))((* (( (ptr) gf←c0253)+10)/* scratchROS←v3868 */ ), 1, pd74)
;
};
};
};
return(0);
}
static word FromRope←P600(formal←c0304, formal←c0305)
word formal←c0304;
word formal←c0305;
{
W9 var←c25120;
/* declaration of key←v5304 skipped */
/* declaration of r←v5332 skipped */
register ptr gf←c25152 = (ptr) &globalframe;
/* declaration of var←c05 skipped */
/* declaration of val←v5376 skipped */
(* (( (ptr) &var←c25120)+4)/* key←v5304 */ ) = formal←c0304;
(* (( (ptr) &var←c25120)+5)/* r←v5332 */ ) = formal←c0305;
/* FromRope: */
SOURCE(5019, 1267)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c25152)+16)/* LOCK←v2832 */ ));
SOURCE(5019, 1267)
(* (( (ptr) &var←c25120)+7)/* val←v5376 */ ) = 0;
SOURCE(5096, 1190)
{
/* declaration of success←v7632 skipped */
word var←c06;
{
word var←c0274;
var←c0274 = (word) &var←c25120;
var←c06 = (word) XR←Enable(( ((word) (fPt) NoName←Q2412) ), ( ((word) (fPt) NoName←Q2532) ), var←c0274);
};
if ((var←c06 == 1)) {
goto lab←L04;
};
};
SOURCE(5019, 1267)
(void) (XR←MonitorExit((word) (( (bPt) gf←c25152)+16)/* LOCK←v2832 */ ));
return((* (( (ptr) &var←c25120)+7)/* val←v5376 */ ));
lab←L04: ;
return((* (( (ptr) &var←c25120)+6)/* var←c05 */ ));
}
static word NoName←Q2412(formal←c0257)
word formal←c0257;
{
W9 var←c0295;
register ptr gf←c0256 = (ptr) &globalframe;
(* (ptr) &var←c0295 ) = formal←c0257;
SOURCE(5156, 19)
{
word found←v7436 = 0;
word tableEntry←v7464 = 0;
word gtEntry←v7492 = 0;
SOURCE(5212, 327)
{
W2 var←c23520;
{
word pd75;
pd75 = (* (( (ptr) (* (( (ptr) gf←c0256)+75)/* var←c22752 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd75 ))))((word) &var←c23520, (* (( (ptr) gf←c0256)+8)/* gt←v3812 */ ), (* (( (ptr) formal←c0257)+4)
), pd75);
};
tableEntry←v7464 = var←c23520.f1;
found←v7436 = var←c23520.f0;
};
SOURCE(5257, 1029)
if ((0 == found←v7436) || (tableEntry←v7464 == 0)) {
SOURCE(5293, 864)
{
word tokenKind←v7548;
word token←v7576 = 0;
word charsSkipped←v7604;
/* declaration of s←v7660 skipped */
SOURCE(5357, 20)
(* (( (ptr) formal←c0257)+8) ) = 1;
SOURCE(5379, 53)
{
word pd76;
pd76 = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */ ))+33) );
(* (( (ptr) &var←c0295)+4)/* s←v7660 */ ) = (word) ( *( (fPt) ((* (ptr) pd76 ))))((* (( (ptr) formal←c0257)+5) ), (* (( (ptr) gf←c0256)+9)
/* scratchRIS←v3840 */ ), pd76);
};
SOURCE(5435, 104)
SOURCE(5435, 104)
{
W3 var←c23552;
{
/* declaration of var←c02 skipped */
(* (( (ptr) &var←c0295)+5)/* var←c02 */ ) = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */ ))+71) );
{
/* declaration of var←c03 skipped */
{
word var←c04;
{
word var←c0275;
var←c0275 = (word) &var←c0295;
var←c04 = (word) XR←Enable(( ((word) (fPt) NoName←Q2472) ), ( ((word) (fPt) NoName←Q2592) ), var←c0275);
};
if ((var←c04 == 3)) {
goto lab←L100009;
};
};
var←c23552 = (* (W3Pt) (( (ptr) &var←c0295)+6)/* var←c03 */ );
};
};
charsSkipped←v7604 = var←c23552.f2;
token←v7576 = var←c23552.f1;
tokenKind←v7548 = var←c23552.f0;
};
lab←L100009: ;
SOURCE(5553, 20)
if ((0 == (* (( (ptr) formal←c0257)+8) ))) {
SOURCE(5573, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(5580, 572)
{
word pd77;
pd77 = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */ ))+15) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd77 ))))((* ((( (ptr) &var←c0295)+4)/* s←v7660 */ ) ), pd77))) {
SOURCE(5638, 441)
{
word var←c23584;
var←c23584 = tokenKind←v7548;
switch (var←c23584) {
case 1:
SOURCE(5671, 11)
(* (( (ptr) formal←c0257)+7) ) = token←v7576;
break;
case 2:
SOURCE(5700, 47)
{
/*1*/ word var←c23616;
/*1*/ word var←c23648;
/*1*/ {
/*1*/ word pd78;
/*1*/ pd78 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+10) );
/*1*/ var←c23616 = (word) ( *( (fPt) ((* (ptr) pd78 ))))(token←v7576, 8, pd78);
/*1*/ };
/*1*/ var←c23648 = XR←NewObject(4, (* (( (ptr) gf←c0256)+15) ));
/*1*/ (* (ptr) var←c23648 ) = var←c23616;
/*1*/ (* (( (ptr) formal←c0257)+7) ) = var←c23648;
/*1*/ };
break;
case 3:
SOURCE(5763, 46)
{
/*1*/ word var←c23680;
/*1*/ word var←c23712;
/*1*/ {
/*1*/ word pd79;
/*1*/ pd79 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+10) );
/*1*/ var←c23680 = (word) ( *( (fPt) ((* (ptr) pd79 ))))(token←v7576, 6, pd79);
/*1*/ };
/*1*/ var←c23712 = XR←NewObject(4, (* (( (ptr) gf←c0256)+15) ));
/*1*/ (* (ptr) var←c23712 ) = var←c23680;
/*1*/ (* (( (ptr) formal←c0257)+7) ) = var←c23712;
/*1*/ };
break;
case 4:
SOURCE(5823, 47)
{
/*1*/ word var←c23744;
/*1*/ word var←c23776;
/*1*/ {
/*1*/ word pd80;
/*1*/ pd80 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+10) );
/*1*/ var←c23744 = (word) ( *( (fPt) ((* (ptr) pd80 ))))(token←v7576, 14, pd80);
/*1*/ };
/*1*/ var←c23776 = XR←NewObject(4, (* (( (ptr) gf←c0256)+15) ));
/*1*/ (* (ptr) var←c23776 ) = var←c23744;
/*1*/ (* (( (ptr) formal←c0257)+7) ) = var←c23776;
/*1*/ };
break;
case 5:
SOURCE(5885, 45)
{
/*1*/ word var←c23808;
/*1*/ word var←c23840;
/*1*/ {
/*1*/ word pd81;
/*1*/ pd81 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+12) );
/*1*/ var←c23808 = (word) ( *( (fPt) ((* (ptr) pd81 ))))(token←v7576, pd81);
/*1*/ };
/*1*/ var←c23840 = XR←NewObject(4, (* (( (ptr) gf←c0256)+17) ));
/*1*/ (* (ptr) var←c23840 ) = var←c23808;
/*1*/ (* (( (ptr) formal←c0257)+7) ) = var←c23840;
/*1*/ };
break;
case 6:
SOURCE(5945, 36)
{
/*1*/ word pd82;
/*1*/ pd82 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+25) );
/*1*/ (* (( (ptr) formal←c0257)+7) ) = (word) ( *( (fPt) ((* (ptr) pd82 ))))(token←v7576, 0, pd82);
/*1*/ };
break;
case 7:
SOURCE(5996, 11)
(* (( (ptr) formal←c0257)+7) ) = token←v7576;
break;
case 8:
SOURCE(6022, 33)
{
/*1*/ word pd83;
/*1*/ pd83 = (* (( (ptr) (* (( (ptr) gf←c0256)+76)/* var←c23296 */ ))+18) );
/*1*/ (* (( (ptr) formal←c0257)+7) ) = (word) ( *( (fPt) ((* (ptr) pd83 ))))(token←v7576, pd83);
/*1*/ };
break;
default:
SOURCE(6068, 11)
(* (( (ptr) formal←c0257)+7) ) = token←v7576;
break;
};
};
}
else {
SOURCE(6145, 7)
(* (( (ptr) formal←c0257)+7) ) = (* (( (ptr) formal←c0257)+5) );
};
};
};
}
else {
SOURCE(6166, 28)
gtEntry←v7492 = XR←Narrow(tableEntry←v7464, (* (( (ptr) gf←c0256)+12) ));
SOURCE(6196, 32)
if (((* (ptr) gtEntry←v7492 ) == 0)) {
SOURCE(6219, 9)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0256)+16)/* LOCK←v2832 */ ));
(* (( (ptr) formal←c0257)+6) ) = (* (( (ptr) formal←c0257)+5) );
return(1);
};
SOURCE(6230, 56)
{
word var←c23872;
{
word pd84;
pd84 = (* (( (ptr) (* (( (ptr) gf←c0256)+77)/* var←c23488 */ ))+33) );
var←c23872 = (word) ( *( (fPt) ((* (ptr) pd84 ))))((* (( (ptr) formal←c0257)+5) ), (* (( (ptr) gf←c0256)+9)/* scratchRIS←v3840 */ ), pd84)
;
};
{
word pd85;
pd85 = (* (ptr) gtEntry←v7492 );
(* (( (ptr) formal←c0257)+7) ) = (word) ( *( (fPt) ((* (ptr) pd85 ))))(var←c23872, pd85);
};
};
};
};
return(0);
}
static word NoName←Q2472(formal←c0258)
word formal←c0258;
{
SOURCE(5435, 104)
{
word pd86;
pd86 = (* (( (ptr) formal←c0258)+5) );
(void) ( *( (fPt) ((* (ptr) pd86 ))))((word) (( (bPt) formal←c0258)+24), (* (( (ptr) formal←c0258)+4) ), 1, pd86);
};
return(0);
}
static void Register←P660(key←v5448, in←v5476, out←v5504, copy←v5532)
word key←v5448;
word in←v5476;
word out←v5504;
word copy←v5532;
{
register ptr gf←c25184 = (ptr) &globalframe;
word gtEntry←v7704;
/* Register: */
SOURCE(6295, 178)
SOURCE(6383, 53)
gtEntry←v7704 = XR←NewObject(12, (* (( (ptr) gf←c25184)+12) ));
(* (ptr) gtEntry←v7704 ) = XR←CheckProc(in←v5476);
(* (( (ptr) gtEntry←v7704)+1) ) = XR←CheckProc(out←v5504);
(* (( (ptr) gtEntry←v7704)+2) ) = XR←CheckProc(copy←v5532);
SOURCE(6438, 35)
{
word var←c23936;
word pd87;
pd87 = (* (( (ptr) (* (( (ptr) gf←c25184)+75)/* var←c22752 */ ))+9) );
var←c23936 = (word) ( *( (fPt) ((* (ptr) pd87 ))))((* (( (ptr) gf←c25184)+8)/* gt←v3812 */ ), key←v5448, gtEntry←v7704, pd87)
;
};
}
static void Init←P720()
{
register ptr gf←c25216 = (ptr) &globalframe;
word bigRope←v7748;
/* Init: */
SOURCE(6522, 175)
SOURCE(6537, 79)
bigRope←v7748 = (* (( (ptr) gf←c25216)+25) );
SOURCE(6618, 20)
{
word pd88;
pd88 = (* (( (ptr) (* (( (ptr) gf←c25216)+75)/* var←c22752 */ ))+5) );
(* (( (ptr) gf←c25216)+8)/* gt←v3812 */ ) = (word) ( *( (fPt) ((* (ptr) pd88 ))))(17, 0, 0, pd88);
};
SOURCE(6640, 34)
{
word pd89;
pd89 = (* (( (ptr) (* (( (ptr) gf←c25216)+77)/* var←c23488 */ ))+33) );
(* (( (ptr) gf←c25216)+9)/* scratchRIS←v3840 */ ) = (word) ( *( (fPt) ((* (ptr) pd89 ))))(bigRope←v7748, 0, pd89);
};
SOURCE(6676, 21)
{
word pd90;
pd90 = (* (( (ptr) (* (( (ptr) gf←c25216)+77)/* var←c23488 */ ))+34) );
(* (( (ptr) gf←c25216)+10)/* scratchROS←v3868 */ ) = (word) ( *( (fPt) ((* (ptr) pd90 ))))(0, pd90);
};
}
static word IdentityCopy←P780(val←v10044)
word val←v10044;
{
word copy←v10088;
/* IdentityCopy: */
SOURCE(6703, 44)
SOURCE(6703, 44)
copy←v10088 = 0;
SOURCE(6737, 10)
copy←v10088 = val←v10044;
SOURCE(6703, 44)
return(copy←v10088);
}
static void RegisterTestProcs←P840()
{
register ptr gf←c25248 = (ptr) &globalframe;
/* RegisterTestProcs: */
SOURCE(6753, 191)
SOURCE(6781, 51)
(void) Register←P660((* (( (ptr) gf←c25248)+22) ), (word) (( (bPt) gf←c25248)+160)/* var←c21792 */ , (word) (( (bPt) gf←c25248)+152)
/* var←c21760 */ , (word) (( (bPt) gf←c25248)+176)/* var←c21856 */ );
SOURCE(6834, 54)
(void) Register←P660((* (( (ptr) gf←c25248)+23) ), (word) (( (bPt) gf←c25248)+144)/* var←c21728 */ , (word) (( (bPt) gf←c25248)+136)
/* var←c21696 */ , (word) (( (bPt) gf←c25248)+176)/* var←c21856 */ );
SOURCE(6890, 54)
(void) Register←P660((* (( (ptr) gf←c25248)+24) ), (word) (( (bPt) gf←c25248)+128)/* var←c21664 */ , (word) (( (bPt) gf←c25248)+120)
/* var←c21632 */ , (word) (( (bPt) gf←c25248)+176)/* var←c21856 */ );
}
static word FileInInt←P900(s←v10148)
word s←v10148;
{
register ptr gf←c25280 = (ptr) &globalframe;
word val←v10192;
word ref←v7792;
/* FileInInt: */
SOURCE(6950, 81)
SOURCE(6950, 81)
val←v10192 = 0;
SOURCE(6976, 23)
ref←v7792 = XR←NewObject(4, (* (( (ptr) gf←c25280)+15) ));
SOURCE(7001, 19)
{
word pd91;
pd91 = (* (( (ptr) (* (( (ptr) gf←c25280)+77)/* var←c23488 */ ))+72) );
(* (ptr) ref←v7792 ) = (word) ( *( (fPt) ((* (ptr) pd91 ))))(s←v10148, pd91);
};
SOURCE(7022, 9)
val←v10192 = ref←v7792;
SOURCE(6950, 81)
return(val←v10192);
}
static word FileOutInt←P960(s←v10252, val←v10280)
word s←v10252;
word val←v10280;
{
register ptr gf←c25312 = (ptr) &globalframe;
word vf←v10324;
word ref←v7848;
/* FileOutInt: */
SOURCE(7036, 81)
SOURCE(7036, 81)
vf←v10324 = 1;
SOURCE(7064, 26)
ref←v7848 = XR←Narrow(val←v10280, (* (( (ptr) gf←c25312)+15) ));
SOURCE(7092, 25)
{
W2 var←c23968;
var←c23968.f0 = 5;
var←c23968.f1 = (* (ptr) ref←v7848 );
{
word pd92;
pd92 = (* (( (ptr) (* (( (ptr) gf←c25312)+77)/* var←c23488 */ ))+55) );
(void) ( *( (fPt) ((* (ptr) pd92 ))))(s←v10252, var←c23968, pd92);
};
};
SOURCE(7036, 81)
return(vf←v10324);
}
static word FileInReal←P1020(s←v10384)
word s←v10384;
{
register ptr gf←c25344 = (ptr) &globalframe;
word val←v10428;
word ref←v7904;
/* FileInReal: */
SOURCE(7122, 85)
SOURCE(7122, 85)
val←v10428 = 0;
SOURCE(7149, 25)
ref←v7904 = XR←NewObject(4, (* (( (ptr) gf←c25344)+17) ));
SOURCE(7176, 20)
{
word pd93;
pd93 = (* (( (ptr) (* (( (ptr) gf←c25344)+77)/* var←c23488 */ ))+74) );
(* (ptr) ref←v7904 ) = (word) ( *( (fPt) ((* (ptr) pd93 ))))(s←v10384, pd93);
};
SOURCE(7198, 9)
val←v10428 = ref←v7904;
SOURCE(7122, 85)
return(val←v10428);
}
static word FileOutReal←P1080(s←v10488, val←v10516)
word s←v10488;
word val←v10516;
{
register ptr gf←c25376 = (ptr) &globalframe;
word vf←v10560;
word ref←v7960;
/* FileOutReal: */
SOURCE(7212, 80)
SOURCE(7212, 80)
vf←v10560 = 1;
SOURCE(7241, 27)
ref←v7960 = XR←Narrow(val←v10516, (* (( (ptr) gf←c25376)+17) ));
SOURCE(7270, 22)
{
W2 var←c24000;
var←c24000.f0 = 8;
var←c24000.f1 = (* (ptr) ref←v7960 );
{
word pd94;
pd94 = (* (( (ptr) (* (( (ptr) gf←c25376)+77)/* var←c23488 */ ))+55) );
(void) ( *( (fPt) ((* (ptr) pd94 ))))(s←v10488, var←c24000, pd94);
};
};
SOURCE(7212, 80)
return(vf←v10560);
}
static word FileInAtom←P1140(s←v10620)
word s←v10620;
{
register ptr gf←c25408 = (ptr) &globalframe;
word val←v10664;
word ref←v8016;
/* FileInAtom: */
SOURCE(7297, 63)
SOURCE(7297, 63)
val←v10664 = 0;
SOURCE(7324, 25)
{
word pd95;
pd95 = (* (( (ptr) (* (( (ptr) gf←c25408)+77)/* var←c23488 */ ))+77) );
ref←v8016 = (word) ( *( (fPt) ((* (ptr) pd95 ))))(s←v10620, pd95);
};
SOURCE(7351, 9)
val←v10664 = ref←v8016;
SOURCE(7297, 63)
return(val←v10664);
}
static word FileOutAtom←P1200(s←v10724, val←v10752)
word s←v10724;
word val←v10752;
{
register ptr gf←c25440 = (ptr) &globalframe;
word vf←v10796;
word ref←v8060;
/* FileOutAtom: */
SOURCE(7365, 75)
SOURCE(7365, 75)
vf←v10796 = 1;
SOURCE(7394, 23)
ref←v8060 = XR←Narrow(val←v10752, (* (( (ptr) gf←c25440)+13) ));
SOURCE(7419, 21)
{
W2 var←c24032;
var←c24032.f0 = 1;
var←c24032.f1 = ref←v8060;
{
word pd96;
pd96 = (* (( (ptr) (* (( (ptr) gf←c25440)+77)/* var←c23488 */ ))+55) );
(void) ( *( (fPt) ((* (ptr) pd96 ))))(s←v10724, var←c24032, pd96);
};
};
SOURCE(7365, 75)
return(vf←v10796);
}
static word FileInRope←P1260(s←v10856)
word s←v10856;
{
register ptr gf←c25472 = (ptr) &globalframe;
word val←v10900;
word ref←v8104;
/* FileInRope: */
SOURCE(7445, 68)
SOURCE(7445, 68)
val←v10900 = 0;
SOURCE(7472, 30)
{
word pd97;
pd97 = (* (( (ptr) (* (( (ptr) gf←c25472)+77)/* var←c23488 */ ))+92) );
ref←v8104 = (word) ( *( (fPt) ((* (ptr) pd97 ))))(s←v10856, 2147483647, 0, pd97);
};
SOURCE(7504, 9)
val←v10900 = ref←v8104;
SOURCE(7445, 68)
return(val←v10900);
}
static word FileOutRope←P1320(s←v10960, val←v10988)
word s←v10960;
word val←v10988;
{
register ptr gf←c25504 = (ptr) &globalframe;
word vf←v11032;
word ref←v8148;
/* FileOutRope: */
SOURCE(7518, 73)
SOURCE(7518, 73)
vf←v11032 = 1;
SOURCE(7547, 28)
ref←v8148 = XR←Narrow(val←v10988, (* (( (ptr) gf←c25504)+14) ));
if ((ref←v8148 == 0)) {
goto lab←L100012;
};
if (( (unsigned) (*(int*)ref←v8148<0) == 0)) {
goto lab←L100012;
};
(void) XR←RaiseError(XR←NarrowFault, 0);
lab←L100012: ;
SOURCE(7577, 14)
{
word pd98;
pd98 = (* (( (ptr) (* (( (ptr) gf←c25504)+77)/* var←c23488 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd98 ))))(s←v10960, ref←v8148, 0, 2147483647, pd98);
};
SOURCE(7518, 73)
return(vf←v11032);
}
static void NoName←Q2532(formal←c0219, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0219;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
register ptr gf←c0270 = (ptr) &globalframe;
if ((formal←c200005 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0270)+16)/* LOCK←v2832 */ ));
};
(* (ptr) formal←c0219 ) = 0;
(* (( (ptr) formal←c0219)+1) ) = 0;
return;
}
static void NoName←Q2592(formal←c0224, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
word formal←c0224;
word formal←c200008;
word formal←c200009;
word formal←c200010;
word formal←c200011;
{
register ptr gf←c0271 = (ptr) &globalframe;
if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0271)+77)/* var←c23488 */ ))+4) )) || (formal←c200009 == (* (( (ptr) (* (
( (ptr) gf←c0271)+77)/* var←c23488 */ ))+5) ))) {
SOURCE(5524, 15)
(* (( (ptr) (* (ptr) formal←c200008 ))+8) ) = 0;
SOURCE(5541, 8)
(* (ptr) formal←c0224 ) = 2;
(* (( (ptr) formal←c0224)+1) ) = 3;
return;
};
(* (ptr) formal←c0224 ) = 0;
(* (( (ptr) formal←c0224)+1) ) = 0;
return;
}
static void NoName←Q2652(formal←c0229, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0229;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0272 = (ptr) &globalframe;
if ((formal←c200001 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0272)+16)/* LOCK←v2832 */ ));
};
(* (ptr) formal←c0229 ) = 0;
(* (( (ptr) formal←c0229)+1) ) = 0;
return;
}
/* file: GGPropsImpl, module: GGPropsImpl, compiled at: July 11, 1993 8:07:35 pm PDT */
extern void XR←install←GGPropsImpl() {
NoName←Q2292();
}
extern void XR←run←GGPropsImpl() { XR←Start(&globalframe); }