/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: March 5, 1992 10:50:57 am PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: RefPrintImpl, module: RefPrintImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3323689590,2542684210] RefPrintImpl";
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, f7;} W8;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static void NoName←Q1620();
static void RefPrintImpl←P0();
static word DesparatePrintReferent←P60();
static void PrintWord←P120();
static word PrintReferent←P180();
static word PrintREF←P240();
static void Inner←P1044();
static void Register←P300();
static void RegisterFallback←P360();
static void UnRegister←P420();
static word EachPair←P1200();
static word UnRegisterFallbacks←P480();
static word ATOMPrinter←P540();
static word REFLongNumberPrinter←P600();
static void PrintRopeLiteral←P660();
static word Action←P1308();
static word ROPEPrinter←P720();
static word LORAPrinter←P780();
static void RefPrintCommand←P840();
static word NoName←Q1680();
static void Inner←P1512();
static void NoName←Q1740();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[20];} string3 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\004\003\000"};
static struct {unsigned f; char r[4];} string5 = {65540, "\251\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string7 = {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];} string8 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\227\306\253\223\300\107\163\142\023\103\260\000\000"};
static struct {unsigned f; char r[96];} string10 = {6029408, "\260\006\005\146\151\162\163\164\262\260\007\006\163\164\162\145\141\155\216\257\300\015\277\004\146\300\034\367\146\045\112\064\004\003\162\145\146\217\261\260\003\002\157\153\232\261\005\004\162\145\163\164\214\262\260\007\006\163\164\162\145\141\155\216\257\300\015\277\004\146\300\034\367\146\045\112\064\004\003\162\145\146\217\261\260\003\002\157\153\232\261\261\000\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\306\033\172\166\300\227\216\110\062\100\340\000\000"};
static struct {unsigned f; char r[40];} string13 = {2490408, "\262\260\007\006\163\164\162\145\141\155\216\257\300\015\277\004\146\300\034\367\146\045\112\064\004\003\162\145\146\217\261\260\003\002\157\153\232\261\000"};
static struct {unsigned f; char r[4];} string14 = {65540, " \000\000"};
static struct {unsigned f; char r[4];} string15 = {65540, "]\000\000"};
static struct {unsigned f; char r[8];} string16 = {262152, "%08x\000\000\000"};
static struct {unsigned f; char r[4];} string17 = {131076, "pf\000"};
static struct {unsigned f; char r[4];} string18 = {196612, "NIL"};
static struct {unsigned f; char r[16];} string19 = {983056, "RefPrintControl"};
static struct {unsigned f; char r[8];} string20 = {458760, "TC%g%g["};
static struct {unsigned f; char r[12];} string21 = {655372, "(%l%08x%l)\000"};
static struct {unsigned f; char r[4];} string22 = {65540, "b\000\000"};
static struct {unsigned f; char r[4];} string23 = {65540, "B\000\000"};
static struct {unsigned f; char r[4];} string24 = {131076, "↑=\000"};
static struct {unsigned f; char r[8];} string25 = {262152, "TRUE\000\000\000"};
static struct {unsigned f; char r[60];} string26 = {3866684, "args: [ -d depthLimit ] address\012Print the referent of a REF"};
static struct {unsigned f; char r[4];} string27 = {196612, "$%g"};
static struct {unsigned f; char r[12];} string28 = {524300, "RefPrint\000\000\000"};
static struct {unsigned f; char r[12];} string29 = {720908, "[lc[%08xH]]"};
static struct {unsigned f; char r[4];} string30 = {196612, "..."};
static struct {unsigned f; char r[4];} string31 = {4, "\000\000\000"};
static struct {unsigned f; char r[8];} string32 = {327688, "LIST[\000\000"};
static struct {unsigned f; char r[4];} string33 = {131076, ", \000"};
static struct {unsigned f; char r[4];} string34 = {65540, "a\000\000"};
static struct {unsigned f; char r[4];} string35 = {131076, "-d\000"};
static struct {unsigned f; char r[4];} string36 = {131076, "%l\000"};
static struct {unsigned f; char r[4];} string37 = {65540, "f\000\000"};
static struct {unsigned f; char r[4];} string38 = {196612, "%l\012"};
static struct {unsigned f; char r[4];} string39 = {65540, "F\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\306\033\172\166\300\227\216\110\062\100\164\000\000"};
static struct {unsigned f; char r[16];} string41 = {851981, "\006\003\040\001\044\001\100\130\010\000\004\032\001\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\311\235\133\064\300\165\175\234\175\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\144\364\322\150\300\206\136\277\046\100\150\000\000"};
static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\277\374\326\303\300\302\136\022\175\100\150\000\000"};
static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\223\215\300\016\300\070\141\304\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string51 = {851984, "\257\300\314\116\377\204\300\167\024\373\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string52 = {851984, "\257\300\027\377\335\126\300\373\132\315\077\100\150\000\000"};
static struct {
word f0[48]; 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[12];
} globalframe = {
{0}, (word) RefPrintCommand←P840, 0, (word) LORAPrinter←P780,
0, (word) ROPEPrinter←P720, 0, (word) PrintRopeLiteral←P660,
0, (word) REFLongNumberPrinter←P600, 0, (word) ATOMPrinter←P540,
0, (word) UnRegisterFallbacks←P480, 0, (word) UnRegister←P420,
0, (word) RegisterFallback←P360, 0, (word) Register←P300,
0, (word) PrintREF←P240, 0, (word) PrintReferent←P180,
0, (word) PrintWord←P120, 0, (word) DesparatePrintReferent←P60,
0, (word) RefPrintImpl←P0, {0}
};
static void NoName←Q1620()
{
register ptr gf←c0159 = (ptr) &globalframe;
word var←c20056;
(* (( (ptr) gf←c0159)+12) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0159)+13) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0159)+14) ) = (word) XR←GetTypeIndexS((word) (&string5));
(* (( (ptr) gf←c0159)+15) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
(* (( (ptr) gf←c0159)+16) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string2);
(* (( (ptr) gf←c0159)+18) ) = (word) XR←GetTypeIndexS((word) (&string9));
(* (( (ptr) gf←c0159)+19) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
(* (( (ptr) gf←c0159)+20) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string2);
(* (( (ptr) gf←c0159)+21) ) = (word) XR←GetTypeIndexS((word) (&string13));
(* (ptr) (( (bPt) gf←c0159)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string14);
(* (ptr) (( (bPt) gf←c0159)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string15);
(* (ptr) (( (bPt) gf←c0159)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string16);
(* (ptr) (( (bPt) gf←c0159)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string17);
(* (ptr) (( (bPt) gf←c0159)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string18);
(* (ptr) (( (bPt) gf←c0159)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+12) ), (word) &string19);
(* (ptr) (( (bPt) gf←c0159)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string20);
(* (ptr) (( (bPt) gf←c0159)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string21);
(* (ptr) (( (bPt) gf←c0159)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string22);
(* (ptr) (( (bPt) gf←c0159)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string23);
(* (ptr) (( (bPt) gf←c0159)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string24);
(* (ptr) (( (bPt) gf←c0159)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+12) ), (word) &string25);
(* (ptr) (( (bPt) gf←c0159)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string26);
(* (ptr) (( (bPt) gf←c0159)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string27);
(* (ptr) (( (bPt) gf←c0159)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string28);
(* (ptr) (( (bPt) gf←c0159)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string29);
(* (ptr) (( (bPt) gf←c0159)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string30);
(* (ptr) (( (bPt) gf←c0159)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string31);
(* (ptr) (( (bPt) gf←c0159)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string32);
(* (ptr) (( (bPt) gf←c0159)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string33);
(* (ptr) (( (bPt) gf←c0159)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+12) ), (word) &string34);
(* (ptr) (( (bPt) gf←c0159)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string35);
(* (ptr) (( (bPt) gf←c0159)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string36);
(* (ptr) (( (bPt) gf←c0159)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string37);
(* (ptr) (( (bPt) gf←c0159)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string38);
(* (ptr) (( (bPt) gf←c0159)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0159)+16) ), (word) &string39);
(void) XR←DeclareGlobalFrame((word) "RefPrintImpl", &globalframe, (word) XR←GetTypeIndex((word) &string40, 0, (word) &string41)
, (word) (( (bPt) gf←c0159)+304)/* var←c18296 */ );
var←c20056 = (word) XR←ImportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string42)), 3);
(* (( (ptr) gf←c0159)+81)/* var←c18520 */ ) = var←c20056;
(void) XR←ImportProcS(var←c20056, 1310725);
var←c20056 = (word) XR←ImportInterface((word) "CommanderOps", (word) XR←GetTypeIndexS((word) (&string43)), 14);
(* (( (ptr) gf←c0159)+87)/* var←c19832 */ ) = var←c20056;
(void) XR←ImportProcS(var←c20056, 67634178);
var←c20056 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string44)), 16);
(* (( (ptr) gf←c0159)+86)/* var←c19512 */ ) = var←c20056;
(void) XR←ImportProcS(var←c20056, 67372289);
var←c20056 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string45)), 43);
(* (( (ptr) gf←c0159)+80)/* var←c18488 */ ) = var←c20056;
(void) XR←ImportProcS(var←c20056, 67896323);
(void) XR←ImportProcS(var←c20056, 68163076);
(void) XR←ImportProcS(var←c20056, 67901955);
var←c20056 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string46)), 73);
(* (( (ptr) gf←c0159)+84)/* var←c18872 */ ) = var←c20056;
(void) XR←ImportProcS(var←c20056, 67634946);
var←c20056 = (word) XR←ImportInterface((word) "List", (word) XR←GetTypeIndexS((word) (&string47)), 28);
(* (( (ptr) gf←c0159)+85)/* var←c19000 */ ) = var←c20056;
(void) XR←ImportProcS(var←c20056, 67899907);
var←c20056 = (word) XR←ImportInterface((word) "SafeStorage", (word) XR←GetTypeIndexS((word) (&string48)), 27);
(* (( (ptr) gf←c0159)+79)/* var←c18392 */ ) = var←c20056;
(void) XR←ImportProcS(var←c20056, 67375361);
var←c20056 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string49)), 103);
(* (( (ptr) gf←c0159)+82)/* var←c18648 */ ) = var←c20056;
(void) XR←ImportProcS(var←c20056, 528642);
(void) XR←ImportProcS(var←c20056, 1063171);
(void) XR←ImportProcS(var←c20056, 1071364);
(void) XR←ImportProcS(var←c20056, 2111493);
var←c20056 = (word) XR←ImportInterface((word) "CardTab", (word) XR←GetTypeIndexS((word) (&string50)), 12);
(* (( (ptr) gf←c0159)+78)/* var←c18328 */ ) = var←c20056;
(void) XR←ImportProcS(var←c20056, 67634946);
(void) XR←ImportProcS(var←c20056, 67635458);
(void) XR←ImportProcS(var←c20056, 67896579);
(void) XR←ImportProcS(var←c20056, 67896835);
(void) XR←ImportProcS(var←c20056, 134742786);
(void) XR←ImportProcS(var←c20056, 67371265);
var←c20056 = (word) XR←ImportInterface((word) "ProcessProps", (word) XR←GetTypeIndexS((word) (&string51)), 6);
(* (( (ptr) gf←c0159)+83)/* var←c18776 */ ) = var←c20056;
(void) XR←ImportProcS(var←c20056, 524290);
(void) XR←ImportProcS(var←c20056, 67371777);
var←c20056 = (word) XR←ExportInterface((word) "RefPrint", (word) XR←GetTypeIndexS((word) (&string52)), 5);
(* (( (ptr) gf←c0159)+88)/* var←c20088 */ ) = var←c20056;
(void) XR←ExportProcS(var←c20056, (word) (( (bPt) gf←c0159)+264)/* var←c18136 */ , 524290);
(void) XR←ExportProcS(var←c20056, (word) (( (bPt) gf←c0159)+256)/* var←c18104 */ , 262401);
(void) XR←ExportProcS(var←c20056, (word) (( (bPt) gf←c0159)+248)/* var←c18072 */ , 262657);
(void) XR←ExportProcS(var←c20056, (word) (( (bPt) gf←c0159)+280)/* var←c18200 */ , 67633922);
(void) XR←ExportProcS(var←c20056, (word) (( (bPt) gf←c0159)+272)/* var←c18168 */ , 67634178);
}
static void RefPrintImpl←P0(formal←c038, formal←c034)
word formal←c038;
word formal←c034;
{
register ptr gf←c20120 = (ptr) &globalframe;
/* RefPrintImpl: */
SOURCE(123, 6511)
SOURCE(301, 40)
{
word pd53;
pd53 = (* (( (ptr) (* (( (ptr) gf←c20120)+78)/* var←c18328 */ ))+5) );
(* (( (ptr) gf←c20120)+8)/* printers←v3056 */ ) = (word) ( *( (fPt) ((* (ptr) pd53 ))))(17, pd53);
};
SOURCE(2273, 26)
(* (( (ptr) gf←c20120)+10)/* defaultDepthLimit←v3252 */ ) = 2;
SOURCE(6347, 63)
{
word var←c18360;
{
word pd54;
pd54 = (* (( (ptr) (* (( (ptr) gf←c20120)+79)/* var←c18392 */ ))+21) );
var←c18360 = (word) ( *( (fPt) ((* (ptr) pd54 ))))((* ((( (ptr) gf←c20120)+42)) ), pd54);
};
(void) Register←P300((word) (( (bPt) gf←c20120)+232)/* var←c18008 */ , var←c18360);
};
SOURCE(6412, 77)
{
word var←c18424;
{
word var←c18456;
{
word pd55;
pd55 = (* (( (ptr) (* (( (ptr) gf←c20120)+80)/* var←c18488 */ ))+30) );
var←c18456 = (word) ( *( (fPt) ((* (ptr) pd55 ))))((* (( (ptr) gf←c20120)+39) ), 0, 2147483647, pd55);
};
{
word pd56;
pd56 = (* (( (ptr) (* (( (ptr) gf←c20120)+79)/* var←c18392 */ ))+21) );
var←c18424 = (word) ( *( (fPt) ((* (ptr) pd56 ))))(var←c18456, pd56);
};
};
(void) Register←P300((word) (( (bPt) gf←c20120)+208)/* var←c17912 */ , var←c18424);
};
SOURCE(6491, 29)
(void) RegisterFallback←P360((word) ((( (bPt) gf←c20120)+200)/* var←c17880 */ ));
SOURCE(6523, 111)
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) gf←c20120)+81)/* var←c18520 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd57 ))))((* (( (ptr) gf←c20120)+36) ), (word) (( (bPt) gf←c20120)+192)/* var←c17848 */ , (* (
( (ptr) gf←c20120)+34) ), 0, 1, pd57);
};
}
static word DesparatePrintReferent←P60(stream←v3964, maybeRef←v3992)
word stream←v3964;
word maybeRef←v3992;
{
register ptr gf←c20152 = (ptr) &globalframe;
word var←c4036;
word nBytes←v5152 = 0;
word pointerFree←v5180 = 0;
word hdrPointer←v5208;
/* DesparatePrintReferent: */
SOURCE(578, 785)
SOURCE(714, 59)
hdrPointer←v5208 = (word) XR←PtrTest(maybeRef←v3992, (word) &nBytes←v5152, (word) &pointerFree←v5180);
SOURCE(775, 570)
if ( ( (hdrPointer←v5208 != 0) ? ((hdrPointer←v5208 + 8) == maybeRef←v3992) : 0 ) ) {
SOURCE(838, 507)
{
word ref←v5252;
word p←v5280;
word type←v5308;
word ordType←v5336;
SOURCE(840, 29)
ref←v5252 = maybeRef←v3992;
SOURCE(871, 39)
p←v5280 = maybeRef←v3992;
SOURCE(912, 66)
{
word pd58;
pd58 = (* (( (ptr) (* (( (ptr) gf←c20152)+79)/* var←c18392 */ ))+21) );
type←v5308 = (word) ( *( (fPt) ((* (ptr) pd58 ))))(ref←v5252, pd58);
};
SOURCE(980, 27)
ordType←v5336 = BCK(type←v5308, 65536);
SOURCE(1009, 29)
nBytes←v5152 = (nBytes←v5152 - 8);
SOURCE(1040, 91)
{
W2 var←c18552;
W2 var←c18584;
W2 var←c0185;
var←c18552.f0 = 4;
var←c18552.f1 = type←v5308;
var←c18584.f0 = 11;
if ((0 != pointerFree←v5180)) {
var←c18584.f1 = (* (( (ptr) gf←c20152)+25) );
}
else {
var←c18584.f1 = (* (( (ptr) gf←c20152)+39) );
};
(* (ptr) (word) &var←c0185 ) = 0;
(* (( (ptr) (word) &var←c0185) + 1) ) = 0;
{
word pd59;
pd59 = (* (( (ptr) (* (( (ptr) gf←c20152)+82)/* var←c18648 */ ))+60) );
(void) ( *( (fPt) ((* (ptr) pd59 ))))(stream←v3964, (* (( (ptr) gf←c20152)+28) ), var←c18552, var←c18584, var←c0185, pd59)
;
};
};
SOURCE(1133, 162)
lab←L100002: ;
if (( (int)nBytes←v5152 > (int)0)) {
}
else {
goto lab←L100000;
};
SOURCE(1153, 54)
if ((maybeRef←v3992 != p←v5280)) {
SOURCE(1184, 23)
{
word pd60;
pd60 = (* (( (ptr) (* (( (ptr) gf←c20152)+82)/* var←c18648 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd60 ))))(stream←v3964, (* (( (ptr) gf←c20152)+22) ), 0, 2147483647, pd60);
};
};
SOURCE(1209, 34)
(void) PrintWord←P120(stream←v3964, (* (ptr) p←v5280 ), pointerFree←v5180);
SOURCE(1245, 19)
p←v5280 = (p←v5280 + 4);
SOURCE(1266, 29)
nBytes←v5152 = (nBytes←v5152 - 4);
goto lab←L100002;
lab←L100000: ;
SOURCE(1306, 23)
{
word pd61;
pd61 = (* (( (ptr) (* (( (ptr) gf←c20152)+82)/* var←c18648 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd61 ))))(stream←v3964, (* (( (ptr) gf←c20152)+23) ), 0, 2147483647, pd61);
};
SOURCE(1331, 14)
return(1);
};
};
SOURCE(1348, 15)
return(0);
}
static void PrintWord←P120(stream←v4096, value←v4124, refFree←v4152)
word stream←v4096;
word value←v4124;
word refFree←v4152;
{
register ptr gf←c20184 = (ptr) &globalframe;
word nBytes←v5404 = 0;
word pointerFree←v5432 = 0;
word hdrPointer←v5460;
/* PrintWord: */
SOURCE(1367, 355)
SOURCE(1487, 79)
hdrPointer←v5460 = ( (0 != refFree←v4152) ? 0 : (word) XR←PtrTest(value←v4124, (word) &nBytes←v5404, (word) &pointerFree←v5432)
) ;
SOURCE(1568, 154)
if ( ( (hdrPointer←v5460 != 0) ? ((hdrPointer←v5460 + 8) == value←v4124) : 0 ) ) {
SOURCE(1630, 39)
{
word var←c18680;
var←c18680 = (word) PrintREF←P240(stream←v4096, value←v4124);
};
}
else {
SOURCE(1678, 44)
{
W2 var←c18712;
var←c18712.f0 = 4;
var←c18712.f1 = value←v4124;
{
word pd62;
pd62 = (* (( (ptr) (* (( (ptr) gf←c20184)+82)/* var←c18648 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd62 ))))(stream←v4096, (* (( (ptr) gf←c20184)+24) ), var←c18712, pd62);
};
};
};
}
static word PrintReferent←P180(stream←v4212, ref←v4240)
word stream←v4212;
word ref←v4240;
{
register ptr gf←c20216 = (ptr) &globalframe;
word ok←v4300;
word type←v5504;
word ordType←v5532;
word printer←v5560;
/* PrintReferent: */
SOURCE(1728, 539)
SOURCE(1728, 539)
ok←v4300 = 1;
SOURCE(1815, 66)
{
word pd63;
pd63 = (* (( (ptr) (* (( (ptr) gf←c20216)+79)/* var←c18392 */ ))+21) );
type←v5504 = (word) ( *( (fPt) ((* (ptr) pd63 ))))(ref←v4240, pd63);
};
SOURCE(1883, 27)
ordType←v5532 = BCK(type←v5504, 65536);
SOURCE(1912, 89)
{
W2 var←c065;
word var←c0186;
{
word pd64;
pd64 = (* (( (ptr) (* (( (ptr) gf←c20216)+78)/* var←c18328 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd64 ))))((word) &var←c065, (* (( (ptr) gf←c20216)+8)/* printers←v3056 */ ), ordType←v5532, pd64)
;
};
var←c0186 = var←c065.f1;
printer←v5560 = XR←Narrow(var←c0186, (* (( (ptr) gf←c20216)+21) ));
};
SOURCE(2003, 264)
if ((printer←v5560 == 0)) {
SOURCE(2027, 128)
{
register word tail←v5616;
tail←v5616 = (* (( (ptr) gf←c20216)+9)/* fallbacks←v3084 */ );
lab←L100006: ;
if ((tail←v5616 != 0)) {
}
else {
goto lab←L100003;
};
SOURCE(2110, 45)
{
word pd65;
pd65 = (* (ptr) tail←v5616 );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd65 ))))(stream←v4212, ref←v4240, pd65))) {
SOURCE(2142, 13)
return(1);
};
};
tail←v5616 = (* (( (ptr) tail←v5616)+1) );
goto lab←L100006;
lab←L100003: ;
};
SOURCE(2174, 55)
SOURCE(2176, 53)
return((word) DesparatePrintReferent←P60(stream←v4212, ref←v4240));
}
else {
SOURCE(2239, 28)
{
word pd66;
pd66 = (* (ptr) printer←v5560 );
return((word) ( *( (fPt) ((* (ptr) pd66 ))))(stream←v4212, ref←v4240, pd66));
};
};
}
static word PrintREF←P240(formal←c0197, formal←c0198)
word formal←c0197;
word formal←c0198;
{
W10 var←c20248;
/* declaration of stream←v4444 skipped */
/* declaration of ref←v4472 skipped */
register ptr gf←c20280 = (ptr) &globalframe;
/* declaration of ok←v4528 skipped */
/* declaration of var←c18744 skipped */
(* (( (ptr) &var←c20248)+4)/* stream←v4444 */ ) = formal←c0197;
(* (( (ptr) &var←c20248)+5)/* ref←v4472 */ ) = formal←c0198;
/* PrintREF: */
SOURCE(2423, 1021)
{
word tmpAddr67;
tmpAddr67 = (word) (( (ptr) &var←c20248)+7)/* var←c18744 */ ;
(* (ptr) tmpAddr67 ) = ( ((word) (fPt) Inner←P1044) );
(* (( (ptr) tmpAddr67) + 1) ) = 1;
};
SOURCE(2423, 1021)
(* (( (ptr) &var←c20248)+6)/* ok←v4528 */ ) = 1;
SOURCE(2505, 939)
if (((* (( (ptr) &var←c20248)+5)/* ref←v4472 */ ) == 0)) {
SOURCE(2525, 26)
{
word pd68;
pd68 = (* (( (ptr) (* (( (ptr) gf←c20280)+82)/* var←c18648 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd68 ))))((* (( (ptr) &var←c20248)+4)/* stream←v4444 */ ), (* (( (ptr) gf←c20280)+26) ), 0, 2147483647, pd68)
;
};
}
else {
SOURCE(2558, 889)
{
word newDepthLimit←v5744 = (word) -1;
/* declaration of control←v5772 skipped */
SOURCE(2585, 30)
(* (( (ptr) &var←c20248)+9)/* control←v5772 */ ) = 0;
SOURCE(3023, 208)
{
word var←c18808;
word var←c18840;
{
word pd69;
pd69 = (* (( (ptr) (* (( (ptr) gf←c20280)+83)/* var←c18776 */ ))+7) );
var←c18808 = (word) ( *( (fPt) ((* (ptr) pd69 ))))((* ((( (ptr) gf←c20280)+27)) ), pd69);
};
if ((var←c18808 == 0)) {
goto lab←L100007;
};
var←c18840 = XR←GetReferentType(var←c18808);
{
word tc70;
if (((* (( (ptr) gf←c20280)+20) ) == var←c18840)) {
{
word ctl←v5860;
ctl←v5860 = var←c18808;
SOURCE(3105, 14)
(* (( (ptr) &var←c20248)+9)/* control←v5772 */ ) = ctl←v5860;
};
}
else {
if (((* (( (ptr) gf←c20280)+15) ) == var←c18840)) {
tc70 = (word) ((*(int*)var←c18808<0) == 0);
}
else {
tc70 = (word) 0;
};
if (tc70) {
{
word rope←v5904;
rope←v5904 = var←c18808;
SOURCE(3138, 43)
{
word pd71;
word idx72;
pd71 = (* (( (ptr) (* (( (ptr) gf←c20280)+84)/* var←c18872 */ ))+11) );
newDepthLimit←v5744 = (
/*1*/ idx72 = (word) ( *( (fPt) ((* (ptr) pd71 ))))(rope←v5904, 8, pd71),
/*1*/ SGNCK(idx72)
/*1*/ );
};
};
}
else {
lab←L100007: ;
SOURCE(3197, 34)
newDepthLimit←v5744 = (* (( (ptr) gf←c20280)+10)/* defaultDepthLimit←v3252 */ );
};
};
};
};
SOURCE(3234, 210)
if (((* (( (ptr) &var←c20248)+9)/* control←v5772 */ ) == 0)) {
SOURCE(3258, 87)
{
word var←c18904;
word var←c18936;
{
word pd73;
pd73 = (* (( (ptr) (* (( (ptr) gf←c20280)+78)/* var←c18328 */ ))+5) );
var←c18904 = (word) ( *( (fPt) ((* (ptr) pd73 ))))(17, pd73);
};
var←c18936 = XR←NewObject(8, (* (( (ptr) gf←c20280)+20) ));
(* (ptr) var←c18936 ) = var←c18904;
(* (( (ptr) var←c18936)+1) ) = newDepthLimit←v5744;
(* (( (ptr) &var←c20248)+9)/* control←v5772 */ ) = var←c18936;
};
SOURCE(3347, 78)
{
word var←c18968;
{
word pd74;
pd74 = (* (( (ptr) (* (( (ptr) gf←c20280)+85)/* var←c19000 */ ))+22) );
var←c18968 = (word) ( *( (fPt) ((* (ptr) pd74 ))))((* (( (ptr) gf←c20280)+27) ), (* (( (ptr) &var←c20248)+9)/* control←v5772 */ ), 0, pd74)
;
};
{
word pd75;
pd75 = (* (( (ptr) (* (( (ptr) gf←c20280)+83)/* var←c18776 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd75 ))))(var←c18968, (word) (( (bPt) &var←c20248)+28)/* var←c18744 */ , pd75);
};
};
}
else {
SOURCE(3436, 8)
(void) Inner←P1044((word) ((( (bPt) &var←c20248)+28)/* var←c18744 */ ));
};
};
};
SOURCE(2423, 1021)
return((* (( (ptr) &var←c20248)+6)/* ok←v4528 */ ));
}
static void Inner←P1044(formal←c20344)
word formal←c20344;
{
register ptr gf←c20312 = (ptr) &globalframe;
W2 var←c083;
word var←c0187;
formal←c20344 = (formal←c20344 - 28);
/* Inner: */
SOURCE(2617, 14)
SOURCE(2633, 82)
{
W2 var←c19032;
W2 var←c19064;
W2 var←c19096;
var←c19032.f0 = 11;
var←c19032.f1 = (* (( (ptr) gf←c20312)+30) );
var←c19064.f0 = 4;
var←c19064.f1 = (* (( (ptr) formal←c20344)+5) );
var←c19096.f0 = 11;
var←c19096.f1 = (* (( (ptr) gf←c20312)+31) );
{
word pd76;
pd76 = (* (( (ptr) (* (( (ptr) gf←c20312)+82)/* var←c18648 */ ))+60) );
(void) ( *( (fPt) ((* (ptr) pd76 ))))((* (( (ptr) formal←c20344)+4) ), (* (( (ptr) gf←c20312)+29) ), var←c19032, var←c19064, var←c19096, pd76)
;
};
};
SOURCE(2717, 298)
if (( (int)(* (( (ptr) (* (( (ptr) formal←c20344)+9) ))+1) ) == (int)0)) { goto then077;};
{
word pd78;
pd78 = (* (( (ptr) (* (( (ptr) gf←c20312)+78)/* var←c18328 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd78 ))))((word) &var←c083, (* (ptr) (* (( (ptr) formal←c20344)+9) ) ), (* (( (ptr) formal←c20344)+5)
), pd78);
};
var←c0187 = var←c083.f0;
if ((0 != var←c0187)) {
then077: ;
}
else {
SOURCE(2811, 43)
(* (( (ptr) (* (( (ptr) formal←c20344)+9) ))+1) ) = ((* (( (ptr) (* (( (ptr) formal←c20344)+9) ))+1) ) - 1);
SOURCE(2856, 24)
{
word pd79;
pd79 = (* (( (ptr) (* (( (ptr) gf←c20312)+82)/* var←c18648 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd79 ))))((* (( (ptr) formal←c20344)+4) ), (* (( (ptr) gf←c20312)+32) ), 0, 2147483647, pd79)
;
};
SOURCE(2882, 55)
{
word var←c19128;
word pd80;
pd80 = (* (( (ptr) (* (( (ptr) gf←c20312)+78)/* var←c18328 */ ))+10) );
var←c19128 = (word) ( *( (fPt) ((* (ptr) pd80 ))))((* (ptr) (* (( (ptr) formal←c20344)+9) ) ), (* (( (ptr) formal←c20344)+5)
), (* (( (ptr) gf←c20312)+33) ), pd80);
};
SOURCE(2939, 31)
(* (( (ptr) formal←c20344)+6) ) = (word) PrintReferent←P180((* (( (ptr) formal←c20344)+4) ), (* (( (ptr) formal←c20344)+5)
));
SOURCE(2972, 43)
(* (( (ptr) (* (( (ptr) formal←c20344)+9) ))+1) ) = ((* (( (ptr) (* (( (ptr) formal←c20344)+9) ))+1) ) + 1);
};
}
static void Register←P300(printer←v4588, type←v4616)
word printer←v4588;
word type←v4616;
{
register ptr gf←c20376 = (ptr) &globalframe;
word ordType←v5948;
/* Register: */
SOURCE(3454, 207)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c20376)+16)/* LOCK←v3000 */ ));
SOURCE(3543, 27)
ordType←v5948 = BCK(type←v4616, 65536);
SOURCE(3572, 89)
{
word var←c19224;
{
word var←c19160;
{
word var←c19192;
var←c19192 = XR←NewObject(4, (* (( (ptr) gf←c20376)+21) ));
(* (ptr) var←c19192 ) = XR←CheckProc(printer←v4588);
var←c19160 = var←c19192;
};
{
word pd81;
pd81 = (* (( (ptr) (* (( (ptr) gf←c20376)+78)/* var←c18328 */ ))+9) );
var←c19224 = (word) ( *( (fPt) ((* (ptr) pd81 ))))((* (( (ptr) gf←c20376)+8)/* printers←v3056 */ ), ordType←v5948, var←c19160, pd81)
;
};
};
};
SOURCE(3454, 207)
(void) (XR←MonitorExit((word) (( (bPt) gf←c20376)+16)/* LOCK←v3000 */ ));
return;
}
static void RegisterFallback←P360(printer←v4676)
word printer←v4676;
{
register ptr gf←c20408 = (ptr) &globalframe;
/* RegisterFallback: */
SOURCE(3665, 109)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c20408)+16)/* LOCK←v3000 */ ));
SOURCE(3738, 36)
{
word var←c19256;
var←c19256 = XR←NewObject(8, (* (( (ptr) gf←c20408)+19) ));
(* (ptr) var←c19256 ) = XR←CheckProc(printer←v4676);
(* (( (ptr) var←c19256)+1) ) = (* (( (ptr) gf←c20408)+9)/* fallbacks←v3084 */ );
(* (( (ptr) gf←c20408)+9)/* fallbacks←v3084 */ ) = var←c19256;
};
SOURCE(3665, 109)
(void) (XR←MonitorExit((word) (( (bPt) gf←c20408)+16)/* LOCK←v3000 */ ));
return;
}
static void UnRegister←P420(formal←c0199)
word formal←c0199;
{
W7 var←c20440;
/* declaration of printer←v4736 skipped */
register ptr gf←c20472 = (ptr) &globalframe;
/* declaration of var←c19288 skipped */
var←c20440.f4/* printer←v4736 */ = formal←c0199;
/* UnRegister: */
SOURCE(3780, 336)
{
word tmpAddr82;
tmpAddr82 = (word) (( (ptr) &var←c20440)+5)/* var←c19288 */ ;
(* (ptr) tmpAddr82 ) = ( ((word) (fPt) EachPair←P1200) );
(* (( (ptr) tmpAddr82) + 1) ) = 1;
};
(void) (XR←MonitorEntry((word) (( (bPt) gf←c20472)+16)/* LOCK←v3000 */ ));
SOURCE(4014, 51)
(* (( (ptr) gf←c20472)+9)/* fallbacks←v3084 */ ) = (word) UnRegisterFallbacks←P480(var←c20440.f4/* printer←v4736 */ , (* (
( (ptr) gf←c20472)+9)/* fallbacks←v3084 */ ));
SOURCE(4067, 49)
{
word var←c19320;
word pd83;
pd83 = (* (( (ptr) (* (( (ptr) gf←c20472)+78)/* var←c18328 */ ))+13) );
var←c19320 = (word) ( *( (fPt) ((* (ptr) pd83 ))))((* (( (ptr) gf←c20472)+8)/* printers←v3056 */ ), (word) (( (bPt) &var←c20440)+20)
/* var←c19288 */ , pd83);
};
SOURCE(3780, 336)
(void) (XR←MonitorExit((word) (( (bPt) gf←c20472)+16)/* LOCK←v3000 */ ));
return;
}
static word EachPair←P1200(key←v14908, val←v14936, formal←c20536)
word key←v14908;
word val←v14936;
word formal←c20536;
{
register ptr gf←c20504 = (ptr) &globalframe;
word quit←v14980;
word valPrinter←v6036;
formal←c20536 = (formal←c20536 - 20);
/* EachPair: */
SOURCE(3847, 162)
SOURCE(3847, 162)
quit←v14980 = 0;
SOURCE(3884, 51)
valPrinter←v6036 = XR←Narrow(val←v14936, (* (( (ptr) gf←c20504)+21) ));
SOURCE(3937, 72)
if (((* (ptr) valPrinter←v6036 ) == (* (( (ptr) formal←c20536)+4) ))) {
SOURCE(3967, 42)
{
word var←c19352;
word pd84;
pd84 = (* (( (ptr) (* (( (ptr) gf←c20504)+78)/* var←c18328 */ ))+11) );
var←c19352 = (word) ( *( (fPt) ((* (ptr) pd84 ))))((* (( (ptr) gf←c20504)+8)/* printers←v3056 */ ), key←v14908, pd84);
};
};
SOURCE(3847, 162)
return(quit←v14980);
}
static word UnRegisterFallbacks←P480(printer←v4796, list←v4824)
word printer←v4796;
word list←v4824;
{
register ptr gf←c20568 = (ptr) &globalframe;
word var←c4952;
/* UnRegisterFallbacks: */
SOURCE(4122, 425)
if ((list←v4824 == 0)) {
SOURCE(4302, 12)
return(0);
}
else {
if (((* (ptr) list←v4824 ) == printer←v4796)) {
SOURCE(4340, 46)
return((word) UnRegisterFallbacks←P480(printer←v4796, (* (( (ptr) list←v4824)+1) )));
}
else {
SOURCE(4399, 148)
{
word tail←v6092;
SOURCE(4401, 6)
tail←v6092 = (word) UnRegisterFallbacks←P480(printer←v4796, (* (( (ptr) list←v4824)+1) ));
SOURCE(4480, 67)
if ((tail←v6092 == (* (( (ptr) list←v4824)+1) ))) {
return(list←v4824);
}
else {
{
word var←c19416;
var←c19416 = XR←NewObject(8, (* (( (ptr) gf←c20568)+19) ));
(* (ptr) var←c19416 ) = XR←CheckProc(* (ptr) list←v4824 );
(* (( (ptr) var←c19416)+1) ) = tail←v6092;
return(var←c19416);
};
};
};
};
};
}
static word ATOMPrinter←P540(stream←v8220, ref←v8248)
word stream←v8220;
word ref←v8248;
{
register ptr gf←c20600 = (ptr) &globalframe;
word ok←v8292;
/* ATOMPrinter: */
SOURCE(4554, 98)
SOURCE(4554, 98)
ok←v8292 = 1;
SOURCE(4593, 59)
{
word var←c19448;
{
word var←c19480;
var←c19480 = XR←Narrow(ref←v8248, (* (( (ptr) gf←c20600)+14) ));
{
word pd85;
pd85 = (* (( (ptr) (* (( (ptr) gf←c20600)+86)/* var←c19512 */ ))+9) );
var←c19448 = (word) ( *( (fPt) ((* (ptr) pd85 ))))(var←c19480, pd85);
};
};
{
W2 var←c19544;
var←c19544.f0 = 11;
var←c19544.f1 = var←c19448;
{
word pd86;
pd86 = (* (( (ptr) (* (( (ptr) gf←c20600)+82)/* var←c18648 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd86 ))))(stream←v8220, (* (( (ptr) gf←c20600)+35) ), var←c19544, pd86);
};
};
};
SOURCE(4554, 98)
return(ok←v8292);
}
static word REFLongNumberPrinter←P600(stream←v8352, ref←v8380)
word stream←v8352;
word ref←v8380;
{
register ptr gf←c20632 = (ptr) &globalframe;
word ok←v8424;
word refLongNumber←v6220;
/* REFLongNumberPrinter: */
SOURCE(4658, 162)
SOURCE(4658, 162)
ok←v8424 = 1;
SOURCE(4706, 50)
refLongNumber←v6220 = XR←Narrow(ref←v8380, (* (( (ptr) gf←c20632)+18) ));
SOURCE(4758, 62)
{
W2 var←c19576;
var←c19576.f0 = 4;
var←c19576.f1 = (* (ptr) refLongNumber←v6220 );
{
word pd87;
pd87 = (* (( (ptr) (* (( (ptr) gf←c20632)+82)/* var←c18648 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd87 ))))(stream←v8352, (* (( (ptr) gf←c20632)+37) ), var←c19576, pd87);
};
};
SOURCE(4658, 162)
return(ok←v8424);
}
static void PrintRopeLiteral←P660(formal←c0200, rope←v5124)
word formal←c0200;
word rope←v5124;
{
W8 var←c20664;
/* declaration of stream←v5096 skipped */
register ptr gf←c20696 = (ptr) &globalframe;
/* declaration of var←c19608 skipped */
/* declaration of i←v6276 skipped */
var←c20664.f4/* stream←v5096 */ = formal←c0200;
/* PrintRopeLiteral: */
SOURCE(4826, 362)
{
word tmpAddr88;
tmpAddr88 = (word) (( (ptr) &var←c20664)+5)/* var←c19608 */ ;
(* (ptr) tmpAddr88 ) = ( ((word) (fPt) Action←P1308) );
(* (( (ptr) tmpAddr88) + 1) ) = 1;
};
SOURCE(4885, 10)
var←c20664.f7/* i←v6276 */ = 0;
SOURCE(5099, 22)
{
word pd89;
pd89 = (* (( (ptr) (* (( (ptr) gf←c20696)+82)/* var←c18648 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd89 ))))(var←c20664.f4/* stream←v5096 */ , 34, pd89);
};
SOURCE(5123, 41)
{
word var←c19640;
word pd90;
pd90 = (* (( (ptr) (* (( (ptr) gf←c20696)+80)/* var←c18488 */ ))+26) );
var←c19640 = (word) ( *( (fPt) ((* (ptr) pd90 ))))(rope←v5124, 0, 2147483647, (word) (( (bPt) &var←c20664)+20)/* var←c19608 */ , pd90)
;
};
SOURCE(5166, 22)
{
word pd91;
pd91 = (* (( (ptr) (* (( (ptr) gf←c20696)+82)/* var←c18648 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd91 ))))(var←c20664.f4/* stream←v5096 */ , 34, pd91);
};
}
static word Action←P1308(c←v6380, formal←c20760)
word c←v6380;
word formal←c20760;
{
register ptr gf←c20728 = (ptr) &globalframe;
word quit←v6424;
formal←c20760 = (formal←c20760 - 20);
/* Action: */
SOURCE(4897, 197)
SOURCE(4897, 197)
quit←v6424 = 0;
SOURCE(4953, 57)
if (( (int)(* (( (ptr) formal←c20760)+7) ) > (int)120)) {
SOURCE(4970, 25)
{
word pd92;
pd92 = (* (( (ptr) (* (( (ptr) gf←c20728)+82)/* var←c18648 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd92 ))))((* (( (ptr) formal←c20760)+4) ), (* (( (ptr) gf←c20728)+38) ), 0, 2147483647, pd92)
;
};
SOURCE(4997, 13)
return(1);
};
SOURCE(5013, 47)
if ((c←v6380 == 34) || (c←v6380 == 92)) {
SOURCE(5037, 23)
{
word pd93;
pd93 = (* (( (ptr) (* (( (ptr) gf←c20728)+82)/* var←c18648 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd93 ))))((* (( (ptr) formal←c20760)+4) ), 92, pd93);
};
};
SOURCE(5062, 21)
{
word pd94;
pd94 = (* (( (ptr) (* (( (ptr) gf←c20728)+82)/* var←c18648 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd94 ))))((* (( (ptr) formal←c20760)+4) ), c←v6380, pd94);
};
SOURCE(5085, 9)
(* (( (ptr) formal←c20760)+7) ) = ((* (( (ptr) formal←c20760)+7) ) + 1);
SOURCE(4897, 197)
return(quit←v6424);
}
static word ROPEPrinter←P720(stream←v8484, ref←v8512)
word stream←v8484;
word ref←v8512;
{
register ptr gf←c20792 = (ptr) &globalframe;
word ok←v8556;
/* ROPEPrinter: */
SOURCE(5194, 76)
SOURCE(5194, 76)
ok←v8556 = 1;
SOURCE(5233, 37)
{
word var←c19672;
{
word var←c19704;
var←c19704 = XR←Narrow(ref←v8512, (* (( (ptr) gf←c20792)+15) ));
if ((var←c19704 == 0)) {
goto lab←L100008;
};
if (((*(int*)var←c19704<0) == 0)) {
goto lab←L100008;
};
(void) XR←RaiseError(XR←NarrowFault, 0);
lab←L100008: ;
var←c19672 = var←c19704;
};
(void) PrintRopeLiteral←P660(stream←v8484, var←c19672);
};
SOURCE(5194, 76)
return(ok←v8556);
}
static word LORAPrinter←P780(stream←v8616, ref←v8644)
word stream←v8616;
word ref←v8644;
{
register ptr gf←c20824 = (ptr) &globalframe;
word ok←v8688;
/* LORAPrinter: */
SOURCE(5276, 342)
SOURCE(5276, 342)
ok←v8688 = 1;
SOURCE(5315, 303)
{
word var←c19736;
var←c19736 = ref←v8644;
if ((var←c19736 == 0)) {
goto lab←L100009;
};
if (((* (( (ptr) gf←c20824)+13) ) == XR←GetReferentType(var←c19736))) {
{
word lora←v6452;
lora←v6452 = var←c19736;
SOURCE(5359, 36)
{
word pd95;
pd95 = (* (( (ptr) (* (( (ptr) gf←c20824)+82)/* var←c18648 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd95 ))))(stream←v8616, (* (( (ptr) gf←c20824)+40) ), 0, 2147483647, pd95);
};
SOURCE(5397, 148)
{
register word tail←v6592;
tail←v6592 = lora←v6452;
lab←L100013: ;
if ((tail←v6592 != 0)) {
}
else {
goto lab←L100010;
};
SOURCE(5457, 53)
if ((tail←v6592 != lora←v6452)) {
SOURCE(5477, 33)
{
word pd96;
pd96 = (* (( (ptr) (* (( (ptr) gf←c20824)+82)/* var←c18648 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd96 ))))(stream←v8616, (* (( (ptr) gf←c20824)+41) ), 0, 2147483647, pd96);
};
};
SOURCE(5512, 33)
{
word var←c19768;
var←c19768 = (word) PrintREF←P240(stream←v8616, (* (ptr) tail←v6592 ));
};
tail←v6592 = (* (( (ptr) tail←v6592)+1) );
goto lab←L100013;
lab←L100010: ;
};
SOURCE(5556, 32)
{
word pd97;
pd97 = (* (( (ptr) (* (( (ptr) gf←c20824)+82)/* var←c18648 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd97 ))))(stream←v8616, (* (( (ptr) gf←c20824)+23) ), 0, 2147483647, pd97);
};
};
}
else {
lab←L100009: ;
SOURCE(5604, 14)
return(0);
};
};
SOURCE(5276, 342)
return(ok←v8688);
}
static void RefPrintCommand←P840(formal←c0141, formal←c0201)
word formal←c0141;
word formal←c0201;
{
W8 var←c20856;
/* declaration of cmd←v8748 skipped */
word result←v8792;
word msg←v8820;
/* declaration of var←c19800 skipped */
var←c20856.f4/* cmd←v8748 */ = formal←c0201;
/* RefPrintCommand: */
SOURCE(5624, 717)
{
word tmpAddr98;
tmpAddr98 = (word) (( (ptr) &var←c20856)+5)/* var←c19800 */ ;
(* (ptr) tmpAddr98 ) = ( ((word) (fPt) Inner←P1512) );
(* (( (ptr) tmpAddr98) + 1) ) = 1;
};
SOURCE(5624, 717)
result←v8792 = 0;
SOURCE(5624, 717)
msg←v8820 = 0;
SOURCE(5667, 674)
{
/* declaration of arg←v6732 skipped */
{
word var←c0188;
var←c0188 = (word) &var←c20856;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q1680) ), ( ((word) (fPt) NoName←Q1740) ), var←c0188);
};
};
/* removed tail goto */
(* (ptr) formal←c0141 ) = result←v8792;
(* (( (ptr) formal←c0141)+1) ) = msg←v8820;
return;
}
static word NoName←Q1680(formal←c0181)
word formal←c0181;
{
register ptr gf←c0180 = (ptr) &globalframe;
SOURCE(5730, 42)
{
word depthLimit←v6760 = (word) -1;
SOURCE(5730, 42)
{
word pd99;
pd99 = (* (( (ptr) (* (( (ptr) gf←c0180)+87)/* var←c19832 */ ))+8) );
(* (( (ptr) formal←c0181)+7) ) = (word) ( *( (fPt) ((* (ptr) pd99 ))))((* (( (ptr) formal←c0181)+4) ), 0, pd99);
};
SOURCE(5888, 142)
{
word pd100;
pd100 = (* (( (ptr) (* (( (ptr) gf←c0180)+80)/* var←c18488 */ ))+8) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd100 ))))((* (( (ptr) formal←c0181)+7) ), (* (( (ptr) gf←c0180)+43) ), 0, pd100))) {
SOURCE(5927, 65)
{
word var←c19864;
{
word pd101;
pd101 = (* (( (ptr) (* (( (ptr) gf←c0180)+87)/* var←c19832 */ ))+8) );
var←c19864 = (word) ( *( (fPt) ((* (ptr) pd101 ))))((* (( (ptr) formal←c0181)+4) ), 0, pd101);
};
{
word pd102;
word idx103;
pd102 = (* (( (ptr) (* (( (ptr) gf←c0180)+84)/* var←c18872 */ ))+11) );
depthLimit←v6760 = (
idx103 = (word) ( *( (fPt) ((* (ptr) pd102 ))))(var←c19864, 8, pd102),
SGNCK(idx103)
);
};
};
SOURCE(5994, 36)
{
word pd104;
pd104 = (* (( (ptr) (* (( (ptr) gf←c0180)+87)/* var←c19832 */ ))+8) );
(* (( (ptr) formal←c0181)+7) ) = (word) ( *( (fPt) ((* (ptr) pd104 ))))((* (( (ptr) formal←c0181)+4) ), 0, pd104);
};
};
};
SOURCE(6035, 36)
{
W2 var←c19896;
var←c19896.f0 = 11;
var←c19896.f1 = (* (( (ptr) gf←c0180)+45) );
{
word pd105;
pd105 = (* (( (ptr) (* (( (ptr) gf←c0180)+82)/* var←c18648 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd105 ))))((* (( (ptr) (* (( (ptr) formal←c0181)+4) ))+1) ), (* (( (ptr) gf←c0180)+44) ), var←c19896, pd105)
;
};
};
SOURCE(6073, 227)
if (( (int)depthLimit←v6760 >= (int)0)) {
SOURCE(6098, 185)
{
word control←v6848;
SOURCE(6100, 101)
{
word var←c19928;
word var←c19960;
{
word pd106;
pd106 = (* (( (ptr) (* (( (ptr) gf←c0180)+78)/* var←c18328 */ ))+5) );
var←c19928 = (word) ( *( (fPt) ((* (ptr) pd106 ))))(17, pd106);
};
var←c19960 = XR←NewObject(8, (* (( (ptr) gf←c0180)+20) ));
(* (ptr) var←c19960 ) = var←c19928;
(* (( (ptr) var←c19960)+1) ) = depthLimit←v6760;
control←v6848 = var←c19960;
};
SOURCE(6203, 78)
{
word var←c19992;
{
word pd107;
pd107 = (* (( (ptr) (* (( (ptr) gf←c0180)+85)/* var←c19000 */ ))+22) );
var←c19992 = (word) ( *( (fPt) ((* (ptr) pd107 ))))((* (( (ptr) gf←c0180)+27) ), control←v6848, 0, pd107);
};
{
word pd108;
pd108 = (* (( (ptr) (* (( (ptr) gf←c0180)+83)/* var←c18776 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd108 ))))(var←c19992, (word) (( (bPt) formal←c0181)+20), pd108);
};
};
};
}
else {
SOURCE(6292, 8)
(void) Inner←P1512((word) ((( (bPt) formal←c0181)+20)));
};
SOURCE(6303, 38)
{
W2 var←c20024;
var←c20024.f0 = 11;
var←c20024.f1 = (* (( (ptr) gf←c0180)+47) );
{
word pd109;
pd109 = (* (( (ptr) (* (( (ptr) gf←c0180)+82)/* var←c18648 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd109 ))))((* (( (ptr) (* (( (ptr) formal←c0181)+4) ))+1) ), (* (( (ptr) gf←c0180)+46) ), var←c20024, pd109)
;
};
};
};
return(0);
}
static void Inner←P1512(formal←c20920)
word formal←c20920;
{
register ptr gf←c20888 = (ptr) &globalframe;
word addr←v6892;
formal←c20920 = (formal←c20920 - 20);
/* Inner: */
SOURCE(5796, 14)
SOURCE(5812, 38)
{
word pd110;
pd110 = (* (( (ptr) (* (( (ptr) gf←c20888)+84)/* var←c18872 */ ))+11) );
addr←v6892 = (word) ( *( (fPt) ((* (ptr) pd110 ))))((* (( (ptr) formal←c20920)+7) ), 8, pd110);
};
SOURCE(5852, 31)
(void) PrintWord←P120((* (( (ptr) (* (( (ptr) formal←c20920)+4) ))+1) ), addr←v6892, 0);
}
static void NoName←Q1740(formal←c0158, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0158;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0184 = (ptr) &globalframe;
if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0184)+84)/* var←c18872 */ ))+7) ))) {
{
word reason←v16892;
word index←v16920;
reason←v16892 = (* (ptr) formal←c200003 );
index←v16920 = (* (( (ptr) formal←c200003)+1) );
SOURCE(5691, 37)
{
word var←c0157;
var←c0157 = (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c200000)+4) ))+5) ))+1) );
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c0184)+87)/* var←c19832 */ ))+4) ), (word) &var←c0157);
};
};
};
(* (ptr) formal←c0158 ) = 0;
(* (( (ptr) formal←c0158)+1) ) = 0;
return;
}
/* file: RefPrintImpl, module: RefPrintImpl, compiled at: March 5, 1992 10:50:56 am PST */
extern void XR←install←RefPrintImpl() {
NoName←Q1620();
}
extern void XR←run←RefPrintImpl() { XR←Start(&globalframe); }