/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: March 13, 1992 11:30:40 am PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: AbbrevExpandImpl, module: AbbrevExpandImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITXOR(x, y) (((word)(x)) ↑ ((word)(y)))
static char versionStamp[] = "@(#)mob←version [3339160412,1561834220] AbbrevExpandImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W8 f; word r;} W9;
typedef struct {W16 f; W9 r;} W25;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef W6 *W6Pt;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W16 f; W2 r;} W18;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; W7 r;} W15;
typedef W9 *W9Pt;
typedef struct {W8 f; W3 r;} W11;
#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 )
#define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) )
#define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q5940();
static void AbbrevExpandImpl←P0();
static void LoadInternal←P60();
static word NoName←Q6000();
static void Locked←P1200();
static void Empty←P1260();
static word Load←P120();
static void AddToDict←P180();
static word NoName←Q6060();
static void ParseCommands←P240();
static word NoName←Q6120();
static void Clear←P300();
static word NoName←Q6180();
static word GetDictAtom←P360();
static word ForceLower←P1512();
static void ChangeRegistry←P420();
static void Expand←P480();
static word FindEntry←P1572();
static void CheckCaps←P1776();
static word KeyHash←P540();
static word Lookup←P600();
static word NoName←Q6240();
static word LookupInternal←P660();
static void FreeReaders←P2268();
static word FindKeyLen←P720();
static word FindKeyStart←P780();
static word GetDict←P840();
static word NoName←Q6300();
static word Same←P900();
static word GetFileID←P960();
static word NoName←Q6360();
static void DoLocked←P1020();
static word NoName←Q6420();
static void Lock←P2520();
static void Unlock←P2580();
static word ValidateAll←P1080();
static void Locked←P2640();
static word Action←P2700();
static word Validate←P1140();
static void Locked←P2760();
static void NoName←Q6480();
static void NoName←Q6540();
static void NoName←Q6600();
static void NoName←Q6660();
static void NoName←Q6720();
static void NoName←Q6780();
static void NoName←Q6840();
static void NoName←Q6900();
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[16];} string3 = {851984, "\257\300\307\007\213\134\300\135\027\262\354\102\000\000\000"};
static struct {unsigned f; char r[4];} string4 = {65540, "\251\000\000"};
static struct {unsigned f; char r[16];} string5 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[112];} string6 = {7274608, "\262\260\004\003\153\145\171\216\257\300\363\223\326\161\300\017\164\046\072\104\350\011\010\144\151\143\164\101\164\157\155\216\251\022\021\153\145\171\104\145\164\145\162\155\151\156\145\163\104\151\143\164\232\261\260\010\007\153\145\171\122\157\160\145\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\156\157\144\145\216\257\300\302\136\246\312\300\076\314\360\376\100\164\011\010\143\157\155\155\141\156\144\163\214\217\261"};
static struct {unsigned f; char r[48];} string7 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\162\145\163\164\214\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\000\000\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\004\003\000"};
static struct {unsigned f; char r[20];} string9 = {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[16];} string10 = {851984, "\257\300\307\007\213\134\300\135\027\262\354\100\200\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\004\035\000"};
static struct {unsigned f; char r[44];} string12 = {2752556, "\260\006\005\146\151\162\163\164\257\300\015\277\004\146\300\034\367\146\045\112\114\005\004\162\145\163\164\214\257\300\015\277\004\146\300\034\367\146\045\112\114\261\000"};
static struct {unsigned f; char r[28];} string13 = {1572888, "\006\002\000\007\000\040\016\000\003\001\000\000\000\000\014\014\000\014\014\014\014\000\010\001\000\000\000"};
static struct {unsigned f; char r[8];} string14 = {327688, "Error\000\000"};
static struct {unsigned f; char r[8];} string15 = {458760, " . . . "};
static struct {unsigned f; char r[8];} string16 = {262152, "New \000\000\000"};
static struct {unsigned f; char r[12];} string17 = {655372, "%g entries\000"};
static struct {unsigned f; char r[12];} string18 = {524300, "Progress\000\000\000"};
static struct {unsigned f; char r[8];} string19 = {327688, "Tioga\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "/cedar/styles\000\000"};
static struct {unsigned f; char r[24];} string21 = {1441816, "Tioga.StyleSearchRules\000"};
static struct {unsigned f; char r[16];} string22 = {917520, ".abbreviations\000"};
static struct {unsigned f; char r[24];} string23 = {1376280, "NoDictionaryAvailable\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\307\007\213\134\300\135\027\262\354\100\164\000\000"};
static struct {unsigned f; char r[20];} string25 = {1048592, "\006\005\040\001\044\001\050\001\100\120\001\100\204\004\103\377\000\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\314\212\213\004\300\112\342\014\072\100\164\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\004\173\141\246\300\255\256\170\002\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\141\260\110\353\300\162\250\066\353\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\263\221\075\070\300\264\022\010\174\100\164\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\366\233\214\046\300\233\036\213\260\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\353\035\365\325\300\132\075\117\337\100\150\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"};
static struct {unsigned f; char r[16];} string39 = {851984, "\257\3004+\202s\300vm?\203@h\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\233\251\177\064\300\273\157\236\236\100\150\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\134\353\367\206\300\202\044\112\356\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\123\156\240\340\300\077\103\217\263\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\273\376\112\203\300\237\326\241\360\100\150\000\000"};
static struct {
word f0[44]; 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[21];
} globalframe = {
{0}, (word) Validate←P1140, 0, (word) ValidateAll←P1080,
0, (word) DoLocked←P1020, 0, (word) GetFileID←P960,
0, (word) Same←P900, 0, (word) GetDict←P840,
0, (word) FindKeyStart←P780, 0, (word) FindKeyLen←P720,
0, (word) LookupInternal←P660, 0, (word) Lookup←P600,
0, (word) KeyHash←P540, 0, (word) Expand←P480,
0, (word) ChangeRegistry←P420, 0, (word) GetDictAtom←P360,
0, (word) Clear←P300, 0, (word) ParseCommands←P240,
0, (word) AddToDict←P180, 0, (word) Load←P120,
0, (word) LoadInternal←P60, 0, (word) AbbrevExpandImpl←P0,
0, 2147483647, {0}
};
static void NoName←Q5940()
{
register ptr gf←c0441 = (ptr) &globalframe;
word var←c44160;
(* (( (ptr) gf←c0441)+21) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0441)+22) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
(* (( (ptr) gf←c0441)+23) ) = (word) XR←GetTypeIndexS((word) (&string4));
(* (( (ptr) gf←c0441)+25) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string2);
(* (( (ptr) gf←c0441)+26) ) = (word) XR←GetTypeIndexS((word) (&string6));
(* (( (ptr) gf←c0441)+27) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
(* (( (ptr) gf←c0441)+29) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string8);
(* (( (ptr) gf←c0441)+30) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
(* (( (ptr) gf←c0441)+32) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
(* (ptr) (( (bPt) gf←c0441)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+21) ), (word) &string14);
(* (ptr) (( (bPt) gf←c0441)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string15);
(* (ptr) (( (bPt) gf←c0441)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string16);
(* (ptr) (( (bPt) gf←c0441)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string17);
(* (ptr) (( (bPt) gf←c0441)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+21) ), (word) &string18);
(* (ptr) (( (bPt) gf←c0441)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+21) ), (word) &string19);
(* (ptr) (( (bPt) gf←c0441)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string20);
(* (ptr) (( (bPt) gf←c0441)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string21);
(* (ptr) (( (bPt) gf←c0441)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string22);
(* (ptr) (( (bPt) gf←c0441)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+21) ), (word) &string23);
(void) XR←DeclareGlobalFrame((word) "AbbrevExpandImpl", &globalframe, (word) XR←GetTypeIndex((word) &string24, 0, (word) &string25)
, (word) (( (bPt) gf←c0441)+328)/* var←c39008 */ );
var←c44160 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string26)), 16);
(* (( (ptr) gf←c0441)+99)/* var←c41152 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 67372289);
(void) XR←ImportProcS(var←c44160, 67895555);
var←c44160 = (word) XR←ImportInterface((word) "CharOps", (word) XR←GetTypeIndexS((word) (&string27)), 14);
(* (( (ptr) gf←c0441)+97)/* var←c40128 */ ) = var←c44160;
var←c44160 = (word) XR←ImportInterface((word) "EditSpan", (word) XR←GetTypeIndexS((word) (&string28)), 23);
(* (( (ptr) gf←c0441)+100)/* var←c41696 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 271320327);
var←c44160 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string29)), 103);
(* (( (ptr) gf←c0441)+98)/* var←c40352 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 530434);
(void) XR←ImportProcS(var←c44160, 67377409);
(void) XR←ImportProcS(var←c44160, 67391233);
(void) XR←ImportProcS(var←c44160, 67640578);
var←c44160 = (word) XR←ImportInterface((word) "PFS", (word) XR←GetTypeIndexS((word) (&string30)), 40);
(* (( (ptr) gf←c0441)+90)/* var←c39360 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 67371265);
(void) XR←ImportProcS(var←c44160, 67634178);
(void) XR←ImportProcS(var←c44160, 605292546);
(void) XR←ImportProcS(var←c44160, 67633154);
var←c44160 = (word) XR←ImportInterface((word) "PFSNames", (word) XR←GetTypeIndexS((word) (&string31)), 39);
(* (( (ptr) gf←c0441)+102)/* var←c43552 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 67897091);
var←c44160 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string32)), 22);
(* (( (ptr) gf←c0441)+104)/* var←c43936 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 134219776);
var←c44160 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string33)), 16);
(* (( (ptr) gf←c0441)+88)/* var←c39104 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 67635458);
(void) XR←ImportProcS(var←c44160, 134742786);
(void) XR←ImportProcS(var←c44160, 67896579);
(void) XR←ImportProcS(var←c44160, 67895555);
var←c44160 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string34)), 43);
(* (( (ptr) gf←c0441)+91)/* var←c39392 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 67633666);
(void) XR←ImportProcS(var←c44160, 68163332);
(void) XR←ImportProcS(var←c44160, 67373825);
(void) XR←ImportProcS(var←c44160, 67898627);
(void) XR←ImportProcS(var←c44160, 68419845);
var←c44160 = (word) XR←ImportInterface((word) "RopeReader", (word) XR←GetTypeIndexS((word) (&string35)), 25);
(* (( (ptr) gf←c0441)+89)/* var←c39264 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 69473545);
(void) XR←ImportProcS(var←c44160, 67636482);
(void) XR←ImportProcS(var←c44160, 268033);
(void) XR←ImportProcS(var←c44160, 67114496);
var←c44160 = (word) XR←ImportInterface((word) "RuntimeError", (word) XR←GetTypeIndexS((word) (&string36)), 27);
(* (( (ptr) gf←c0441)+101)/* var←c43360 */ ) = var←c44160;
var←c44160 = (word) XR←ImportInterface((word) "SimpleFeedback", (word) XR←GetTypeIndexS((word) (&string37)), 7);
(* (( (ptr) gf←c0441)+92)/* var←c39424 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 1310981);
(void) XR←ImportProcS(var←c44160, 525058);
(void) XR←ImportProcS(var←c44160, 1048580);
var←c44160 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string38)), 39);
(* (( (ptr) gf←c0441)+95)/* var←c39712 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 136322568);
(void) XR←ImportProcS(var←c44160, 792323);
(void) XR←ImportProcS(var←c44160, 67376641);
(void) XR←ImportProcS(var←c44160, 1582086);
(void) XR←ImportProcS(var←c44160, 1837831);
(void) XR←ImportProcS(var←c44160, 136583945);
(void) XR←ImportProcS(var←c44160, 67633410);
(void) XR←ImportProcS(var←c44160, 1317893);
(void) XR←ImportProcS(var←c44160, 67371521);
var←c44160 = (word) XR←ImportInterface((word) "TextEditBogus", (word) XR←GetTypeIndexS((word) (&string39)), 1);
(* (( (ptr) gf←c0441)+96)/* var←c39872 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 67371009);
var←c44160 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string40)), 34);
(* (( (ptr) gf←c0441)+94)/* var←c39680 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 67376641);
(void) XR←ImportProcS(var←c44160, 67372289);
(void) XR←ImportProcS(var←c44160, 67372545);
(void) XR←ImportProcS(var←c44160, 67377153);
var←c44160 = (word) XR←ImportInterface((word) "TiogaIO", (word) XR←GetTypeIndexS((word) (&string41)), 17);
(* (( (ptr) gf←c0441)+93)/* var←c39456 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 403966722);
var←c44160 = (word) XR←ImportInterface((word) "UserProfile", (word) XR←GetTypeIndexS((word) (&string42)), 11);
(* (( (ptr) gf←c0441)+103)/* var←c43584 */ ) = var←c44160;
(void) XR←ImportProcS(var←c44160, 67633922);
var←c44160 = (word) XR←ExportInterface((word) "AbbrevExpand", (word) XR←GetTypeIndexS((word) (&string43)), 6);
(* (( (ptr) gf←c0441)+105)/* var←c44192 */ ) = var←c44160;
(void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+312)/* var←c38944 */ , 67371009);
(void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+288)/* var←c38848 */ , 262401);
(void) XR←ExportVar(var←c44160, 2, (word) (( (bPt) gf←c0441)+172)/* var←c38368 */ );
(void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+264)/* var←c38752 */ , 403702532);
(void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+176)/* var←c38400 */ , 67372033);
(void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+184)/* var←c38432 */ , 67110144);
var←c44160 = (word) XR←ExportInterface((word) "AbbrevExpandExtras", (word) XR←GetTypeIndexS((word) (&string44)), 1);
(* (( (ptr) gf←c0441)+105)/* var←c44192 */ ) = var←c44160;
(void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+272)/* var←c38784 */ , 262145);
}
static void AbbrevExpandImpl←P0(formal←c069, formal←c066)
word formal←c069;
word formal←c066;
{
register ptr gf←c44224 = (ptr) &globalframe;
/* AbbrevExpandImpl: */
SOURCE(1150, 13279)
/* moved to installation proc */
SOURCE(1510, 45)
{
word pd45;
pd45 = (* (( (ptr) (* (( (ptr) gf←c44224)+88)/* var←c39104 */ ))+5) );
(* (( (ptr) gf←c44224)+8)/* dictTable←v3644 */ ) = (word) ( *( (fPt) ((* (ptr) pd45 ))))(5, 0, 0, pd45);
};
SOURCE(12382, 15)
{
word var←c39136;
word var←c39168;
var←c39136 = XR←NewObject(8, (* (( (ptr) gf←c44224)+27) ));
var←c39168 = var←c39136;
(* (ptr) var←c39168 ) = (* (( (ptr) gf←c44224)+39) );
(* (( (ptr) gf←c44224)+10)/* defaultSearch←v4232 */ ) = var←c39136;
};
SOURCE(13768, 42)
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c44224)+88)/* var←c39104 */ ))+5) );
(* (( (ptr) gf←c44224)+20)/* fileForAbbr←v4484 */ ) = (word) ( *( (fPt) ((* (ptr) pd46 ))))(5, 0, 0, pd46);
};
}
static void LoadInternal←P60(formal←c085, formal←c0540, formal←c0541)
word formal←c085;
word formal←c0540;
word formal←c0541;
{
W25 var←c44256;
/* declaration of dict←v4888 skipped */
/* declaration of fileID←v4916 skipped */
register ptr gf←c44288 = (ptr) &globalframe;
word ok←v4960;
/* declaration of count←v4988 skipped */
/* declaration of var←c39200 skipped */
/* declaration of var←c39232 skipped */
/* declaration of rdr←v8104 skipped */
/* declaration of root←v8132 skipped */
(* (( (ptr) &var←c44256)+4)/* dict←v4888 */ ) = formal←c0540;
(* (( (ptr) &var←c44256)+5)/* fileID←v4916 */ ) = formal←c0541;
/* LoadInternal: */
SOURCE(1707, 1112)
{
word tmpAddr47;
tmpAddr47 = (word) (( (ptr) &var←c44256)+7)/* var←c39200 */ ;
(* (ptr) tmpAddr47 ) = ( ((word) (fPt) Empty←P1260) );
(* (( (ptr) tmpAddr47) + 1) ) = 1;
};
{
word tmpAddr48;
tmpAddr48 = (word) (( (ptr) &var←c44256)+9)/* var←c39232 */ ;
(* (ptr) tmpAddr48 ) = ( ((word) (fPt) Locked←P1200) );
(* (( (ptr) tmpAddr48) + 1) ) = 1;
};
SOURCE(1707, 1112)
ok←v4960 = 0;
SOURCE(1707, 1112)
(* (( (ptr) &var←c44256)+6)/* count←v4988 */ ) = 0;
SOURCE(1803, 48)
{
word pd49;
pd49 = (* (( (ptr) (* (( (ptr) gf←c44288)+89)/* var←c39264 */ ))+26) );
(* (( (ptr) &var←c44256)+11)/* rdr←v8104 */ ) = (word) ( *( (fPt) ((* (ptr) pd49 ))))(pd49);
};
SOURCE(1853, 16)
(* (( (ptr) &var←c44256)+12)/* root←v8132 */ ) = 0;
SOURCE(2308, 45)
if (((* (( (ptr) &var←c44256)+5)/* fileID←v4916 */ ) == 0)) {
SOURCE(2330, 15)
(void) DoLocked←P1020((word) ((( (bPt) &var←c44256)+28)/* var←c39200 */ ));
SOURCE(2347, 6)
goto lab←L100000;
};
SOURCE(2356, 107)
{
word var←c39296;
{
word var←c39328;
{
word pd50;
pd50 = (* (( (ptr) (* (( (ptr) gf←c44288)+90)/* var←c39360 */ ))+4) );
var←c39328 = (word) ( *( (fPt) ((* (ptr) pd50 ))))((* (ptr) (* (( (ptr) &var←c44256)+5)/* fileID←v4916 */ ) ), 0, pd50)
;
};
{
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c44288)+91)/* var←c39392 */ ))+5) );
var←c39296 = (word) ( *( (fPt) ((* (ptr) pd51 ))))((* (( (ptr) gf←c44288)+35) ), var←c39328, (* (( (ptr) gf←c44288)+34) ), 0, 0, pd51)
;
};
};
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c44288)+92)/* var←c39424 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd52 ))))((* (( (ptr) gf←c44288)+38) ), 1, (* (( (ptr) gf←c44288)+37) ), var←c39296, pd52);
};
};
SOURCE(2465, 172)
SOURCE(2465, 172)
{
W6 var←c39488;
{
/* declaration of var←c01 skipped */
/* declaration of var←c02 skipped */
/* declaration of var←c03 skipped */
(* (( (ptr) &var←c44256)+13)/* var←c01 */ ) = (* (ptr) (* (( (ptr) &var←c44256)+5)/* fileID←v4916 */ ) );
(* (W4Pt) (( (ptr) &var←c44256)+14)/* var←c02 */ ) = (* (W4Pt) (( (ptr) (* (( (ptr) &var←c44256)+5)/* fileID←v4916 */ ))+1)
);
(* (( (ptr) &var←c44256)+18)/* var←c03 */ ) = (* (( (ptr) (* (( (ptr) gf←c44288)+93)/* var←c39456 */ ))+15) );
{
/* declaration of var←c04 skipped */
{
word var←c05;
{
word var←c0500;
var←c0500 = (word) &var←c44256;
var←c05 = (word) XR←Enable(( ((word) (fPt) NoName←Q6000) ), ( ((word) (fPt) NoName←Q6900) ), var←c0500);
};
if ((var←c05 == 2)) {
goto lab←L100002;
};
};
var←c39488 = (* (W6Pt) (( (ptr) &var←c44256)+19)/* var←c04 */ );
};
};
(* (( (ptr) &var←c44256)+12)/* root←v8132 */ ) = var←c39488.f5;
};
lab←L100002: ;
SOURCE(2655, 25)
if (((* (( (ptr) &var←c44256)+12)/* root←v8132 */ ) == 0)) {
SOURCE(2674, 6)
goto lab←L100000;
};
SOURCE(2682, 16)
(void) DoLocked←P1020((word) ((( (bPt) &var←c44256)+36)/* var←c39232 */ ));
SOURCE(2700, 76)
{
W2 v1←v35648;
v1←v35648.f0 = 5;
v1←v35648.f1 = (* (( (ptr) &var←c44256)+6)/* count←v4988 */ );
{
word var←c39552;
{
word var←c39584;
word var←c39616;
var←c39584 = XR←NewObject(12, (* (( (ptr) gf←c44288)+32) ));
var←c39616 = var←c39584;
(* (W2Pt) var←c39616 ) = v1←v35648;
var←c39552 = var←c39584;
};
{
word pd53;
pd53 = (* (( (ptr) (* (( (ptr) gf←c44288)+92)/* var←c39424 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd53 ))))((* (( (ptr) gf←c44288)+38) ), 3, (* (( (ptr) gf←c44288)+37) ), (* (( (ptr) gf←c44288)+36)
), var←c39552, pd53);
};
};
};
SOURCE(2778, 30)
{
word pd54;
pd54 = (* (( (ptr) (* (( (ptr) gf←c44288)+89)/* var←c39264 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd54 ))))((* ((( (ptr) &var←c44256)+11)/* rdr←v8104 */ ) ), pd54);
};
SOURCE(2810, 9)
ok←v4960 = 1;
/* removed tail goto */
lab←L100000: ;
(* (ptr) formal←c085 ) = ok←v4960;
(* (( (ptr) formal←c085)+1) ) = (* (( (ptr) &var←c44256)+6)/* count←v4988 */ );
return;
}
static word NoName←Q6000(formal←c0444)
word formal←c0444;
{
SOURCE(2465, 172)
{
word pd55;
pd55 = (* (( (ptr) formal←c0444)+18) );
(void) ( *( (fPt) ((* (ptr) pd55 ))))((word) (( (bPt) formal←c0444)+76), (* (( (ptr) formal←c0444)+13) ), (* (W4Pt) (( (ptr) formal←c0444)+14)
), pd55);
};
return(0);
}
static void Locked←P1200(formal←c44352)
word formal←c44352;
{
register ptr gf←c44320 = (ptr) &globalframe;
formal←c44352 = (formal←c44352 - 36);
/* Locked: */
SOURCE(1871, 340)
SOURCE(1888, 46)
{
word var←c39648;
word pd56;
pd56 = (* (( (ptr) (* (( (ptr) gf←c44320)+88)/* var←c39104 */ ))+9) );
var←c39648 = (word) ( *( (fPt) ((* (ptr) pd56 ))))((* (( (ptr) gf←c44320)+8)/* dictTable←v3644 */ ), (* (( (ptr) formal←c44352)+4)
), (* (( (ptr) gf←c44320)+42) ), pd56);
};
SOURCE(1961, 195)
{
register word node←v8264;
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) gf←c44320)+94)/* var←c39680 */ ))+28) );
node←v8264 = (word) ( *( (fPt) ((* (ptr) pd57 ))))((* ((( (ptr) formal←c44352)+12)) ), pd57);
};
lab←L100008: ;
if ((node←v8264 != 0)) {
}
else {
goto lab←L100005;
};
SOURCE(2043, 58)
{
word pd59;
if ((node←v8264 == 0)) { goto then058;};
if (*((int*)node←v8264 + 9)<0) { goto then058;};
pd59 = (* (( (ptr) (* (( (ptr) gf←c44320)+95)/* var←c39712 */ ))+6) );
if (( (int)(word) ( *( (fPt) ((* (ptr) pd59 ))))(node←v8264, pd59) == (int)0)) {
then058: ;
SOURCE(2101, 4)
goto lab←L100007;
};
};
SOURCE(2107, 32)
(void) AddToDict←P180((* (( (ptr) formal←c44352)+12) ), node←v8264, (* (( (ptr) formal←c44352)+4) ), (* (( (ptr) formal←c44352)+11)
));
SOURCE(2141, 15)
(* (( (ptr) formal←c44352)+6) ) = ((* (( (ptr) formal←c44352)+6) ) + 1);
lab←L100007: ;
{
word pd60;
pd60 = (* (( (ptr) (* (( (ptr) gf←c44320)+94)/* var←c39680 */ ))+10) );
node←v8264 = (word) ( *( (fPt) ((* (ptr) pd60 ))))(node←v8264, pd60);
};
goto lab←L100008;
lab←L100005: ;
};
SOURCE(2167, 44)
{
word var←c39744;
word pd61;
pd61 = (* (( (ptr) (* (( (ptr) gf←c44320)+88)/* var←c39104 */ ))+9) );
var←c39744 = (word) ( *( (fPt) ((* (ptr) pd61 ))))((* (( (ptr) gf←c44320)+20)/* fileForAbbr←v4484 */ ), (* (( (ptr) formal←c44352)+4)
), (* (( (ptr) formal←c44352)+5) ), pd61);
};
}
static void Empty←P1260(formal←c44416)
word formal←c44416;
{
register ptr gf←c44384 = (ptr) &globalframe;
formal←c44416 = (formal←c44416 - 28);
/* Empty: */
SOURCE(2216, 62)
SOURCE(2232, 46)
{
word var←c39776;
word pd62;
pd62 = (* (( (ptr) (* (( (ptr) gf←c44384)+88)/* var←c39104 */ ))+9) );
var←c39776 = (word) ( *( (fPt) ((* (ptr) pd62 ))))((* (( (ptr) gf←c44384)+8)/* dictTable←v3644 */ ), (* (( (ptr) formal←c44416)+4)
), (* (( (ptr) gf←c44384)+42) ), pd62);
};
}
static word Load←P120(dictName←v5048)
word dictName←v5048;
{
word count←v5092;
word dict←v8308;
/* Load: */
SOURCE(2825, 152)
SOURCE(2825, 152)
count←v5092 = 0;
SOURCE(2889, 34)
dict←v8308 = (word) GetDictAtom←P360(dictName←v5048);
SOURCE(2925, 52)
{
W2 var←c39840;
{
word var←c39808;
var←c39808 = (word) GetFileID←P960(dict←v8308);
(void) LoadInternal←P60((word) &var←c39840, dict←v8308, var←c39808);
};
count←v5092 = var←c39840.f1;
};
SOURCE(2825, 152)
return(count←v5092);
}
static void AddToDict←P180(formal←c0542, formal←c0543, formal←c0544, formal←c0545)
word formal←c0542;
word formal←c0543;
word formal←c0544;
word formal←c0545;
{
W8 var←c44448;
/* declaration of root←v5152 skipped */
/* declaration of node←v5180 skipped */
/* declaration of dictAtom←v5208 skipped */
/* declaration of rdr←v5236 skipped */
register ptr gf←c44480 = (ptr) &globalframe;
var←c44448.f4/* root←v5152 */ = formal←c0542;
var←c44448.f5/* node←v5180 */ = formal←c0543;
var←c44448.f6/* dictAtom←v5208 */ = formal←c0544;
var←c44448.f7/* rdr←v5236 */ = formal←c0545;
/* AddToDict: */
SOURCE(2983, 1091)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c44480)+16)/* LOCK←v3504 */ ));
SOURCE(3077, 997)
{
word var←c06;
{
word var←c0501;
var←c0501 = (word) &var←c44448;
var←c06 = (word) XR←Enable(( ((word) (fPt) NoName←Q6060) ), ( ((word) (fPt) NoName←Q6840) ), var←c0501);
};
if ((var←c06 == 1)) {
goto lab←L03;
};
};
SOURCE(2983, 1091)
(void) (XR←MonitorExit((word) (( (bPt) gf←c44480)+16)/* LOCK←v3504 */ ));
return;
lab←L03: ;
return;
}
static word NoName←Q6060(formal←c0451)
word formal←c0451;
{
register ptr gf←c0450 = (ptr) &globalframe;
SOURCE(3101, 31)
{
word dict←v8352;
word keyRope←v8380;
word hash←v8436;
word entry←v8464 = 0;
word keyLen←v8492;
word freeRdr←v8520 = 0;
word resultStart←v8548;
word commands←v8576 = 0;
SOURCE(3101, 31)
dict←v8352 = (word) GetDict←P840((* ((( (ptr) formal←c0451)+6)) ));
SOURCE(3134, 43)
{
word pd63;
pd63 = (* (( (ptr) (* (( (ptr) gf←c0450)+96)/* var←c39872 */ ))+4) );
keyRope←v8380 = (word) ( *( (fPt) ((* (ptr) pd63 ))))((* ((( (ptr) formal←c0451)+5)) ), pd63);
};
SOURCE(3310, 67)
if (((* (( (ptr) formal←c0451)+7) ) == 0)) {
SOURCE(3328, 32)
{
word pd64;
pd64 = (* (( (ptr) (* (( (ptr) gf←c0450)+89)/* var←c39264 */ ))+26) );
(* (( (ptr) formal←c0451)+7) ) = (word) ( *( (fPt) ((* (ptr) pd64 ))))(pd64);
};
SOURCE(3362, 15)
freeRdr←v8520 = 1;
};
SOURCE(3380, 32)
keyLen←v8492 = (word) FindKeyLen←P720(keyRope←v8380, (* (( (ptr) formal←c0451)+7) ));
SOURCE(3414, 74)
if ((keyLen←v8492 == 0)) {
SOURCE(3433, 46)
if ((0 != freeRdr←v8520)) {
SOURCE(3449, 30)
{
word pd65;
pd65 = (* (( (ptr) (* (( (ptr) gf←c0450)+89)/* var←c39264 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd65 ))))((* ((( (ptr) formal←c0451)+7)) ), pd65);
};
};
SOURCE(3481, 7)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0450)+16)/* LOCK←v3504 */ ));
return(1);
};
SOURCE(3507, 43)
hash←v8436 = (word) KeyHash←P540(keyRope←v8380, 0, keyLen←v8492, (* (( (ptr) formal←c0451)+7) ));
SOURCE(3552, 61)
entry←v8464 = (word) LookupInternal←P660(dict←v8352, hash←v8436, keyRope←v8380, 0, keyLen←v8492, (* (( (ptr) formal←c0451)+7)
)
, 0);
SOURCE(3615, 176)
if ((entry←v8464 == 0)) {
SOURCE(3654, 21)
entry←v8464 = XR←NewObject(20, (* (( (ptr) gf←c0450)+30) ));
SOURCE(3677, 114)
if ((dict←v8352 != 0)) {
SOURCE(3698, 22)
(* (ptr) entry←v8464 ) = (* (ptr) dict←v8352 );
SOURCE(3722, 18)
(* (ptr) dict←v8352 ) = entry←v8464;
}
else {
SOURCE(3747, 44)
{
word var←c39936;
word pd66;
pd66 = (* (( (ptr) (* (( (ptr) gf←c0450)+88)/* var←c39104 */ ))+9) );
var←c39936 = (word) ( *( (fPt) ((* (ptr) pd66 ))))((* (( (ptr) gf←c0450)+8)/* dictTable←v3644 */ ), (* (( (ptr) formal←c0451)+6)
), entry←v8464, pd66);
};
};
};
SOURCE(3794, 17)
(* (( (ptr) entry←v8464)+1) ) = hash←v8436;
SOURCE(3813, 52)
{
word pd67;
pd67 = (* (( (ptr) (* (( (ptr) gf←c0450)+91)/* var←c39392 */ ))+17) );
(* (( (ptr) entry←v8464)+2) ) = (word) ( *( (fPt) ((* (ptr) pd67 ))))(keyRope←v8380, 0, keyLen←v8492, pd67);
};
SOURCE(3867, 17)
(* (( (ptr) entry←v8464)+3) ) = (* (( (ptr) formal←c0451)+5) );
SOURCE(3886, 67)
{
W2 var←c39968;
(void) ParseCommands←P240((word) &var←c39968, keyRope←v8380, keyLen←v8492, (* (( (ptr) formal←c0451)+7) ));
commands←v8576 = var←c39968.f1;
resultStart←v8548 = var←c39968.f0;
};
SOURCE(3955, 25)
(* (( (ptr) entry←v8464)+4) ) = commands←v8576;
SOURCE(3982, 44)
{
word pd68;
pd68 = (* (( (ptr) (* (( (ptr) gf←c0450)+95)/* var←c39712 */ ))+32) );
(void) ( *( (fPt) ((* (ptr) pd68 ))))((* (( (ptr) formal←c0451)+4) ), (* (( (ptr) formal←c0451)+5) ), 0, resultStart←v8548, 0, pd68)
;
};
SOURCE(4028, 46)
if ((0 != freeRdr←v8520)) {
SOURCE(4044, 30)
{
word pd69;
pd69 = (* (( (ptr) (* (( (ptr) gf←c0450)+89)/* var←c39264 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd69 ))))((* ((( (ptr) formal←c0451)+7)) ), pd69);
};
};
};
return(0);
}
static void ParseCommands←P240(formal←c0118, formal←c0546, formal←c0547, formal←c0548)
word formal←c0118;
word formal←c0546;
word formal←c0547;
word formal←c0548;
{
W9 var←c44512;
/* declaration of keyRope←v5296 skipped */
/* declaration of start←v5324 skipped */
/* declaration of rdr←v5352 skipped */
register ptr gf←c44544 = (ptr) &globalframe;
/* declaration of end←v5396 skipped */
/* declaration of commands←v5424 skipped */
(* (( (ptr) &var←c44512)+4)/* keyRope←v5296 */ ) = formal←c0546;
(* (( (ptr) &var←c44512)+5)/* start←v5324 */ ) = formal←c0547;
(* (( (ptr) &var←c44512)+6)/* rdr←v5352 */ ) = formal←c0548;
/* ParseCommands: */
SOURCE(4080, 872)
SOURCE(4080, 872)
(* (( (ptr) &var←c44512)+8)/* commands←v5424 */ ) = 0;
SOURCE(4197, 755)
SOURCE(4216, 683)
{
word var←c07;
{
word var←c0502;
var←c0502 = (word) &var←c44512;
var←c07 = (word) XR←Enable(( ((word) (fPt) NoName←Q6120) ), ( ((word) (fPt) NoName←Q6780) ), var←c0502);
};
if ((var←c07 == 3)) {
goto lab←L100012;
};
};
goto lab←L100030;
lab←L100012: ;
SOURCE(4914, 36)
{
word var←c40960;
{
word pd70;
pd70 = (* (( (ptr) (* (( (ptr) gf←c44544)+91)/* var←c39392 */ ))+15) );
var←c40960 = (word) ( *( (fPt) ((* (ptr) pd70 ))))((* ((( (ptr) &var←c44512)+4)/* keyRope←v5296 */ ) ), pd70);
};
(* (( (ptr) &var←c44512)+7)/* end←v5396 */ ) = var←c40960;
/* removed bogus assignment */
goto lab←L100011;
};
lab←L100030: ;
/* removed tail goto */
lab←L100011: ;
(* (ptr) formal←c0118 ) = (* (( (ptr) &var←c44512)+7)/* end←v5396 */ );
(* (( (ptr) formal←c0118)+1) ) = (* (( (ptr) &var←c44512)+8)/* commands←v5424 */ );
return;
}
static word NoName←Q6120(formal←c0454)
word formal←c0454;
{
register ptr gf←c0453 = (ptr) &globalframe;
SOURCE(4247, 11)
{
word blank←v8716;
word var←c40032;
word c←v38224;
word var←c40256;
word text←v37172;
word i←v37200;
word var←c40608;
word text←v37028;
word i←v37056;
SOURCE(4260, 32)
{
word reader←v36676;
word rope←v36704;
word index←v36732;
word var←c40000;
word rope←v24868;
reader←v36676 = (* (( (ptr) formal←c0454)+6) );
rope←v36704 = (* (( (ptr) formal←c0454)+4) );
index←v36732 = (* (( (ptr) formal←c0454)+5) );
{
word tc71;
rope←v24868 = 0;
var←c40000 = (* (( (ptr) reader←v36676)+2) );
if (((var←c40000 == rope←v36704)
)) {
tc71 = (word) ( (int)((* (( (ptr) reader←v36676)+3) ) + (* (( (ptr) reader←v36676)+1) )) == (int)index←v36732);
}
else {
tc71 = (word) 0;
};
if (tc71) {
goto lab←L100016;
};
};
(* (( (ptr) reader←v36676)+2) ) = rope←v36704;
(* (( (ptr) reader←v36676)+1) ) = 0;
(* (hPt) (* (ptr) reader←v36676 ) ) = 0;
(* (( (ptr) reader←v36676)+3) ) = index←v36732;
lab←L100016: ;
};
SOURCE(4294, 83)
{
word text←v23852;
word i←v23896;
text←v23852 = (* (ptr) (* (( (ptr) formal←c0454)+6) ) );
i←v23896 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
{
word limit72;
word pd73;
if ((i←v23896 < (* (hPt) text←v23852 ))) {
c←v38224 = (word) (* ((( (bPt) text←v23852)+4)+(
limit72 = (word) (* (( (hPt) text←v23852)+1) ),
BCK(i←v23896, limit72)
)) );
}
else {
pd73 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */ ))+17) );
c←v38224 = (word) ( *( (fPt) ((* (ptr) pd73 ))))((* (( (ptr) formal←c0454)+6) ), 2, pd73);
};
};
};
var←c40032 = ((word) (* (( (bPt) (* (ptr) (* (( (ptr) (* (( (ptr) gf←c0453)+97)/* var←c40128 */ ))+4) ) ))+c←v38224) ) == 1);
if (((0 != var←c40032)
)) {
SOURCE(4329, 12)
blank←v8716 = 1;
SOURCE(4343, 14)
{
word var←c40224;
{
word text←v23080;
word i←v23124;
text←v23080 = (* (ptr) (* (( (ptr) formal←c0454)+6) ) );
i←v23124 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
{
word pd75;
if ((i←v23124 < (* (hPt) text←v23080 ))) {
(* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) ) = (i←v23124 + 1);
{
word limit74;
var←c40224 = (word) (* ((( (bPt) text←v23080)+4)+(
/*1*/ limit74 = (word) (* (( (hPt) text←v23080)+1) ),
/*1*/ BCK(i←v23124, limit74)
/*1*/ )) );
};
}
else {
pd75 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */ ))+17) );
var←c40224 = (word) ( *( (fPt) ((* (ptr) pd75 ))))((* (( (ptr) formal←c0454)+6) ), 0, pd75);
};
};
};
};
}
else {
SOURCE(4364, 13)
blank←v8716 = 0;
};
SOURCE(4379, 310)
text←v37172 = (* (ptr) (* (( (ptr) formal←c0454)+6) ) );
i←v37200 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
{
word limit76;
word pd77;
if ((i←v37200 < (* (hPt) text←v37172 ))) {
var←c40256 = (word) (* ((( (bPt) text←v37172)+4)+(
limit76 = (word) (* (( (hPt) text←v37172)+1) ),
BCK(i←v37200, limit76)
)) );
}
else {
pd77 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */ ))+17) );
var←c40256 = (word) ( *( (fPt) ((* (ptr) pd77 ))))((* (( (ptr) formal←c0454)+6) ), 2, pd77);
};
};
if (((var←c40256 == 40)
)) {
SOURCE(4402, 289)
{
word h←v8760;
word var←c40416;
word c←v38176;
SOURCE(4426, 65)
{
word var←c40320;
{
word var←c0503;
(* (( (ptr) formal←c0454)+5) ) = ((* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+3) ) + (* (( (ptr) (* (( (ptr) formal←c0454)+6)
))+1) ));
var←c0503 = (* (( (ptr) formal←c0454)+5) );
{
word pd78;
pd78 = (* (( (ptr) (* (( (ptr) gf←c0453)+91)/* var←c39392 */ ))+17) );
var←c40320 = (word) ( *( (fPt) ((* (ptr) pd78 ))))((* (( (ptr) formal←c0454)+4) ), var←c0503, 2147483647, pd78);
};
};
{
word pd79;
pd79 = (* (( (ptr) (* (( (ptr) gf←c0453)+98)/* var←c40352 */ ))+33) );
h←v8760 = (word) ( *( (fPt) ((* (ptr) pd79 ))))(var←c40320, 0, pd79);
};
};
SOURCE(4493, 34)
{
word pd80;
pd80 = (* (( (ptr) (* (( (ptr) gf←c0453)+98)/* var←c40352 */ ))+83) );
(* (( (ptr) formal←c0454)+8) ) = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd80 ))))(h←v8760, pd80), (* (( (ptr) gf←c0453)+29)
));
};
SOURCE(4529, 28)
{
word pd81;
pd81 = (* (( (ptr) (* (( (ptr) gf←c0453)+98)/* var←c40352 */ ))+29) );
(* (( (ptr) formal←c0454)+5) ) = ((* (( (ptr) formal←c0454)+5) ) + (word) ( *( (fPt) ((* (ptr) pd81 ))))(h←v8760, pd81));
};
SOURCE(4559, 11)
{
word pd82;
pd82 = (* (( (ptr) (* (( (ptr) gf←c0453)+98)/* var←c40352 */ ))+28) );
(void) ( *( (fPt) ((* (ptr) pd82 ))))(h←v8760, 0, pd82);
};
SOURCE(4572, 32)
{
word reader←v36528;
word rope←v36556;
word index←v36584;
word var←c40384;
word rope←v36632;
reader←v36528 = (* (( (ptr) formal←c0454)+6) );
rope←v36556 = (* (( (ptr) formal←c0454)+4) );
index←v36584 = (* (( (ptr) formal←c0454)+5) );
{
word tc83;
rope←v36632 = 0;
var←c40384 = (* (( (ptr) reader←v36528)+2) );
if (((var←c40384 == rope←v36556)
)) {
tc83 = (word) ( (int)((* (( (ptr) reader←v36528)+3) ) + (* (( (ptr) reader←v36528)+1) )) == (int)index←v36584);
}
else {
tc83 = (word) 0;
};
if (tc83) {
goto lab←L100022;
};
};
(* (( (ptr) reader←v36528)+2) ) = rope←v36556;
(* (( (ptr) reader←v36528)+1) ) = 0;
(* (hPt) (* (ptr) reader←v36528 ) ) = 0;
(* (( (ptr) reader←v36528)+3) ) = index←v36584;
lab←L100022: ;
};
SOURCE(4606, 83)
{
word text←v37100;
word i←v37128;
text←v37100 = (* (ptr) (* (( (ptr) formal←c0454)+6) ) );
i←v37128 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
{
word limit84;
word pd85;
if ((i←v37128 < (* (hPt) text←v37100 ))) {
c←v38176 = (word) (* ((( (bPt) text←v37100)+4)+(
limit84 = (word) (* (( (hPt) text←v37100)+1) ),
BCK(i←v37128, limit84)
)) );
}
else {
pd85 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */ ))+17) );
c←v38176 = (word) ( *( (fPt) ((* (ptr) pd85 ))))((* (( (ptr) formal←c0454)+6) ), 2, pd85);
};
};
};
var←c40416 = ((word) (* (( (bPt) (* (ptr) (* (( (ptr) (* (( (ptr) gf←c0453)+97)/* var←c40128 */ ))+4) ) ))+c←v38176) ) == 1);
if (((0 != var←c40416)
)) {
SOURCE(4641, 12)
blank←v8716 = 1;
SOURCE(4655, 14)
{
word var←c40576;
{
word text←v37652;
word i←v37680;
text←v37652 = (* (ptr) (* (( (ptr) formal←c0454)+6) ) );
i←v37680 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
{
word pd87;
if ((i←v37680 < (* (hPt) text←v37652 ))) {
(* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) ) = (i←v37680 + 1);
{
/*1*/ word limit86;
/*1*/ var←c40576 = (word) (* ((( (bPt) text←v37652)+4)+(
/*1*/ limit86 = (word) (* (( (hPt) text←v37652)+1) ),
/*1*/ BCK(i←v37680, limit86)
/*1*/ )) );
/*1*/ };
}
else {
pd87 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */ ))+17) );
var←c40576 = (word) ( *( (fPt) ((* (ptr) pd87 ))))((* (( (ptr) formal←c0454)+6) ), 0, pd87);
};
};
};
};
}
else {
SOURCE(4676, 13)
blank←v8716 = 0;
};
};
};
SOURCE(4694, 205)
text←v37028 = (* (ptr) (* (( (ptr) formal←c0454)+6) ) );
i←v37056 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
{
word limit88;
word pd89;
if ((i←v37056 < (* (hPt) text←v37028 ))) {
var←c40608 = (word) (* ((( (bPt) text←v37028)+4)+(
limit88 = (word) (* (( (hPt) text←v37028)+1) ),
BCK(i←v37056, limit88)
)) );
}
else {
pd89 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */ ))+17) );
var←c40608 = (word) ( *( (fPt) ((* (ptr) pd89 ))))((* (( (ptr) formal←c0454)+6) ), 2, pd89);
};
};
if (((var←c40608 == 61)
)) {
{
word var←c40768;
word text←v36956;
word i←v36984;
SOURCE(4738, 13)
{
word var←c40736;
{
word text←v37580;
word i←v37608;
text←v37580 = (* (ptr) (* (( (ptr) formal←c0454)+6) ) );
i←v37608 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
{
word pd91;
if ((i←v37608 < (* (hPt) text←v37580 ))) {
(* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) ) = (i←v37608 + 1);
{
word limit90;
var←c40736 = (word) (* ((( (bPt) text←v37580)+4)+(
/*1*/ limit90 = (word) (* (( (hPt) text←v37580)+1) ),
/*1*/ BCK(i←v37608, limit90)
/*1*/ )) );
};
}
else {
pd91 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */ ))+17) );
var←c40736 = (word) ( *( (fPt) ((* (ptr) pd91 ))))((* (( (ptr) formal←c0454)+6) ), 0, pd91);
};
};
};
};
SOURCE(4753, 46)
{
word tc92;
if ((0 != blank←v8716)) {
text←v36956 = (* (ptr) (* (( (ptr) formal←c0454)+6) ) );
i←v36984 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
{
word limit93;
word pd94;
if ((i←v36984 < (* (hPt) text←v36956 ))) {
var←c40768 = (word) (* ((( (bPt) text←v36956)+4)+(
/*1*/ limit93 = (word) (* (( (hPt) text←v36956)+1) ),
/*1*/ BCK(i←v36984, limit93)
/*1*/ )) );
}
else {
pd94 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */ ))+17) );
var←c40768 = (word) ( *( (fPt) ((* (ptr) pd94 ))))((* (( (ptr) formal←c0454)+6) ), 2, pd94);
};
};
tc92 = (word) (var←c40768 == 32);
}
else {
tc92 = (word) 0;
};
if (tc92) {
SOURCE(4786, 13)
{
word var←c40896;
{
word text←v37508;
word i←v37536;
text←v37508 = (* (ptr) (* (( (ptr) formal←c0454)+6) ) );
i←v37536 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
{
word pd96;
if ((i←v37536 < (* (hPt) text←v37508 ))) {
/*1*/ (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) ) = (i←v37536 + 1);
/*1*/ {
/*1*/ word limit95;
/*1*/ var←c40896 = (word) (* ((( (bPt) text←v37508)+4)+(
/*1*/ limit95 = (word) (* (( (hPt) text←v37508)+1) ),
/*1*/ BCK(i←v37536, limit95)
/*1*/ )) );
/*1*/ };
/*1*/ }
else {
/*1*/ pd96 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */ ))+17) );
/*1*/ var←c40896 = (word) ( *( (fPt) ((* (ptr) pd96 ))))((* (( (ptr) formal←c0454)+6) ), 0, pd96);
/*1*/ };
};
};
};
};
};
SOURCE(4847, 19)
(* (( (ptr) formal←c0454)+7) ) = ((* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+3) ) + (* (( (ptr) (* (( (ptr) formal←c0454)+6)
))+1) ));
};
}
else {
SOURCE(4875, 24)
{
word pd97;
pd97 = (* (( (ptr) (* (( (ptr) gf←c0453)+91)/* var←c39392 */ ))+15) );
(* (( (ptr) formal←c0454)+7) ) = (word) ( *( (fPt) ((* (ptr) pd97 ))))((* ((( (ptr) formal←c0454)+4)) ), pd97);
};
};
};
return(0);
}
static void Clear←P300(formal←c0549)
word formal←c0549;
{
W5 var←c44576;
/* declaration of dictName←v5580 skipped */
register ptr gf←c44608 = (ptr) &globalframe;
var←c44576.f4/* dictName←v5580 */ = formal←c0549;
/* Clear: */
SOURCE(4956, 125)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c44608)+16)/* LOCK←v3504 */ ));
SOURCE(5002, 79)
{
word var←c0504;
var←c0504 = (word) &var←c44576;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q6180) ), ( ((word) (fPt) NoName←Q6720) ), var←c0504);
};
SOURCE(4956, 125)
(void) (XR←MonitorExit((word) (( (bPt) gf←c44608)+16)/* LOCK←v3504 */ ));
return;
}
static word NoName←Q6180(formal←c0457)
word formal←c0457;
{
register ptr gf←c0456 = (ptr) &globalframe;
SOURCE(5025, 56)
{
word var←c41024;
{
word var←c40992;
var←c40992 = (word) GetDictAtom←P360((* ((( (ptr) formal←c0457)+4)) ));
{
word pd98;
pd98 = (* (( (ptr) (* (( (ptr) gf←c0456)+88)/* var←c39104 */ ))+9) );
var←c41024 = (word) ( *( (fPt) ((* (ptr) pd98 ))))((* (( (ptr) gf←c0456)+8)/* dictTable←v3644 */ ), var←c40992, 0, pd98)
;
};
};
};
return(0);
}
static word GetDictAtom←P360(dictName←v5656)
word dictName←v5656;
{
W6 var←c44640;
register ptr gf←c44672 = (ptr) &globalframe;
word dict←v5700;
/* declaration of var←c41056 skipped */
/* GetDictAtom: */
SOURCE(5123, 203)
{
word tmpAddr99;
tmpAddr99 = (word) (( (ptr) &var←c44640)+4)/* var←c41056 */ ;
(* (ptr) tmpAddr99 ) = ( ((word) (fPt) ForceLower←P1512) );
(* (( (ptr) tmpAddr99) + 1) ) = 1;
};
SOURCE(5123, 203)
dict←v5700 = 0;
SOURCE(5250, 76)
{
word var←c41120;
{
word pd100;
pd100 = (* (( (ptr) (* (( (ptr) gf←c44672)+91)/* var←c39392 */ ))+27) );
var←c41120 = (word) ( *( (fPt) ((* (ptr) pd100 ))))(dictName←v5656, 0, 2147483647, (word) (( (bPt) &var←c44640)+16)/* var←c41056 */ , pd100)
;
};
{
word pd101;
pd101 = (* (( (ptr) (* (( (ptr) gf←c44672)+99)/* var←c41152 */ ))+5) );
return((word) ( *( (fPt) ((* (ptr) pd101 ))))(var←c41120, 0, 2147483647, pd101));
};
};
}
static word ForceLower←P1512(old←v35120, formal←c44704)
word old←v35120;
word formal←c44704;
{
word var←c35164;
formal←c44704 = (formal←c44704 - 16);
/* ForceLower: */
SOURCE(5183, 64)
SOURCE(5219, 28)
if (((old←v35120 - 65) <= 25)) {
return(((
SGNCK((old←v35120 - 65))
) + 97));
}
else {
return(old←v35120);
};
}
static void ChangeRegistry←P420(change←v5760)
word change←v5760;
{
register ptr gf←c44736 = (ptr) &globalframe;
/* ChangeRegistry: */
SOURCE(5372, 132)
SOURCE(5459, 45)
(* (( (ptr) gf←c44736)+9)/* findEntryRegistry←v3924 */ ) = (word) ( *( (fPt) ((* (ptr) change←v5760 ))))((* ((( (ptr) gf←c44736)+9)
/* findEntryRegistry←v3924 */ ) ), change←v5760);
}
static void Expand←P480(formal←c0224, keyNode←v5924, keyEnd←v5952, dict←v5980, event←v6008)
word formal←c0224;
word keyNode←v5924;
word keyEnd←v5952;
word dict←v5980;
word event←v6008;
{
W18 var←c44768;
register ptr gf←c44800 = (ptr) &globalframe;
word foundIt←v6052;
/* declaration of keyDeterminesDict←v6080 skipped */
/* declaration of keyStart←v6108 skipped */
word keyLen←v6136;
word resultLen←v6164;
word commands←v6192;
/* declaration of var←c41184 skipped */
/* declaration of var←c41216 skipped */
/* declaration of registry←v8848 skipped */
word dictAtom←v8876;
/* declaration of keyRope←v8904 skipped */
/* declaration of kLen←v8932 skipped */
/* declaration of kStart←v8960 skipped */
word entry←v8988 = 0;
/* declaration of hash←v9016 skipped */
/* declaration of rdr←v9044 skipped */
/* Expand: */
SOURCE(5510, 3888)
{
word tmpAddr102;
tmpAddr102 = (word) (( (ptr) &var←c44768)+6)/* var←c41184 */ ;
(* (ptr) tmpAddr102 ) = ( ((word) (fPt) CheckCaps←P1776) );
(* (( (ptr) tmpAddr102) + 1) ) = 1;
};
{
word tmpAddr103;
tmpAddr103 = (word) (( (ptr) &var←c44768)+8)/* var←c41216 */ ;
(* (ptr) tmpAddr103 ) = ( ((word) (fPt) FindEntry←P1572) );
(* (( (ptr) tmpAddr103) + 1) ) = 1;
};
SOURCE(5510, 3888)
commands←v6192 = 0;
SOURCE(5711, 43)
(* (( (ptr) &var←c44768)+10)/* registry←v8848 */ ) = (* (( (ptr) gf←c44800)+9)/* findEntryRegistry←v3924 */ );
SOURCE(5775, 34)
dictAtom←v8876 = (word) GetDictAtom←P360(dict←v5980);
SOURCE(5811, 46)
{
word pd104;
pd104 = (* (( (ptr) (* (( (ptr) gf←c44800)+96)/* var←c39872 */ ))+4) );
(* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */ ) = (word) ( *( (fPt) ((* (ptr) pd104 ))))(keyNode←v5924, pd104);
};
SOURCE(5919, 48)
{
word pd105;
pd105 = (* (( (ptr) (* (( (ptr) gf←c44800)+89)/* var←c39264 */ ))+26) );
(* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ) = (word) ( *( (fPt) ((* (ptr) pd105 ))))(pd105);
};
{
word var←c41312;
word i←v21892;
SOURCE(6676, 35)
(* (( (ptr) &var←c44768)+4)/* keyDeterminesDict←v6080 */ ) = 0;
foundIt←v6052 = 0;
SOURCE(6713, 13)
resultLen←v6164 = 0;
SOURCE(6728, 46)
{
word pd106;
word x107;
word x108;
pd106 = (* (( (ptr) (* (( (ptr) gf←c44800)+91)/* var←c39392 */ ))+15) );
keyEnd←v5952 = (x108 = (x107 = (word) ( *( (fPt) ((* (ptr) pd106 ))))((* ((( (ptr) &var←c44768)+11)/* keyRope←v8904 */ ) ), pd106)
,
MIN((int)(word), keyEnd←v5952, x107)),
MAX((int)(word), 0, x108));
};
SOURCE(6776, 52)
{
word var←c41248;
var←c41248 = (word) FindKeyStart←P780((* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */ ), keyEnd←v5952, (* (( (ptr) &var←c44768)+15)
/* rdr←v9044 */ ));
(* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ) = var←c41248;
(* (( (ptr) &var←c44768)+13)/* kStart←v8960 */ ) = var←c41248;
};
SOURCE(6830, 31)
keyLen←v6136 = (keyEnd←v5952 - (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ));
(* (( (ptr) &var←c44768)+12)/* kLen←v8932 */ ) = SGNCK(keyLen←v6136);
SOURCE(6863, 43)
(* (( (ptr) &var←c44768)+14)/* hash←v9016 */ ) = (word) KeyHash←P540((* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */ ), (* (
( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ), keyEnd←v5952, (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ));
SOURCE(6908, 44)
{
word rope←v36408;
word index←v36436;
word var←c41280;
word rope←v36484;
rope←v36408 = (* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */ );
index←v36436 = (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ );
{
word tc109;
rope←v36484 = 0;
var←c41280 = (* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ))+2) );
if (((var←c41280 == rope←v36408)
)) {
tc109 = (word) ( (int)((* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ))+3) ) + (* (( (ptr) (* (( (ptr) &var←c44768)+15)
/* rdr←v9044 */ ))+1) )) == (int)index←v36436);
}
else {
tc109 = (word) 0;
};
if (tc109) {
goto lab←L100035;
};
};
(* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ))+2) ) = rope←v36408;
(* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ))+1) ) = 0;
(* (hPt) (* (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ) ) ) = 0;
(* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ))+3) ) = index←v36436;
lab←L100035: ;
};
SOURCE(6954, 364)
{
word tc110;
if (( (int)(* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ) > (int)0)) {
i←v21892 = (* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ))+1) );
{
word pd112;
if ((i←v21892 > 0)) {
{
word var←c41376;
word var←c41408;
var←c41376 = SGNCK((i←v21892 - 1));
(* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ))+1) ) = var←c41376;
var←c41408 = (* (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ) );
{
word limit111;
var←c41312 = (word) (* ((( (bPt) var←c41408)+4)+(
/*1*/ limit111 = (word) (* (( (hPt) var←c41408)+1) ),
/*1*/ BCK(var←c41376, limit111)
/*1*/ )) );
};
};
}
else {
pd112 = (* (( (ptr) (* (( (ptr) gf←c44800)+89)/* var←c39264 */ ))+17) );
var←c41312 = (word) ( *( (fPt) ((* (ptr) pd112 ))))((* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ), 1, pd112);
};
};
tc110 = (word) (var←c41312 == 46);
}
else {
tc110 = (word) 0;
};
if (tc110) {
SOURCE(7008, 315)
{
word nameStart←v9220;
SOURCE(7050, 53)
nameStart←v9220 = (word) FindKeyStart←P780((* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */ ), ((* (( (ptr) &var←c44768)+5)
/* keyStart←v6108 */ ) - 1), (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */ ));
SOURCE(7105, 213)
if (( (int)nameStart←v9220 < (int)((* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ) - 1))) {
SOURCE(7136, 184)
{
word dictName←v9264;
SOURCE(7138, 83)
{
word var←c41472;
{
word pd113;
pd113 = (* (( (ptr) (* (( (ptr) gf←c44800)+91)/* var←c39392 */ ))+17) );
var←c41472 = (word) ( *( (fPt) ((* (ptr) pd113 ))))((* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */ ), nameStart←v9220, (((* (
/*1*/ ( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ) - 1) - nameStart←v9220), pd113);
};
{
word pd114;
pd114 = (* (( (ptr) (* (( (ptr) gf←c44800)+99)/* var←c41152 */ ))+5) );
dictName←v9264 = (word) ( *( (fPt) ((* (ptr) pd114 ))))(var←c41472, 0, 2147483647, pd114);
};
};
SOURCE(7223, 27)
entry←v8988 = (word) FindEntry←P1572(dictName←v9264, (word) (( (bPt) &var←c44768)+32)/* var←c41216 */ );
SOURCE(7252, 24)
(* (( (ptr) &var←c44768)+4)/* keyDeterminesDict←v6080 */ ) = 1;
SOURCE(7278, 40)
{
word var←c0505;
(* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ) = nameStart←v9220;
var←c0505 = nameStart←v9220;
keyLen←v6136 = (keyEnd←v5952 - var←c0505);
};
};
};
};
};
};
SOURCE(7326, 47)
if ((entry←v8988 == 0)) {
SOURCE(7346, 27)
entry←v8988 = (word) FindEntry←P1572(dictAtom←v8876, (word) (( (bPt) &var←c44768)+32)/* var←c41216 */ );
};
SOURCE(7376, 61)
if ((entry←v8988 == 0)) {
SOURCE(7398, 30)
{
word pd115;
pd115 = (* (( (ptr) (* (( (ptr) gf←c44800)+89)/* var←c39264 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd115 ))))((* ((( (ptr) &var←c44768)+15)/* rdr←v9044 */ ) ), pd115);
};
SOURCE(7430, 7)
goto lab←L100033;
};
SOURCE(7440, 1960)
{
word node←v9336;
word child←v9364;
word textLen←v9392;
word root←v9420;
word keyRoot←v9448;
word looks←v9476;
/* declaration of allcaps←v9504 skipped */
/* declaration of initialcap←v9532 skipped */
word format←v9560 = 0;
SOURCE(7688, 23)
node←v9336 = (* (( (ptr) entry←v8988)+3) );
SOURCE(7713, 39)
{
word pd116;
pd116 = (* (( (ptr) (* (( (ptr) gf←c44800)+94)/* var←c39680 */ ))+28) );
child←v9364 = (word) ( *( (fPt) ((* (ptr) pd116 ))))(node←v9336, pd116);
};
SOURCE(7754, 34)
{
word pd117;
pd117 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+6) );
textLen←v9392 = (word) ( *( (fPt) ((* (ptr) pd117 ))))(node←v9336, pd117);
};
SOURCE(7790, 32)
{
word pd118;
pd118 = (* (( (ptr) (* (( (ptr) gf←c44800)+94)/* var←c39680 */ ))+9) );
root←v9420 = (word) ( *( (fPt) ((* (ptr) pd118 ))))(node←v9336, pd118);
};
SOURCE(7824, 38)
{
word pd119;
pd119 = (* (( (ptr) (* (( (ptr) gf←c44800)+94)/* var←c39680 */ ))+9) );
keyRoot←v9448 = (word) ( *( (fPt) ((* (ptr) pd119 ))))(keyNode←v5924, pd119);
};
SOURCE(7864, 56)
{
word pd120;
pd120 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+5) );
looks←v9476 = (word) ( *( (fPt) ((* (ptr) pd120 ))))(keyNode←v5924, (* (( (ptr) &var←c44768)+13)/* kStart←v8960 */ ), pd120)
;
};
SOURCE(7922, 33)
(* (( (ptr) &var←c44768)+16)/* allcaps←v9504 */ ) = 0;
(* (( (ptr) &var←c44768)+17)/* initialcap←v9532 */ ) = 0;
SOURCE(7971, 11)
(void) CheckCaps←P1776((word) ((( (bPt) &var←c44768)+24)/* var←c41184 */ ));
SOURCE(7984, 30)
{
word pd121;
pd121 = (* (( (ptr) (* (( (ptr) gf←c44800)+89)/* var←c39264 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd121 ))))((* ((( (ptr) &var←c44768)+15)/* rdr←v9044 */ ) ), pd121);
};
SOURCE(8016, 182)
{
W2 var←c41504;
{
word pd122;
pd122 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+31) );
(void) ( *( (fPt) ((* (ptr) pd122 ))))((word) &var←c41504, keyRoot←v9448, root←v9420, keyNode←v5924, (* (( (ptr) &var←c44768)+5)
/* keyStart←v6108 */ ), keyLen←v6136
, node←v9336, 0, textLen←v9392, event←v6008, pd122);
};
resultLen←v6164 = var←c41504.f1;
};
SOURCE(8200, 28)
if (( (int)resultLen←v6164 != (int)textLen←v9392)) {
SOURCE(8228, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(8235, 138)
if ((looks←v9476 != 0)) {
SOURCE(8265, 108)
{
word pd123;
pd123 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd123 ))))(keyRoot←v9448, keyNode←v5924, 0, looks←v9476, (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ), textLen←v9392
, event←v6008, pd123);
};
};
SOURCE(8375, 298)
if ((0 != (* (( (ptr) &var←c44768)+16)/* allcaps←v9504 */ ))) {
SOURCE(8391, 114)
{
word pd124;
pd124 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd124 ))))(keyRoot←v9448, keyNode←v5924, (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ), textLen←v9392, 0, event←v6008, pd124)
;
};
}
else {
SOURCE(8505, 168)
if ( ( (0 != (* (( (ptr) &var←c44768)+17)/* initialcap←v9532 */ )) ? ( (int)textLen←v9392 > (int)0) : 0 ) ) {
SOURCE(8571, 102)
{
word pd125;
pd125 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd125 ))))(keyRoot←v9448, keyNode←v5924, (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ), 1, 0, event←v6008, pd125)
;
};
};
};
SOURCE(8675, 141)
{
word var←c41536;
{
word pd126;
pd126 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+26) );
format←v9560 = (word) ( *( (fPt) ((* (ptr) pd126 ))))(node←v9336, pd126);
};
var←c41536 = format←v9560;
{
word pd128;
if ((var←c41536 == 0)) { goto then0127;};
pd128 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+26) );
if ((var←c41536 == (word) ( *( (fPt) ((* (ptr) pd128 ))))(keyNode←v5924, pd128))) {
then0127: ;
}
else {
SOURCE(8774, 42)
{
word pd129;
pd129 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd129 ))))(keyNode←v5924, format←v9560, event←v6008, pd129);
};
};
};
};
SOURCE(8818, 534)
if ((child←v9364 != 0)) {
SOURCE(8838, 516)
{
W4 new←v9620;
word last←v9648;
SOURCE(8873, 177)
{
W4 var←c41568;
{
W4 var←c41600;
word last←v35572;
{
word pd130;
pd130 = (* (( (ptr) (* (( (ptr) gf←c44800)+94)/* var←c39680 */ ))+26) );
last←v35572 = (word) ( *( (fPt) ((* (ptr) pd130 ))))(node←v9336, pd130);
};
var←c41600.f0 = child←v9364;
var←c41600.f1 = (word) -1;
var←c41600.f2 = last←v35572;
var←c41600.f3 = (word) -1;
var←c41568 = var←c41600;
};
{
W4 var←c0220;
{
W2 var←c41664;
var←c41664.f0 = keyNode←v5924;
var←c41664.f1 = (word) -1;
{
word pd131;
pd131 = (* (( (ptr) (* (( (ptr) gf←c44800)+100)/* var←c41696 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd131 ))))((word) &var←c0220, keyRoot←v9448, root←v9420, var←c41664, var←c41568, 1
/*1*/ , ( ( (int)textLen←v9392 == (int)0) ? 0 : 1 ) , event←v6008, pd131);
};
};
new←v9620 = var←c0220;
};
};
SOURCE(9052, 25)
last←v9648 = new←v9620.f2;
SOURCE(9079, 273)
{
word tc132;
word pd133;
if ((last←v9648 != 0)) {
pd133 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+6) );
tc132 = (word) ( (int)((* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ) + textLen←v9392) < (int)(word) ( *( (fPt) ((* (ptr) pd133 ))
))(keyNode←v5924, pd133));
}
else {
tc132 = (word) 0;
};
if (tc132) {
SOURCE(9191, 161)
{
W2 var←c41728;
{
word pd134;
pd134 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */ ))+34) );
(void) ( *( (fPt) ((* (ptr) pd134 ))))((word) &var←c41728, keyRoot←v9448, keyRoot←v9448, last←v9648, 2147483647, keyNode←v5924
/*1*/ , ((* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ ) + textLen←v9392), 2147483647, event←v6008, pd134);
};
};
};
};
};
};
SOURCE(9357, 14)
foundIt←v6052 = 1;
SOURCE(9373, 25)
commands←v6192 = (* (( (ptr) entry←v8988)+4) );
};
};
/* removed tail goto */
lab←L100033: ;
(* (ptr) formal←c0224 ) = foundIt←v6052;
(* (( (ptr) formal←c0224)+1) ) = (* (( (ptr) &var←c44768)+4)/* keyDeterminesDict←v6080 */ );
(* (( (ptr) formal←c0224)+2) ) = (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */ );
(* (( (ptr) formal←c0224)+3) ) = keyLen←v6136;
(* (( (ptr) formal←c0224)+4) ) = resultLen←v6164;
(* (( (ptr) formal←c0224)+5) ) = commands←v6192;
return;
}
static word FindEntry←P1572(dictAtom←v9148, formal←c44864)
word dictAtom←v9148;
word formal←c44864;
{
register ptr gf←c44832 = (ptr) &globalframe;
word entry←v9192;
formal←c44864 = (formal←c44864 - 32);
/* FindEntry: */
SOURCE(5969, 699)
SOURCE(5969, 699)
entry←v9192 = 0;
SOURCE(6035, 486)
if (((* (( (ptr) formal←c44864)+10) ) != 0)) {
SOURCE(6056, 488)
{
word key←v9736;
SOURCE(6058, 66)
{
word pd135;
pd135 = (* (( (ptr) (* (( (ptr) gf←c44832)+91)/* var←c39392 */ ))+17) );
key←v9736 = (word) ( *( (fPt) ((* (ptr) pd135 ))))((* (( (ptr) formal←c44864)+11) ), (* (( (ptr) formal←c44864)+5) ), (* (
( (ptr) formal←c44864)+12) ), pd135);
};
SOURCE(6126, 395)
{
register word list←v9780;
list←v9780 = (* (( (ptr) formal←c44864)+10) );
lab←L100041: ;
if ( ( (entry←v9192 == 0) ? (list←v9780 != 0) : 0 ) ) {
}
else {
goto lab←L100038;
};
SOURCE(6203, 318)
{
word var←c41760;
var←c41760 = (* (( (ptr) list←v9780)+1) );
if ((var←c41760 == 0)) {
goto lab←L100042;
};
if (((* (( (ptr) gf←c44832)+26) ) == XR←GetReferentType(var←c41760))) {
{
word val←v9824;
val←v9824 = var←c41760;
SOURCE(6275, 248)
{
word proc←v9868;
word kR←v9896 = 0;
word node←v9924 = 0;
word commands←v9952 = 0;
SOURCE(6277, 45)
proc←v9868 = (* (ptr) val←v9824 );
SOURCE(6373, 61)
{
W3 var←c41792;
(void) ( *( (fPt) ((* (ptr) proc←v9868 ))))((word) &var←c41792, key←v9736, dictAtom←v9148, (* (( (ptr) formal←c44864)+4)
/*1*/ ), proc←v9868);
commands←v9952 = var←c41792.f2;
node←v9924 = var←c41792.f1;
kR←v9896 = var←c41792.f0;
};
SOURCE(6436, 85)
if ((kR←v9896 != 0)) {
SOURCE(6451, 70)
{
/*1*/ word var←c41824;
/*1*/ var←c41824 = XR←NewObject(20, (* (( (ptr) gf←c44832)+30) ));
/*1*/ (* (( (ptr) var←c41824)+2) ) = kR←v9896;
/*1*/ (* (( (ptr) var←c41824)+3) ) = node←v9924;
/*1*/ (* (( (ptr) var←c41824)+4) ) = commands←v9952;
/*1*/ entry←v9192 = var←c41824;
/*1*/ };
};
};
};
}
else {
lab←L100042: ;
};
};
list←v9780 = (* (( (ptr) list←v9780)+2) );
goto lab←L100041;
lab←L100038: ;
};
};
};
SOURCE(6547, 121)
if ((entry←v9192 == 0)) {
SOURCE(6565, 105)
{
word dict←v10092;
SOURCE(6567, 31)
dict←v10092 = (word) GetDict←P840(dictAtom←v9148);
SOURCE(6600, 68)
if ((dict←v10092 != 0)) {
SOURCE(6617, 51)
entry←v9192 = (word) Lookup←P600(dict←v10092, (* (( (ptr) formal←c44864)+14) ), (* (( (ptr) formal←c44864)+11) ), (* (( (ptr) formal←c44864)+5)
), (* (( (ptr) formal←c44864)+12) ), (* (( (ptr) formal←c44864)+15) )
, 0);
};
};
};
SOURCE(5969, 699)
return(entry←v9192);
}
static void CheckCaps←P1776(formal←c44928)
word formal←c44928;
{
register ptr gf←c44896 = (ptr) &globalframe;
formal←c44928 = (formal←c44928 - 24);
/* CheckCaps: */
SOURCE(7452, 18)
SOURCE(7472, 15)
(* (( (ptr) formal←c44928)+16) ) = 0;
SOURCE(7489, 42)
{
word reader←v36260;
word rope←v36288;
word index←v36316;
word var←c41856;
word rope←v36364;
reader←v36260 = (* (( (ptr) formal←c44928)+15) );
rope←v36288 = (* (( (ptr) formal←c44928)+11) );
index←v36316 = (* (( (ptr) formal←c44928)+13) );
{
word tc136;
rope←v36364 = 0;
var←c41856 = (* (( (ptr) reader←v36260)+2) );
if (((var←c41856 == rope←v36288)
)) {
tc136 = (word) ( (int)((* (( (ptr) reader←v36260)+3) ) + (* (( (ptr) reader←v36260)+1) )) == (int)index←v36316);
}
else {
tc136 = (word) 0;
};
if (tc136) {
goto lab←L100044;
};
};
(* (( (ptr) reader←v36260)+2) ) = rope←v36288;
(* (( (ptr) reader←v36260)+1) ) = 0;
(* (hPt) (* (ptr) reader←v36260 ) ) = 0;
(* (( (ptr) reader←v36260)+3) ) = index←v36316;
lab←L100044: ;
};
SOURCE(7533, 45)
{
word var←c41888;
word text←v36884;
word i←v36912;
text←v36884 = (* (ptr) (* (( (ptr) formal←c44928)+15) ) );
i←v36912 = (* (( (ptr) (* (( (ptr) formal←c44928)+15) ))+1) );
{
word limit137;
word pd138;
if ((i←v36912 < (* (hPt) text←v36884 ))) {
var←c41888 = (word) (* ((( (bPt) text←v36884)+4)+(
limit137 = (word) (* (( (hPt) text←v36884)+1) ),
BCK(i←v36912, limit137)
)) );
}
else {
pd138 = (* (( (ptr) (* (( (ptr) gf←c44896)+89)/* var←c39264 */ ))+17) );
var←c41888 = (word) ( *( (fPt) ((* (ptr) pd138 ))))((* (( (ptr) formal←c44928)+15) ), 2, pd138);
};
};
(* (( (ptr) formal←c44928)+17) ) = ((var←c41888 - 65) <= 25);
};
SOURCE(7580, 77)
{
register word i←v9692 = 0;
register word noName←c41952;
word var←c41984;
word reader←v37404;
noName←c41952 = (* (( (ptr) formal←c44928)+12) );
if (( (int)i←v9692 >= (int)noName←c41952)) {
goto lab←L100046;
};
lab←L100049: ;
SOURCE(7607, 50)
reader←v37404 = (* (( (ptr) formal←c44928)+15) );
{
word text←v37436;
word i←v37464;
text←v37436 = (* (ptr) reader←v37404 );
i←v37464 = (* (( (ptr) reader←v37404)+1) );
{
word pd140;
if ((i←v37464 < (* (hPt) text←v37436 ))) {
(* (( (ptr) reader←v37404)+1) ) = (i←v37464 + 1);
{
word limit139;
var←c41984 = (word) (* ((( (bPt) text←v37436)+4)+(
limit139 = (word) (* (( (hPt) text←v37436)+1) ),
BCK(i←v37464, limit139)
)) );
};
}
else {
pd140 = (* (( (ptr) (* (( (ptr) gf←c44896)+89)/* var←c39264 */ ))+17) );
var←c41984 = (word) ( *( (fPt) ((* (ptr) pd140 ))))(reader←v37404, 0, pd140);
};
};
};
if (((var←c41984 - 65) > 25)) {
SOURCE(7651, 6)
return;
};
i←v9692 = (i←v9692 + 1);
if (( (int)i←v9692 < (int)noName←c41952)) {
goto lab←L100049;
};
lab←L100046: ;
};
SOURCE(7668, 14)
(* (( (ptr) formal←c44928)+16) ) = 1;
}
static word KeyHash←P540(keyRope←v6348, keyStart←v6376, keyEnd←v6404, rdr←v6432)
word keyRope←v6348;
word keyStart←v6376;
word keyEnd←v6404;
word rdr←v6432;
{
register ptr gf←c44960 = (ptr) &globalframe;
word h←v6476;
word len←v10136;
/* KeyHash: */
SOURCE(9407, 539)
SOURCE(9507, 26)
len←v10136 = SGNCK((keyEnd←v6404 - keyStart←v6376));
SOURCE(9535, 44)
{
word reader←v36112;
word rope←v36140;
word index←v36168;
word var←c42048;
word rope←v36216;
reader←v36112 = rdr←v6432;
rope←v36140 = keyRope←v6348;
index←v36168 = keyStart←v6376;
{
word tc141;
rope←v36216 = 0;
var←c42048 = (* (( (ptr) reader←v36112)+2) );
if (((var←c42048 == rope←v36140)
)) {
tc141 = (word) ( (int)((* (( (ptr) reader←v36112)+3) ) + (* (( (ptr) reader←v36112)+1) )) == (int)index←v36168);
}
else {
tc141 = (word) 0;
};
if (tc141) {
goto lab←L100052;
};
};
(* (( (ptr) reader←v36112)+2) ) = rope←v36140;
(* (( (ptr) reader←v36112)+1) ) = 0;
(* (hPt) (* (ptr) reader←v36112 ) ) = 0;
(* (( (ptr) reader←v36112)+3) ) = index←v36168;
lab←L100052: ;
};
SOURCE(9581, 5)
h←v6476 = 0;
SOURCE(9588, 141)
{
register word i←v10180 = 1;
register word noName←c42080;
noName←c42080 = (MIN( (unsigned) , 3, len←v10136));
if ((i←v10180 >= noName←c42080)) {
goto lab←L100053;
};
lab←L100056: ;
SOURCE(9651, 78)
{
word var←c42112;
word var←c42144;
var←c42112 = (word) Basics←BITSHIFT(h←v6476, 2);
{
word var←c42176;
word c←v38032;
{
word text←v37332;
word i←v37360;
text←v37332 = (* (ptr) rdr←v6432 );
i←v37360 = (* (( (ptr) rdr←v6432)+1) );
{
word pd143;
if ((i←v37360 < (* (hPt) text←v37332 ))) {
(* (( (ptr) rdr←v6432)+1) ) = (i←v37360 + 1);
{
word limit142;
c←v38032 = (word) (* ((( (bPt) text←v37332)+4)+(
/*1*/ limit142 = (word) (* (( (hPt) text←v37332)+1) ),
/*1*/ BCK(i←v37360, limit142)
/*1*/ )) );
};
}
else {
pd143 = (* (( (ptr) (* (( (ptr) gf←c44960)+89)/* var←c39264 */ ))+17) );
c←v38032 = (word) ( *( (fPt) ((* (ptr) pd143 ))))(rdr←v6432, 0, pd143);
};
};
};
if (((c←v38032 - 97) <= 25)) {
var←c42176 = ((c←v38032 - 97) + 65);
}
else {
var←c42176 = c←v38032;
};
var←c42144 = var←c42176;
};
h←v6476 = (word) XRM←BITXOR(var←c42112, var←c42144);
};
i←v10180 = (i←v10180 + 1);
if ((i←v10180 < noName←c42080)) {
goto lab←L100056;
};
lab←L100053: ;
};
SOURCE(9740, 206)
if ((len←v10136 >= 2)) {
SOURCE(9788, 42)
{
word reader←v35964;
word rope←v35992;
word index←v36020;
word var←c42272;
word rope←v36068;
reader←v35964 = rdr←v6432;
rope←v35992 = keyRope←v6348;
index←v36020 = keyEnd←v6404;
{
word tc144;
rope←v36068 = 0;
var←c42272 = (* (( (ptr) reader←v35964)+2) );
if (((var←c42272 == rope←v35992)
)) {
tc144 = (word) ( (int)((* (( (ptr) reader←v35964)+3) ) + (* (( (ptr) reader←v35964)+1) )) == (int)index←v36020);
}
else {
tc144 = (word) 0;
};
if (tc144) {
goto lab←L100060;
};
};
(* (( (ptr) reader←v35964)+2) ) = rope←v35992;
(* (( (ptr) reader←v35964)+1) ) = 0;
(* (hPt) (* (ptr) reader←v35964 ) ) = 0;
(* (( (ptr) reader←v35964)+3) ) = index←v36020;
lab←L100060: ;
};
SOURCE(9832, 114)
{
register word i←v10224;
register word noName←c42304;
i←v10224 = SGNCK((len←v10136 - 2));
noName←c42304 = len←v10136;
if ((i←v10224 >= noName←c42304)) {
goto lab←L100061;
};
lab←L100064: ;
SOURCE(9862, 84)
{
word var←c42336;
word var←c42368;
var←c42336 = (word) Basics←BITSHIFT(h←v6476, 2);
{
word var←c42400;
word c←v37984;
{
word reader←v37816;
reader←v37816 = rdr←v6432;
{
word i←v37848;
i←v37848 = (* (( (ptr) reader←v37816)+1) );
{
word pd146;
if ((i←v37848 > 0)) {
{
/*1*/ word var←c42496;
/*1*/ word var←c42528;
/*1*/ var←c42496 = SGNCK((i←v37848 - 1));
/*1*/ (* (( (ptr) reader←v37816)+1) ) = var←c42496;
/*1*/ var←c42528 = (* (ptr) reader←v37816 );
/*1*/ {
/*1*/ word limit145;
/*1*/ c←v37984 = (word) (* ((( (bPt) var←c42528)+4)+(
/*1*/ limit145 = (word) (* (( (hPt) var←c42528)+1) ),
/*1*/ BCK(var←c42496, limit145)
/*1*/ )) );
/*1*/ };
/*1*/ };
}
else {
pd146 = (* (( (ptr) (* (( (ptr) gf←c44960)+89)/* var←c39264 */ ))+17) );
c←v37984 = (word) ( *( (fPt) ((* (ptr) pd146 ))))(reader←v37816, 1, pd146);
};
};
};
};
if (((c←v37984 - 97) <= 25)) {
var←c42400 = ((c←v37984 - 97) + 65);
}
else {
var←c42400 = c←v37984;
};
var←c42368 = var←c42400;
};
h←v6476 = (word) XRM←BITXOR(var←c42336, var←c42368);
};
i←v10224 = (i←v10224 + 1);
if ((i←v10224 < noName←c42304)) {
goto lab←L100064;
};
lab←L100061: ;
};
};
SOURCE(9407, 539)
return(h←v6476);
}
static word Lookup←P600(formal←c0550, formal←c0551, formal←c0552, formal←c0553, formal←c0554, formal←c0555, formal←c0556)
word formal←c0550;
word formal←c0551;
word formal←c0552;
word formal←c0553;
word formal←c0554;
word formal←c0555;
word formal←c0556;
{
W12 var←c44992;
/* declaration of dict←v6536 skipped */
/* declaration of hash←v6564 skipped */
/* declaration of keyRope←v6592 skipped */
/* declaration of keyStart←v6620 skipped */
/* declaration of keyLen←v6648 skipped */
/* declaration of rdr1←v6676 skipped */
/* declaration of rdr2←v6704 skipped */
register ptr gf←c45024 = (ptr) &globalframe;
/* declaration of var←c08 skipped */
word entry←v6748;
(* (( (ptr) &var←c44992)+4)/* dict←v6536 */ ) = formal←c0550;
(* (( (ptr) &var←c44992)+5)/* hash←v6564 */ ) = formal←c0551;
(* (( (ptr) &var←c44992)+6)/* keyRope←v6592 */ ) = formal←c0552;
(* (( (ptr) &var←c44992)+7)/* keyStart←v6620 */ ) = formal←c0553;
(* (( (ptr) &var←c44992)+8)/* keyLen←v6648 */ ) = formal←c0554;
(* (( (ptr) &var←c44992)+9)/* rdr1←v6676 */ ) = formal←c0555;
(* (( (ptr) &var←c44992)+10)/* rdr2←v6704 */ ) = formal←c0556;
/* Lookup: */
SOURCE(9964, 244)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c45024)+16)/* LOCK←v3504 */ ));
SOURCE(9964, 244)
entry←v6748 = 0;
SOURCE(10117, 91)
{
word var←c09;
{
word var←c0506;
var←c0506 = (word) &var←c44992;
var←c09 = (word) XR←Enable(( ((word) (fPt) NoName←Q6240) ), ( ((word) (fPt) NoName←Q6660) ), var←c0506);
};
/* removed trivial cond node */
};
return((* (( (ptr) &var←c44992)+11)/* var←c08 */ ));
}
static word NoName←Q6240(formal←c0469)
word formal←c0469;
{
register ptr gf←c0468 = (ptr) &globalframe;
SOURCE(10140, 68)
{
word var←c42592;
var←c42592 = (word) LookupInternal←P660((* (( (ptr) formal←c0469)+4) ), (* (( (ptr) formal←c0469)+5) ), (* (( (ptr) formal←c0469)+6)
), (* (( (ptr) formal←c0469)+7) ), (* (( (ptr) formal←c0469)+8) ), (* (( (ptr) formal←c0469)+9) )
, (* (( (ptr) formal←c0469)+10) ));
(void) (XR←MonitorExit((word) (( (bPt) gf←c0468)+16)/* LOCK←v3504 */ ));
(* (( (ptr) formal←c0469)+11) ) = var←c42592;
return(1);
};
/* c2c skipped dead code */
}
static word LookupInternal←P660(dict←v6808, hash←v6836, keyRope←v6864, keyStart←v6892, keyLen←v6920, formal←c0557, formal←c0558)
word dict←v6808;
word hash←v6836;
word keyRope←v6864;
word keyStart←v6892;
word keyLen←v6920;
word formal←c0557;
word formal←c0558;
{
W10 var←c45056;
/* declaration of rdr1←v6948 skipped */
/* declaration of rdr2←v6976 skipped */
register ptr gf←c45088 = (ptr) &globalframe;
word entry←v7020;
/* declaration of var←c42624 skipped */
/* declaration of free1←v10296 skipped */
/* declaration of free2←v10324 skipped */
word pred←v10352 = 0;
(* (( (ptr) &var←c45056)+4)/* rdr1←v6948 */ ) = formal←c0557;
(* (( (ptr) &var←c45056)+5)/* rdr2←v6976 */ ) = formal←c0558;
/* LookupInternal: */
SOURCE(10214, 930)
{
word tmpAddr147;
tmpAddr147 = (word) (( (ptr) &var←c45056)+6)/* var←c42624 */ ;
(* (ptr) tmpAddr147 ) = ( ((word) (fPt) FreeReaders←P2268) );
(* (( (ptr) tmpAddr147) + 1) ) = 1;
};
SOURCE(10214, 930)
entry←v7020 = 0;
SOURCE(10488, 26)
(* (( (ptr) &var←c45056)+8)/* free1←v10296 */ ) = 0;
(* (( (ptr) &var←c45056)+9)/* free2←v10324 */ ) = 0;
SOURCE(10535, 29)
if ((keyLen←v6920 == 0)) {
SOURCE(10552, 12)
return(0);
};
SOURCE(10566, 67)
if (((* (( (ptr) &var←c45056)+4)/* rdr1←v6948 */ ) == 0)) {
SOURCE(10585, 12)
(* (( (ptr) &var←c45056)+8)/* free1←v10296 */ ) = 1;
SOURCE(10599, 34)
{
word pd148;
pd148 = (* (( (ptr) (* (( (ptr) gf←c45088)+89)/* var←c39264 */ ))+26) );
(* (( (ptr) &var←c45056)+4)/* rdr1←v6948 */ ) = (word) ( *( (fPt) ((* (ptr) pd148 ))))(pd148);
};
};
SOURCE(10636, 67)
if (((* (( (ptr) &var←c45056)+5)/* rdr2←v6976 */ ) == 0)) {
SOURCE(10655, 12)
(* (( (ptr) &var←c45056)+9)/* free2←v10324 */ ) = 1;
SOURCE(10669, 34)
{
word pd149;
pd149 = (* (( (ptr) (* (( (ptr) gf←c45088)+89)/* var←c39264 */ ))+26) );
(* (( (ptr) &var←c45056)+5)/* rdr2←v6976 */ ) = (word) ( *( (fPt) ((* (ptr) pd149 ))))(pd149);
};
};
SOURCE(10706, 11)
entry←v7020 = 0;
SOURCE(10762, 358)
{
register word e←v10412;
e←v10412 = dict←v6808;
lab←L100072: ;
if ((e←v10412 != 0)) {
}
else {
goto lab←L100069;
};
SOURCE(10805, 293)
{
word tc150;
word pd151;
if (((* (( (ptr) e←v10412)+1) ) == hash←v6836)) {
pd151 = (* (( (ptr) (* (( (ptr) gf←c45088)+91)/* var←c39392 */ ))+15) );
tc150 = (word) ( (int)(word) ( *( (fPt) ((* (ptr) pd151 ))))((* ((( (ptr) e←v10412)+2)) ), pd151) == (int)keyLen←v6920);
}
else {
tc150 = (word) 0;
};
if (tc150) {
SOURCE(10882, 216)
{
word pd152;
pd152 = (* (( (ptr) (* (( (ptr) gf←c45088)+89)/* var←c39264 */ ))+25) );
if (((word) ( *( (fPt) ((* (ptr) pd152 ))))(keyRope←v6864, (* (( (ptr) e←v10412)+2) ), keyStart←v6892, keyLen←v6920, 0, keyLen←v6920
, (* (( (ptr) &var←c45056)+4)/* rdr1←v6948 */ ), (* (( (ptr) &var←c45056)+5)/* rdr2←v6976 */ ), 0, pd152) == 1)) {
SOURCE(10987, 97)
if ((pred←v10352 != 0)) {
SOURCE(11031, 18)
(* (ptr) pred←v10352 ) = (* (ptr) e←v10412 );
SOURCE(11051, 18)
(* (ptr) e←v10412 ) = (* (ptr) dict←v6808 );
SOURCE(11071, 13)
(* (ptr) dict←v6808 ) = e←v10412;
};
SOURCE(11089, 9)
entry←v7020 = e←v10412;
SOURCE(11100, 4)
goto lab←L100070;
};
};
};
};
SOURCE(11112, 8)
pred←v10352 = e←v10412;
e←v10412 = (* (ptr) e←v10412 );
goto lab←L100072;
lab←L100069: ;
lab←L100070: ;
};
SOURCE(11131, 13)
(void) FreeReaders←P2268((word) ((( (bPt) &var←c45056)+24)/* var←c42624 */ ));
SOURCE(10214, 930)
return(entry←v7020);
}
static void FreeReaders←P2268(formal←c45152)
word formal←c45152;
{
register ptr gf←c45120 = (ptr) &globalframe;
formal←c45152 = (formal←c45152 - 24);
/* FreeReaders: */
SOURCE(10369, 114)
SOURCE(10391, 45)
if ((0 != (* (( (ptr) formal←c45152)+8) ))) {
SOURCE(10405, 31)
{
word pd153;
pd153 = (* (( (ptr) (* (( (ptr) gf←c45120)+89)/* var←c39264 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd153 ))))((* ((( (ptr) formal←c45152)+4)) ), pd153);
};
};
SOURCE(10438, 45)
if ((0 != (* (( (ptr) formal←c45152)+9) ))) {
SOURCE(10452, 31)
{
word pd154;
pd154 = (* (( (ptr) (* (( (ptr) gf←c45120)+89)/* var←c39264 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd154 ))))((* ((( (ptr) formal←c45152)+5)) ), pd154);
};
};
}
static word FindKeyLen←P720(keyRope←v7080, rdr←v7108)
word keyRope←v7080;
word rdr←v7108;
{
register ptr gf←c45184 = (ptr) &globalframe;
word len←v7152;
word size←v10456;
/* FindKeyLen: */
SOURCE(11150, 321)
SOURCE(11227, 30)
{
word pd155;
pd155 = (* (( (ptr) (* (( (ptr) gf←c45184)+91)/* var←c39392 */ ))+15) );
size←v10456 = (word) ( *( (fPt) ((* (ptr) pd155 ))))(keyRope←v7080, pd155);
};
{
word var←c42688;
word c←v38128;
word var←c42784;
word c←v38320;
SOURCE(11259, 25)
if (( (int)size←v10456 == (int)0)) {
SOURCE(11274, 10)
return(0);
};
SOURCE(11286, 37)
{
word reader←v35844;
word rope←v35872;
word var←c42656;
word rope←v35920;
reader←v35844 = rdr←v7108;
rope←v35872 = keyRope←v7080;
{
word tc156;
rope←v35920 = 0;
var←c42656 = (* (( (ptr) reader←v35844)+2) );
if (((var←c42656 == rope←v35872)
)) {
tc156 = (word) ( (int)((* (( (ptr) reader←v35844)+3) ) + (* (( (ptr) reader←v35844)+1) )) == (int)0);
}
else {
tc156 = (word) 0;
};
if (tc156) {
goto lab←L100074;
};
};
(* (( (ptr) reader←v35844)+2) ) = rope←v35872;
(* (( (ptr) reader←v35844)+1) ) = 0;
(* (hPt) (* (ptr) reader←v35844 ) ) = 0;
(* (( (ptr) reader←v35844)+3) ) = 0;
lab←L100074: ;
};
SOURCE(11325, 60)
{
word text←v36812;
word i←v36840;
text←v36812 = (* (ptr) rdr←v7108 );
i←v36840 = (* (( (ptr) rdr←v7108)+1) );
{
word limit157;
word pd158;
if ((i←v36840 < (* (hPt) text←v36812 ))) {
c←v38128 = (word) (* ((( (bPt) text←v36812)+4)+(
limit157 = (word) (* (( (hPt) text←v36812)+1) ),
BCK(i←v36840, limit157)
)) );
}
else {
pd158 = (* (( (ptr) (* (( (ptr) gf←c45184)+89)/* var←c39264 */ ))+17) );
c←v38128 = (word) ( *( (fPt) ((* (ptr) pd158 ))))(rdr←v7108, 2, pd158);
};
};
};
var←c42688 = ((word) (* (( (bPt) (* (ptr) (* (( (ptr) (* (( (ptr) gf←c45184)+97)/* var←c40128 */ ))+4) ) ))+c←v38128) ) == 3);
if (((0 != var←c42688)
)) {
SOURCE(11375, 10)
return(1);
};
SOURCE(11387, 7)
len←v7152 = 0;
SOURCE(11396, 75)
lab←L100079: ;
{
word tc159;
if (( (int)len←v7152 < (int)size←v10456)) {
{
word text←v37260;
word i←v37288;
text←v37260 = (* (ptr) rdr←v7108 );
i←v37288 = (* (( (ptr) rdr←v7108)+1) );
{
word pd161;
if ((i←v37288 < (* (hPt) text←v37260 ))) {
(* (( (ptr) rdr←v7108)+1) ) = (i←v37288 + 1);
{
word limit160;
c←v38320 = (word) (* ((( (bPt) text←v37260)+4)+(
/*1*/ limit160 = (word) (* (( (hPt) text←v37260)+1) ),
/*1*/ BCK(i←v37288, limit160)
/*1*/ )) );
};
}
else {
pd161 = (* (( (ptr) (* (( (ptr) gf←c45184)+89)/* var←c39264 */ ))+17) );
c←v38320 = (word) ( *( (fPt) ((* (ptr) pd161 ))))(rdr←v7108, 0, pd161);
};
};
};
var←c42784 = ((word) (* (( (bPt) (* (ptr) (* (( (ptr) (* (( (ptr) gf←c45184)+97)/* var←c40128 */ ))+4) ) ))+c←v38320) ) == 2);
tc159 = (word) (0 != var←c42784);
}
else {
tc159 = (word) 0;
};
if (tc159) {
}
else {
goto lab←L100077;
};
};
SOURCE(11460, 11)
len←v7152 = (len←v7152 + 1);
goto lab←L100079;
lab←L100077: ;
};
SOURCE(11150, 321)
return(len←v7152);
}
static word FindKeyStart←P780(keyRope←v7212, keyEnd←v7240, rdr←v7268)
word keyRope←v7212;
word keyEnd←v7240;
word rdr←v7268;
{
register ptr gf←c45216 = (ptr) &globalframe;
word start←v7312;
/* FindKeyStart: */
SOURCE(11486, 373)
{
word var←c42912;
word c←v38080;
word var←c43072;
word c←v38272;
SOURCE(11580, 55)
{
word pd162;
pd162 = (* (( (ptr) (* (( (ptr) gf←c45216)+91)/* var←c39392 */ ))+15) );
if (( (int)(word) ( *( (fPt) ((* (ptr) pd162 ))))(keyRope←v7212, pd162) == (int)0) || ( (int)keyEnd←v7240 == (int)0)) {
SOURCE(11625, 10)
return(0);
};
};
SOURCE(11637, 42)
{
word reader←v35696;
word rope←v35724;
word index←v35752;
word var←c42880;
word rope←v35800;
reader←v35696 = rdr←v7268;
rope←v35724 = keyRope←v7212;
index←v35752 = keyEnd←v7240;
{
word tc163;
rope←v35800 = 0;
var←c42880 = (* (( (ptr) reader←v35696)+2) );
if (((var←c42880 == rope←v35724)
)) {
tc163 = (word) ( (int)((* (( (ptr) reader←v35696)+3) ) + (* (( (ptr) reader←v35696)+1) )) == (int)index←v35752);
}
else {
tc163 = (word) 0;
};
if (tc163) {
goto lab←L100083;
};
};
(* (( (ptr) reader←v35696)+2) ) = rope←v35724;
(* (( (ptr) reader←v35696)+1) ) = 0;
(* (hPt) (* (ptr) reader←v35696 ) ) = 0;
(* (( (ptr) reader←v35696)+3) ) = index←v35752;
lab←L100083: ;
};
SOURCE(11681, 76)
{
word i←v24200;
i←v24200 = (* (( (ptr) rdr←v7268)+1) );
{
word pd165;
if ((i←v24200 > 0)) {
{
word var←c42976;
word var←c43008;
var←c42976 = (i←v24200 - 1);
var←c43008 = (* (ptr) rdr←v7268 );
{
word limit164;
c←v38080 = (word) (* ((( (bPt) var←c43008)+4)+(
limit164 = (word) (* (( (hPt) var←c43008)+1) ),
BCK(var←c42976, limit164)
)) );
};
};
}
else {
pd165 = (* (( (ptr) (* (( (ptr) gf←c45216)+89)/* var←c39264 */ ))+17) );
c←v38080 = (word) ( *( (fPt) ((* (ptr) pd165 ))))(rdr←v7268, 3, pd165);
};
};
};
var←c42912 = ((word) (* (( (bPt) (* (ptr) (* (( (ptr) (* (( (ptr) gf←c45216)+97)/* var←c40128 */ ))+4) ) ))+c←v38080) ) == 3);
if (((0 != var←c42912)
)) {
SOURCE(11740, 17)
return((keyEnd←v7240 - 1));
};
SOURCE(11759, 14)
start←v7312 = keyEnd←v7240;
SOURCE(11775, 84)
lab←L100088: ;
{
word tc166;
if (( (int)start←v7312 > (int)0)) {
{
word reader←v37740;
reader←v37740 = rdr←v7268;
{
word i←v37772;
i←v37772 = (* (( (ptr) reader←v37740)+1) );
{
word pd168;
if ((i←v37772 > 0)) {
{
word var←c43168;
word var←c43200;
var←c43168 = SGNCK((i←v37772 - 1));
(* (( (ptr) reader←v37740)+1) ) = var←c43168;
var←c43200 = (* (ptr) reader←v37740 );
{
/*1*/ word limit167;
/*1*/ c←v38272 = (word) (* ((( (bPt) var←c43200)+4)+(
/*1*/ limit167 = (word) (* (( (hPt) var←c43200)+1) ),
/*1*/ BCK(var←c43168, limit167)
/*1*/ )) );
/*1*/ };
};
}
else {
pd168 = (* (( (ptr) (* (( (ptr) gf←c45216)+89)/* var←c39264 */ ))+17) );
c←v38272 = (word) ( *( (fPt) ((* (ptr) pd168 ))))(reader←v37740, 1, pd168);
};
};
};
};
var←c43072 = ((word) (* (( (bPt) (* (ptr) (* (( (ptr) (* (( (ptr) gf←c45216)+97)/* var←c40128 */ ))+4) ) ))+c←v38272) ) == 2);
tc166 = (word) (0 != var←c43072);
}
else {
tc166 = (word) 0;
};
if (tc166) {
}
else {
goto lab←L100086;
};
};
SOURCE(11844, 15)
start←v7312 = (start←v7312 - 1);
goto lab←L100088;
lab←L100086: ;
};
SOURCE(11486, 373)
return(start←v7312);
}
static word GetDict←P840(formal←c0559)
word formal←c0559;
{
W8 var←c45248;
/* declaration of dictName←v7372 skipped */
register ptr gf←c45280 = (ptr) &globalframe;
word entry←v7416;
word prop←v10500 = 0;
W2 var←c0348;
var←c45248.f4/* dictName←v7372 */ = formal←c0559;
/* GetDict: */
SOURCE(11918, 420)
SOURCE(11918, 420)
entry←v7416 = 0;
SOURCE(11991, 44)
{
word pd169;
pd169 = (* (( (ptr) (* (( (ptr) gf←c45280)+88)/* var←c39104 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd169 ))))((word) &var←c0348, (* (( (ptr) gf←c45280)+8)/* dictTable←v3644 */ ), var←c45248.f4/* dictName←v7372 */ , pd169)
;
};
prop←v10500 = var←c0348.f1;
SOURCE(12037, 301)
{
word var←c43264;
word var←c43296;
var←c43264 = prop←v10500;
if ((var←c43264 == 0)) {
goto lab←L100091;
};
var←c43296 = XR←GetReferentType(var←c43264);
if (((* (( (ptr) gf←c45280)+30) ) == var←c43296)) {
{
word x←v10556;
x←v10556 = var←c43264;
SOURCE(12071, 10)
return(x←v10556);
};
}
else {
if (((* (( (ptr) gf←c45280)+23) ) == var←c43296)) {
{
word x←v10600;
x←v10600 = var←c43264;
SOURCE(12094, 41)
if ((x←v10600 == (* (( (ptr) gf←c45280)+42) ))) {
SOURCE(12117, 18)
return(0);
}
else {
SOURCE(12135, 5)
(void) XR←RaiseUnnamedError();
};
};
}
else {
lab←L100091: ;
SOURCE(12153, 187)
{
word ok←v10644 = 0;
SOURCE(12191, 81)
SOURCE(12191, 81)
{
W2 var←c43392;
{
/* declaration of var←c43328 skipped */
var←c45248.f5/* var←c43328 */ = (word) GetFileID←P960(var←c45248.f4/* dictName←v7372 */ );
{
/* declaration of var←c010 skipped */
{
word var←c011;
{
/*1*/ word var←c0507;
/*1*/ var←c0507 = (word) &var←c45248;
/*1*/ var←c011 = (word) XR←Enable(( ((word) (fPt) NoName←Q6300) ), ( ((word) (fPt) NoName←Q6600) ), var←c0507);
/*1*/ };
if ((var←c011 == 4)) {
/*1*/ goto lab←L100093;
/*1*/ };
};
var←c43392 = (* (W2Pt) (( (ptr) &var←c45248)+6)/* var←c010 */ );
};
};
ok←v10644 = var←c43392.f0;
};
lab←L100093: ;
SOURCE(12283, 55)
if ((0 != ok←v10644)) {
SOURCE(12294, 32)
return((word) GetDict←P840(var←c45248.f4/* dictName←v7372 */ ));
}
else {
SOURCE(12326, 12)
return(0);
};
};
};
};
};
}
static word NoName←Q6300(formal←c0476)
word formal←c0476;
{
SOURCE(12191, 81)
(void) LoadInternal←P60((word) (( (bPt) formal←c0476)+24), (* (( (ptr) formal←c0476)+4) ), (* (( (ptr) formal←c0476)+5) ))
;
return(0);
}
static word Same←P900(a←v7644, b←v7672)
word a←v7644;
word b←v7672;
{
register ptr gf←c45312 = (ptr) &globalframe;
word var←c7716;
/* Same: */
SOURCE(12521, 110)
SOURCE(12566, 65)
{
word var←c0508;
if (XR←EqualWords((( (ptr) a←v7644)+1), (( (ptr) b←v7672)+1), 4)) {
{
word var←c43488;
word n1←v37908;
word n2←v37936;
n1←v37908 = (* (ptr) a←v7644 );
n2←v37936 = (* (ptr) b←v7672 );
{
word pd170;
pd170 = (* (( (ptr) (* (( (ptr) gf←c45312)+102)/* var←c43552 */ ))+11) );
var←c43488 = ((word) ( *( (fPt) ((* (ptr) pd170 ))))(n1←v37908, n2←v37936, 0, pd170) == 1);
};
var←c0508 = (0 != var←c43488);
};
}
else {
var←c0508 = 0;
};
return(var←c0508);
};
}
static word GetFileID←P960(shortName←v7776)
word shortName←v7776;
{
W15 var←c45344;
register ptr gf←c45376 = (ptr) &globalframe;
word var←c7820;
word dirs←v10688;
word name←v10716;
word fileNamePath←v10744 = 0;
W4 uid←v10772;
/* GetFileID: */
SOURCE(12634, 606)
SOURCE(12689, 6)
{
word pd171;
pd171 = (* (( (ptr) (* (( (ptr) gf←c45376)+103)/* var←c43584 */ ))+7) );
dirs←v10688 = (word) ( *( (fPt) ((* (ptr) pd171 ))))((* (( (ptr) gf←c45376)+40) ), (* (( (ptr) gf←c45376)+10)/* defaultSearch←v4232 */ ), pd171)
;
};
SOURCE(12777, 68)
{
word var←c43616;
{
word pd172;
pd172 = (* (( (ptr) (* (( (ptr) gf←c45376)+99)/* var←c41152 */ ))+9) );
var←c43616 = (word) ( *( (fPt) ((* (ptr) pd172 ))))(shortName←v7776, pd172);
};
{
word pd173;
pd173 = (* (( (ptr) (* (( (ptr) gf←c45376)+91)/* var←c39392 */ ))+6) );
name←v10716 = (word) ( *( (fPt) ((* (ptr) pd173 ))))(var←c43616, (* (( (ptr) gf←c45376)+41) ), pd173);
};
};
SOURCE(12873, 36)
uid←v10772.f0 = 2147483647;
uid←v10772.f1 = 0;
uid←v10772.f2 = 0;
uid←v10772.f3 = 0;
SOURCE(12911, 232)
lab←L100099: ;
if ( ( (fileNamePath←v10744 == 0) ? (dirs←v10688 != 0) : 0 ) ) {
}
else {
goto lab←L100097;
};
SOURCE(12954, 162)
SOURCE(12954, 162)
{
W9 var←c43776;
{
/* declaration of var←c43680 skipped */
{
word var←c43712;
word var←c43744;
{
word pd174;
pd174 = (* (( (ptr) (* (( (ptr) gf←c45376)+90)/* var←c39360 */ ))+5) );
var←c43712 = (word) ( *( (fPt) ((* (ptr) pd174 ))))(name←v10716, pd174);
};
{
word pd175;
pd175 = (* (( (ptr) (* (( (ptr) gf←c45376)+90)/* var←c39360 */ ))+5) );
var←c43744 = (word) ( *( (fPt) ((* (ptr) pd175 ))))((* (ptr) (dirs←v10688) ), pd175);
};
{
word pd176;
pd176 = (* (( (ptr) (* (( (ptr) gf←c45376)+90)/* var←c39360 */ ))+8) );
(* (( (ptr) &var←c45344)+4)/* var←c43680 */ ) = (word) ( *( (fPt) ((* (ptr) pd176 ))))(var←c43712, var←c43744, pd176);
};
};
{
/* declaration of var←c012 skipped */
(* (( (ptr) &var←c45344)+5)/* var←c012 */ ) = (* (( (ptr) (* (( (ptr) gf←c45376)+90)/* var←c39360 */ ))+12) );
{
/* declaration of var←c013 skipped */
{
word var←c014;
{
word var←c0509;
var←c0509 = (word) &var←c45344;
var←c014 = (word) XR←Enable(( ((word) (fPt) NoName←Q6360) ), ( ((word) (fPt) NoName←Q6540) ), var←c0509);
};
if ((var←c014 == 5)) {
goto lab←L100101;
};
};
var←c43776 = (* (W9Pt) (( (ptr) &var←c45344)+6)/* var←c013 */ );
};
};
};
uid←v10772 = (* (W4Pt) (( (ptr) &var←c43776)+2) );
fileNamePath←v10744 = (* (ptr) &var←c43776 );
};
lab←L100101: ;
SOURCE(13127, 16)
dirs←v10688 = (* (( (ptr) dirs←v10688)+1) );
goto lab←L100099;
lab←L100097: ;
SOURCE(13154, 39)
if ((fileNamePath←v10744 == 0)) {
SOURCE(13181, 12)
return(0);
};
SOURCE(13195, 45)
{
word var←c43840;
var←c43840 = XR←NewObject(20, (* (( (ptr) gf←c45376)+22) ));
(* (ptr) var←c43840 ) = fileNamePath←v10744;
(* (W4Pt) (( (ptr) var←c43840)+1) ) = uid←v10772;
return(var←c43840);
};
}
static word NoName←Q6360(formal←c0480)
word formal←c0480;
{
register ptr gf←c0479 = (ptr) &globalframe;
SOURCE(12954, 162)
{
word pd177;
pd177 = (* (( (ptr) formal←c0480)+5) );
(void) ( *( (fPt) ((* (ptr) pd177 ))))((word) (( (bPt) formal←c0480)+24), (* (( (ptr) formal←c0480)+4) ), (* (W4Pt) (( (ptr) gf←c0479)+84)
/* var←c39072 */ ), pd177);
};
return(0);
}
static void DoLocked←P1020(formal←c0560)
word formal←c0560;
{
W11 var←c45408;
/* declaration of action←v7896 skipped */
register ptr gf←c45440 = (ptr) &globalframe;
/* declaration of var←c43872 skipped */
/* declaration of var←c43904 skipped */
/* declaration of me←v10900 skipped */
(* (( (ptr) &var←c45408)+4)/* action←v7896 */ ) = formal←c0560;
/* DoLocked: */
SOURCE(13339, 423)
{
word tmpAddr178;
tmpAddr178 = (word) (( (ptr) &var←c45408)+5)/* var←c43872 */ ;
(* (ptr) tmpAddr178 ) = ( ((word) (fPt) Unlock←P2580) );
(* (( (ptr) tmpAddr178) + 1) ) = 1;
};
{
word tmpAddr179;
tmpAddr179 = (word) (( (ptr) &var←c45408)+7)/* var←c43904 */ ;
(* (ptr) tmpAddr179 ) = ( ((word) (fPt) Lock←P2520) );
(* (( (ptr) tmpAddr179) + 1) ) = 1;
};
SOURCE(13380, 41)
{
word pd180;
pd180 = (* (( (ptr) (* (( (ptr) gf←c45440)+104)/* var←c43936 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd180 ))))((word) ((( (bPt) &var←c45408)+36)/* me←v10900 */ ), pd180);
};
SOURCE(13715, 6)
(void) Lock←P2520((word) ((( (bPt) &var←c45408)+28)/* var←c43904 */ ));
SOURCE(13723, 29)
{
word var←c0510;
var←c0510 = (word) &var←c45408;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q6420) ), ( ((word) (fPt) NoName←Q6480) ), var←c0510);
};
SOURCE(13754, 8)
(void) Unlock←P2580((word) ((( (bPt) &var←c45408)+20)/* var←c43872 */ ));
}
static word NoName←Q6420(formal←c0482)
word formal←c0482;
{
SOURCE(13723, 29)
{
word pd181;
pd181 = (* (( (ptr) formal←c0482)+4) );
(void) ( *( (fPt) ((* (ptr) pd181 ))))(pd181);
};
return(0);
}
static void Lock←P2520(formal←c45504)
word formal←c45504;
{
register ptr gf←c45472 = (ptr) &globalframe;
formal←c45504 = (formal←c45504 - 28);
/* Lock: */
SOURCE(13423, 154)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c45472)+16)/* LOCK←v3504 */ ));
SOURCE(13444, 76)
lab←L100108: ;
if ( ( ( ! XR←EqualWords((( (ptr) gf←c45472)+11)/* abbrLockProcess←v4372 */ , (( (ptr) formal←c45504)+9), 2)) ? ((* (( (ptr) gf←c45472)+13)
/* abbrLockCount←v4400 */ ) != 0) : 0 ) ) {
}
else {
goto lab←L100106;
};
SOURCE(13495, 25)
(void) (XR←Wait((word) (( (bPt) gf←c45472)+16)/* LOCK←v3504 */ , (word) (( (bPt) gf←c45472)+56)/* abbrLockFree←v4428 */ )
);
goto lab←L100108;
lab←L100106: ;
SOURCE(13522, 20)
(* (W2Pt) (( (ptr) gf←c45472)+11)/* abbrLockProcess←v4372 */ ) = (* (W2Pt) (( (ptr) formal←c45504)+9) );
SOURCE(13544, 33)
(* (( (ptr) gf←c45472)+13)/* abbrLockCount←v4400 */ ) = ((* (( (ptr) gf←c45472)+13)/* abbrLockCount←v4400 */ ) + 1);
SOURCE(13423, 154)
(void) (XR←MonitorExit((word) (( (bPt) gf←c45472)+16)/* LOCK←v3504 */ ));
return;
}
static void Unlock←P2580(formal←c45568)
word formal←c45568;
{
register ptr gf←c45536 = (ptr) &globalframe;
formal←c45568 = (formal←c45568 - 20);
/* Unlock: */
SOURCE(13582, 127)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c45536)+16)/* LOCK←v3504 */ ));
SOURCE(13605, 33)
(* (( (ptr) gf←c45536)+13)/* abbrLockCount←v4400 */ ) = ((* (( (ptr) gf←c45536)+13)/* abbrLockCount←v4400 */ ) - 1);
SOURCE(13640, 69)
if (((* (( (ptr) gf←c45536)+13)/* abbrLockCount←v4400 */ ) == 0)) {
SOURCE(13667, 21)
{
word tmpAddr182;
tmpAddr182 = (word) (( (ptr) gf←c45536)+11)/* abbrLockProcess←v4372 */ ;
(* (ptr) tmpAddr182 ) = 0;
(* (( (ptr) tmpAddr182) + 1) ) = 0;
};
SOURCE(13690, 19)
(void) (XR←Notify((word) (( (bPt) gf←c45536)+56)/* abbrLockFree←v4428 */ ));
};
SOURCE(13582, 127)
(void) (XR←MonitorExit((word) (( (bPt) gf←c45536)+16)/* LOCK←v3504 */ ));
return;
}
static word ValidateAll←P1080()
{
W7 var←c45600;
/* declaration of changed←v7972 skipped */
/* declaration of var←c43968 skipped */
/* ValidateAll: */
SOURCE(13813, 263)
{
word tmpAddr183;
tmpAddr183 = (word) (( (ptr) &var←c45600)+5)/* var←c43968 */ ;
(* (ptr) tmpAddr183 ) = ( ((word) (fPt) Locked←P2640) );
(* (( (ptr) tmpAddr183) + 1) ) = 1;
};
SOURCE(13813, 263)
var←c45600.f4/* changed←v7972 */ = 0;
SOURCE(14060, 16)
(void) DoLocked←P1020((word) ((( (bPt) &var←c45600)+20)/* var←c43968 */ ));
SOURCE(13813, 263)
return(var←c45600.f4/* changed←v7972 */ );
}
static void Locked←P2640(formal←c45696)
word formal←c45696;
{
W6 var←c45632;
register ptr gf←c45664 = (ptr) &globalframe;
/* declaration of var←c44000 skipped */
formal←c45696 = (formal←c45696 - 20);
var←c45632.f0 = formal←c45696;
/* Locked: */
SOURCE(13874, 181)
{
word tmpAddr184;
tmpAddr184 = (word) (( (ptr) &var←c45632)+4)/* var←c44000 */ ;
(* (ptr) tmpAddr184 ) = ( ((word) (fPt) Action←P2700) );
(* (( (ptr) tmpAddr184) + 1) ) = 1;
};
SOURCE(14017, 38)
{
word var←c44032;
word pd185;
pd185 = (* (( (ptr) (* (( (ptr) gf←c45664)+88)/* var←c39104 */ ))+13) );
var←c44032 = (word) ( *( (fPt) ((* (ptr) pd185 ))))((* (( (ptr) gf←c45664)+20)/* fileForAbbr←v4484 */ ), (word) (( (bPt) &var←c45632)+16)
/* var←c44000 */ , pd185);
};
}
static word Action←P2700(key←v11184, val←v11212, formal←c45760)
word key←v11184;
word val←v11212;
word formal←c45760;
{
register ptr gf←c45728 = (ptr) &globalframe;
word quit←v11280;
word var←c44064;
formal←c45760 = (formal←c45760 - 16);
/* Action: */
SOURCE(13891, 123)
SOURCE(13953, 44)
var←c44064 = XR←Narrow(key←v11184, (* (( (ptr) gf←c45728)+23) ));
if ((0 != (word) Validate←P1140(var←c44064))) {
SOURCE(13983, 14)
(* (( (ptr) (* (ptr) formal←c45760 ))+4) ) = 1;
};
SOURCE(13999, 15)
return(0);
}
static word Validate←P1140(formal←c0561)
word formal←c0561;
{
W8 var←c45792;
/* declaration of name←v8032 skipped */
/* declaration of changed←v8076 skipped */
/* declaration of var←c44096 skipped */
var←c45792.f4/* name←v8032 */ = formal←c0561;
/* Validate: */
SOURCE(14082, 347)
{
word tmpAddr186;
tmpAddr186 = (word) (( (ptr) &var←c45792)+6)/* var←c44096 */ ;
(* (ptr) tmpAddr186 ) = ( ((word) (fPt) Locked←P2760) );
(* (( (ptr) tmpAddr186) + 1) ) = 1;
};
SOURCE(14082, 347)
var←c45792.f5/* changed←v8076 */ = 0;
SOURCE(14413, 16)
(void) DoLocked←P1020((word) ((( (bPt) &var←c45792)+24)/* var←c44096 */ ));
SOURCE(14082, 347)
return(var←c45792.f5/* changed←v8076 */ );
}
static void Locked←P2760(formal←c45856)
word formal←c45856;
{
register ptr gf←c45824 = (ptr) &globalframe;
word fileID←v11368;
word oldFileID←v11396;
formal←c45856 = (formal←c45856 - 24);
/* Locked: */
SOURCE(14153, 254)
SOURCE(14170, 32)
fileID←v11368 = (word) GetFileID←P960((* ((( (ptr) formal←c45856)+4)) ));
SOURCE(14204, 63)
{
W2 var←c0394;
word var←c0511;
{
word pd187;
pd187 = (* (( (ptr) (* (( (ptr) gf←c45824)+88)/* var←c39104 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd187 ))))((word) &var←c0394, (* (( (ptr) gf←c45824)+20)/* fileForAbbr←v4484 */ ), (* (( (ptr) formal←c45856)+4)
), pd187);
};
var←c0511 = var←c0394.f1;
oldFileID←v11396 = XR←Narrow(var←c0511, (* (( (ptr) gf←c45824)+22) ));
};
SOURCE(14269, 138)
if (((oldFileID←v11396 == 0) || (fileID←v11368 == 0)) || (0 != (word) Same←P900(fileID←v11368, oldFileID←v11396))) {
SOURCE(14336, 21)
(* (( (ptr) formal←c45856)+5) ) = 0;
}
else {
SOURCE(14359, 31)
{
W2 var←c44128;
(void) LoadInternal←P60((word) &var←c44128, (* (( (ptr) formal←c45856)+4) ), fileID←v11368);
};
SOURCE(14392, 15)
(* (( (ptr) formal←c45856)+5) ) = 1;
};
}
static void NoName←Q6480(formal←c0401, formal←c200028, formal←c200029, formal←c200030, formal←c200031)
word formal←c0401;
word formal←c200028;
word formal←c200029;
word formal←c200030;
word formal←c200031;
{
if ((formal←c200029 == XR←Unwind)) {
SOURCE(13743, 9)
(void) Unlock←P2580((word) ((( (bPt) formal←c200028)+20)));
};
(* (ptr) formal←c0401 ) = 0;
(* (( (ptr) formal←c0401)+1) ) = 0;
return;
}
static void NoName←Q6540(formal←c0407, formal←c200024, formal←c200025, formal←c200026, formal←c200027)
word formal←c0407;
word formal←c200024;
word formal←c200025;
word formal←c200026;
word formal←c200027;
{
register ptr gf←c0493 = (ptr) &globalframe;
if ((formal←c200025 == (* (( (ptr) (* (( (ptr) gf←c0493)+90)/* var←c39360 */ ))+9) ))) {
{
W4 error←v35376;
error←v35376 = (* (W4Pt) formal←c200027 );
SOURCE(13116, 9)
(* (ptr) formal←c0407 ) = 2;
(* (( (ptr) formal←c0407)+1) ) = 5;
return;
};
};
(* (ptr) formal←c0407 ) = 0;
(* (( (ptr) formal←c0407)+1) ) = 0;
return;
}
static void NoName←Q6600(formal←c0414, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
word formal←c0414;
word formal←c200020;
word formal←c200021;
word formal←c200022;
word formal←c200023;
{
register ptr gf←c0494 = (ptr) &globalframe;
if ((formal←c200021 == (* (( (ptr) (* (( (ptr) gf←c0494)+101)/* var←c43360 */ ))+22) ))) {
{
word signal←v35288;
word parameters←v35316;
signal←v35288 = (* (ptr) formal←c200023 );
parameters←v35316 = (* (( (ptr) formal←c200023)+1) );
SOURCE(12272, 9)
(* (ptr) formal←c0414 ) = 2;
(* (( (ptr) formal←c0414)+1) ) = 4;
return;
};
};
(* (ptr) formal←c0414 ) = 0;
(* (( (ptr) formal←c0414)+1) ) = 0;
return;
}
static void NoName←Q6660(formal←c0419, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
word formal←c0419;
word formal←c200016;
word formal←c200017;
word formal←c200018;
word formal←c200019;
{
register ptr gf←c0495 = (ptr) &globalframe;
if ((formal←c200017 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0495)+16)/* LOCK←v3504 */ ));
};
(* (ptr) formal←c0419 ) = 0;
(* (( (ptr) formal←c0419)+1) ) = 0;
return;
}
static void NoName←Q6720(formal←c0424, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
word formal←c0424;
word formal←c200012;
word formal←c200013;
word formal←c200014;
word formal←c200015;
{
register ptr gf←c0496 = (ptr) &globalframe;
if ((formal←c200013 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0496)+16)/* LOCK←v3504 */ ));
};
(* (ptr) formal←c0424 ) = 0;
(* (( (ptr) formal←c0424)+1) ) = 0;
return;
}
static void NoName←Q6780(formal←c0429, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
word formal←c0429;
word formal←c200008;
word formal←c200009;
word formal←c200010;
word formal←c200011;
{
register ptr gf←c0497 = (ptr) &globalframe;
if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0497)+89)/* var←c39264 */ ))+4) ))) {
SOURCE(4237, 8)
(* (ptr) formal←c0429 ) = 2;
(* (( (ptr) formal←c0429)+1) ) = 3;
return;
};
(* (ptr) formal←c0429 ) = 0;
(* (( (ptr) formal←c0429)+1) ) = 0;
return;
}
static void NoName←Q6840(formal←c0434, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0434;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
register ptr gf←c0498 = (ptr) &globalframe;
if ((formal←c200005 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0498)+16)/* LOCK←v3504 */ ));
};
(* (ptr) formal←c0434 ) = 0;
(* (( (ptr) formal←c0434)+1) ) = 0;
return;
}
static void NoName←Q6900(formal←c0440, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0440;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0499 = (ptr) &globalframe;
if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0499)+90)/* var←c39360 */ ))+9) ))) {
{
W4 error←v33760;
error←v33760 = (* (W4Pt) formal←c200003 );
SOURCE(2538, 61)
{
word pd188;
pd188 = (* (( (ptr) (* (( (ptr) gf←c0499)+92)/* var←c39424 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd188 ))))((* (( (ptr) gf←c0499)+38) ), 3, (* (( (ptr) gf←c0499)+33) ), error←v33760.f2, pd188)
;
};
SOURCE(2601, 36)
{
word pd189;
pd189 = (* (( (ptr) (* (( (ptr) gf←c0499)+92)/* var←c39424 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd189 ))))((* (( (ptr) gf←c0499)+38) ), (* (( (ptr) gf←c0499)+33) ), pd189);
};
SOURCE(2639, 8)
(* (ptr) formal←c0440 ) = 2;
(* (( (ptr) formal←c0440)+1) ) = 2;
return;
};
};
(* (ptr) formal←c0440 ) = 0;
(* (( (ptr) formal←c0440)+1) ) = 0;
return;
}
/* file: AbbrevExpandImpl, module: AbbrevExpandImpl, compiled at: March 13, 1992 11:30:38 am PST */
extern void XR←install←AbbrevExpandImpl() {
NoName←Q5940();
}
extern void XR←run←AbbrevExpandImpl() { XR←Start(&globalframe); }