/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 6, 1993 9:24:13 am PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: DecomposerRegistryImpl, module: DecomposerRegistryImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [2383660275,3905436150] DecomposerRegistryImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; #define SOURCE(p, l) /* source p, l */ #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static void NoName←Q1308(); static void DecomposerRegistryImpl←P0(); static void Register←P60(); static void UnRegister←P120(); static word Lookup←P180(); static word Enumerate←P240(); static word MakeBoolVal←P300(); static word MakeCardVal←P360(); static word MakeIntVal←P420(); static word MakeTimeVal←P480(); static word MakeTextVal←P540(); static word MakeSeqVal1←P600(); static word MakeSeqVal2←P660(); static word MakeSeqValList←P720(); static struct {unsigned f; char r[48];} string1 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\125\320\113\245\300\331\322\350\010\102\014\005\004\162\145\163\164\214\216\257\300\125\320\113\245\300\331\322\350\010\102\014\261\000\000\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\125\320\113\245\300\331\322\350\010\100\274\000\000"}; static struct {unsigned f; char r[16];} string4 = {786444, "\007\000\040\007\000\000\000\000\003\001\000\013\000\000\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\125\320\113\245\300\331\322\350\010\101\064\000\000"}; static struct {unsigned f; char r[12];} string6 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\216\023\304\363\300\350\310\071\366\100\150\000\000"}; static struct {unsigned f; char r[4];} string8 = {131074, "\003\010\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\125\320\113\245\300\331\322\350\010\100\150\000\000"}; static struct { word f0[15]; word f15; word f16; word f17; word f18; word f19; word f20; word f21; word f22; word f23; word f24; word f25; word f26; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39; word f40[2]; } globalframe = { {0}, (word) MakeSeqValList←P720, 0, (word) MakeSeqVal2←P660, 0, (word) MakeSeqVal1←P600, 0, (word) MakeTextVal←P540, 0, (word) MakeTimeVal←P480, 0, (word) MakeIntVal←P420, 0, (word) MakeCardVal←P360, 0, (word) MakeBoolVal←P300, 0, (word) Enumerate←P240, 0, (word) Lookup←P180, 0, (word) UnRegister←P120, 0, (word) Register←P60, 0, (word) DecomposerRegistryImpl←P0, {0} }; static void NoName←Q1308() { register ptr gf←c073 = (ptr) &globalframe; word var←c7908; (* (( (ptr) gf←c073)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c073)+11) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c073)+13) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6); (void) XR←DeclareGlobalFrame((word) "DecomposerRegistryImpl", &globalframe, (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8) , (word) (( (bPt) gf←c073)+156)/* var←c7076 */ ); var←c7908 = (word) XR←ExportInterface((word) "DecomposerRegistry", (word) XR←GetTypeIndexS((word) (&string9)), 12); (* (( (ptr) gf←c073)+41)/* var←c7876 */ ) = var←c7908; (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+148)/* var←c7044 */ , 262145, (word) "Register"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+140)/* var←c7012 */ , 262401, (word) "UnRegister"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+132)/* var←c6980 */ , 67371521, (word) "Lookup"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+124)/* var←c6948 */ , 67109632, (word) "Enumerate"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+116)/* var←c6916 */ , 67372033, (word) "MakeBoolVal"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+108)/* var←c6884 */ , 67372289, (word) "MakeCardVal"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+100)/* var←c6852 */ , 67372545, (word) "MakeIntVal"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+92)/* var←c6820 */ , 67372801, (word) "MakeTimeVal"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+84)/* var←c6788 */ , 67373057, (word) "MakeTextVal"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+76)/* var←c6756 */ , 67373313, (word) "MakeSeqVal1"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+68)/* var←c6724 */ , 67635714, (word) "MakeSeqVal2"); (void) XR←ExportProcS(var←c7908, (word) (( (bPt) gf←c073)+60)/* var←c6692 */ , 67373825, (word) "MakeSeqValList"); } static void DecomposerRegistryImpl←P0(formal←c020, formal←c019) word formal←c020; word formal←c019; { /* DecomposerRegistryImpl: */ } static void Register←P60(data←v3020) word data←v3020; { register ptr gf←c7940 = (ptr) &globalframe; /* Register: */ SOURCE(223, 275) (void) (XR←MonitorEntry((word) (( (bPt) gf←c7940)+16)/* LOCK←v2464 */ )); SOURCE(278, 220) if ((data←v3020 != 0)) { SOURCE(299, 156) { register word each←v4300; each←v4300 = (* (( (ptr) gf←c7940)+8)/* registry←v2520 */ ); lab←L100003: ; if ((each←v4300 != 0)) { } else { goto lab←L100000; }; { word first←v4344; SOURCE(364, 34) first←v4344 = (* (ptr) each←v4300 ); SOURCE(400, 55) if (((* (ptr) first←v4344 ) == (* (ptr) data←v3020 ))) { SOURCE(430, 17) (* (ptr) each←v4300 ) = data←v3020; SOURCE(449, 6) (void) (XR←MonitorExit((word) (( (bPt) gf←c7940)+16)/* LOCK←v2464 */ )); return; }; }; each←v4300 = (* (( (ptr) each←v4300)+1) ); goto lab←L100003; lab←L100000: ; }; SOURCE(467, 31) { word var←c7108; var←c7108 = XR←NewObject(8, (* (( (ptr) gf←c7940)+10) )); (* (ptr) var←c7108 ) = data←v3020; (* (( (ptr) var←c7108)+1) ) = (* (( (ptr) gf←c7940)+8)/* registry←v2520 */ ); (* (( (ptr) gf←c7940)+8)/* registry←v2520 */ ) = var←c7108; }; }; SOURCE(223, 275) (void) (XR←MonitorExit((word) (( (bPt) gf←c7940)+16)/* LOCK←v2464 */ )); return; } static void UnRegister←P120(data←v3080) word data←v3080; { register ptr gf←c7972 = (ptr) &globalframe; /* UnRegister: */ SOURCE(506, 319) (void) (XR←MonitorEntry((word) (( (bPt) gf←c7972)+16)/* LOCK←v2464 */ )); SOURCE(563, 262) if ((data←v3080 != 0)) { SOURCE(582, 254) { word lag←v4388 = 0; SOURCE(609, 216) { register word each←v4432; each←v4432 = (* (( (ptr) gf←c7972)+8)/* registry←v2520 */ ); lab←L100007: ; if ((each←v4432 != 0)) { } else { goto lab←L100004; }; { word first←v4476; SOURCE(674, 34) first←v4476 = (* (ptr) each←v4432 ); SOURCE(710, 100) if (((* (ptr) each←v4432 ) == data←v3080)) { SOURCE(738, 64) if ((lag←v4388 == 0)) { SOURCE(756, 26) (* (( (ptr) gf←c7972)+8)/* registry←v2520 */ ) = (* (( (ptr) each←v4432)+1) ); } else { SOURCE(782, 20) (* (( (ptr) lag←v4388)+1) ) = (* (( (ptr) each←v4432)+1) ); }; SOURCE(804, 6) (void) (XR←MonitorExit((word) (( (bPt) gf←c7972)+16)/* LOCK←v2464 */ )); return; }; SOURCE(815, 10) lag←v4388 = each←v4432; }; each←v4432 = (* (( (ptr) each←v4432)+1) ); goto lab←L100007; lab←L100004: ; }; }; }; SOURCE(506, 319) (void) (XR←MonitorExit((word) (( (bPt) gf←c7972)+16)/* LOCK←v2464 */ )); return; } static word Lookup←P180(key←v3140) word key←v3140; { register ptr gf←c8004 = (ptr) &globalframe; word var←c3184; /* Lookup: */ SOURCE(843, 229) (void) (XR←MonitorEntry((word) (( (bPt) gf←c8004)+16)/* LOCK←v2464 */ )); SOURCE(910, 139) { register word each←v4520; each←v4520 = (* (( (ptr) gf←c8004)+8)/* registry←v2520 */ ); lab←L100011: ; if ((each←v4520 != 0)) { } else { goto lab←L100008; }; { word first←v4564; SOURCE(975, 34) first←v4564 = (* (ptr) each←v4520 ); SOURCE(1011, 38) if (((* (ptr) first←v4564 ) == key←v3140)) { SOURCE(1035, 14) (void) (XR←MonitorExit((word) (( (bPt) gf←c8004)+16)/* LOCK←v2464 */ )); return(first←v4564); }; }; each←v4520 = (* (( (ptr) each←v4520)+1) ); goto lab←L100011; lab←L100008: ; }; SOURCE(1060, 12) (void) (XR←MonitorExit((word) (( (bPt) gf←c8004)+16)/* LOCK←v2464 */ )); return(0); } static word Enumerate←P240() { register ptr gf←c8036 = (ptr) &globalframe; word var←c3244; word head←v4608 = 0; word tail←v4636 = 0; /* Enumerate: */ SOURCE(1077, 307) (void) (XR←MonitorEntry((word) (( (bPt) gf←c8036)+16)/* LOCK←v2464 */ )); SOURCE(1195, 165) { register word each←v4680; each←v4680 = (* (( (ptr) gf←c8036)+8)/* registry←v2520 */ ); lab←L100015: ; if ((each←v4680 != 0)) { } else { goto lab←L100012; }; { word new←v4724; SOURCE(1260, 36) new←v4724 = XR←NewObject(8, (* (( (ptr) gf←c8036)+10) )); { word var←c7172; var←c7172 = new←v4724; (* (ptr) var←c7172 ) = (* (ptr) each←v4680 ); }; SOURCE(1298, 50) if ((tail←v4636 == 0)) { SOURCE(1317, 16) head←v4608 = new←v4724; } else { SOURCE(1333, 15) (* (( (ptr) tail←v4636)+1) ) = new←v4724; }; SOURCE(1350, 10) tail←v4636 = new←v4724; }; each←v4680 = (* (( (ptr) each←v4680)+1) ); goto lab←L100015; lab←L100012: ; }; SOURCE(1371, 13) (void) (XR←MonitorExit((word) (( (bPt) gf←c8036)+16)/* LOCK←v2464 */ )); return(head←v4608); } static word MakeBoolVal←P300(b←v3388) word b←v3388; { register ptr gf←c8068 = (ptr) &globalframe; word var←c3432; /* MakeBoolVal: */ SOURCE(1390, 100) SOURCE(1445, 45) { word var←c7236; var←c7236 = XR←NewObject(8, (* (( (ptr) gf←c8068)+11) )); (* (ptr) var←c7236 ) = 2; (* (( (ptr) var←c7236)+1) ) = b←v3388; return(var←c7236); }; } static word MakeCardVal←P360(c←v3492) word c←v3492; { register ptr gf←c8100 = (ptr) &globalframe; word var←c3536; /* MakeCardVal: */ SOURCE(1496, 104) SOURCE(1553, 47) { word var←c7300; var←c7300 = XR←NewObject(8, (* (( (ptr) gf←c8100)+11) )); (* (( (ptr) var←c7300)+1) ) = c←v3492; return(var←c7300); }; } static word MakeIntVal←P420(i←v3596) word i←v3596; { register ptr gf←c8132 = (ptr) &globalframe; word var←c3640; /* MakeIntVal: */ SOURCE(1606, 100) SOURCE(1661, 45) { word var←c7364; var←c7364 = XR←NewObject(8, (* (( (ptr) gf←c8132)+11) )); (* (ptr) var←c7364 ) = 1; (* (( (ptr) var←c7364)+1) ) = i←v3596; return(var←c7364); }; } static word MakeTimeVal←P480(gmt←v3700) word gmt←v3700; { register ptr gf←c8164 = (ptr) &globalframe; word var←c3744; /* MakeTimeVal: */ SOURCE(1712, 107) SOURCE(1778, 41) { word var←c7428; var←c7428 = XR←NewObject(8, (* (( (ptr) gf←c8164)+11) )); (* (ptr) var←c7428 ) = 5; (* (( (ptr) var←c7428)+1) ) = gmt←v3700; return(var←c7428); }; } static word MakeTextVal←P540(rope←v3804) word rope←v3804; { register ptr gf←c8196 = (ptr) &globalframe; word var←c3848; /* MakeTextVal: */ SOURCE(1825, 105) SOURCE(1888, 42) { word var←c7492; var←c7492 = XR←NewObject(8, (* (( (ptr) gf←c8196)+11) )); (* (ptr) var←c7492 ) = 4; (* (( (ptr) var←c7492)+1) ) = rope←v3804; return(var←c7492); }; } static word MakeSeqVal1←P600(val←v3908) word val←v3908; { register ptr gf←c8228 = (ptr) &globalframe; word var←c3952; word seq←v4768; /* MakeSeqVal1: */ SOURCE(1936, 158) SOURCE(1994, 35) seq←v4768 = XR←NewObject(8, (* (( (ptr) gf←c8228)+13) )); (* (ptr) seq←v4768 ) = 1; SOURCE(2031, 12) { word limit10; (* ((( (ptr) seq←v4768)+1)+( limit10 = (* (ptr) seq←v4768 ), BCK(0, limit10) )) ) = val←v3908; }; SOURCE(2045, 49) { word var←c7588; var←c7588 = XR←NewObject(8, (* (( (ptr) gf←c8228)+11) )); (* (ptr) var←c7588 ) = 6; (* (( (ptr) var←c7588)+1) ) = seq←v4768; return(var←c7588); }; } static word MakeSeqVal2←P660(val1←v4012, val2←v4040) word val1←v4012; word val2←v4040; { register ptr gf←c8260 = (ptr) &globalframe; word var←c4084; word seq←v4812; /* MakeSeqVal2: */ SOURCE(2100, 181) SOURCE(2165, 35) seq←v4812 = XR←NewObject(12, (* (( (ptr) gf←c8260)+13) )); (* (ptr) seq←v4812 ) = 2; SOURCE(2202, 13) { word limit11; (* ((( (ptr) seq←v4812)+1)+( limit11 = (* (ptr) seq←v4812 ), BCK(0, limit11) )) ) = val1←v4012; }; SOURCE(2217, 13) { word limit12; (* ((( (ptr) seq←v4812)+1)+( limit12 = (* (ptr) seq←v4812 ), BCK(1, limit12) )) ) = val2←v4040; }; SOURCE(2232, 49) { word var←c7684; var←c7684 = XR←NewObject(8, (* (( (ptr) gf←c8260)+11) )); (* (ptr) var←c7684 ) = 6; (* (( (ptr) var←c7684)+1) ) = seq←v4812; return(var←c7684); }; } static word MakeSeqValList←P720(list←v4144) word list←v4144; { register ptr gf←c8292 = (ptr) &globalframe; word var←c4272; word seq←v4856 = 0; word n←v4884 = 0; /* MakeSeqValList: */ SOURCE(2287, 371) SOURCE(2390, 71) { register word each←v4928; each←v4928 = list←v4144; lab←L100019: ; if ((each←v4928 != 0)) { } else { goto lab←L100016; }; SOURCE(2452, 9) n←v4884 = (n←v4884 + 1); each←v4928 = (* (( (ptr) each←v4928)+1) ); goto lab←L100019; lab←L100016: ; }; SOURCE(2472, 25) { word var←c7716; word var←c7748; word var←c7780; var←c7716 = BCK(n←v4884, 67108863); var←c7748 = ((word) var←c7716 << 2); var←c7780 = XR←NewObject((4 + var←c7748), (* (( (ptr) gf←c8292)+13) )); (* (ptr) var←c7780 ) = var←c7716; seq←v4856 = var←c7780; }; SOURCE(2499, 5) n←v4884 = 0; SOURCE(2506, 92) { register word each←v5056; each←v5056 = list←v4144; lab←L100023: ; if ((each←v5056 != 0)) { } else { goto lab←L100020; }; SOURCE(2568, 19) { word limit13; (* ((( (ptr) seq←v4856)+1)+( limit13 = (* (ptr) seq←v4856 ), BCK(n←v4884, limit13) )) ) = (* (ptr) each←v5056 ); }; SOURCE(2589, 9) n←v4884 = (n←v4884 + 1); each←v5056 = (* (( (ptr) each←v5056)+1) ); goto lab←L100023; lab←L100020: ; }; SOURCE(2609, 49) { word var←c7844; var←c7844 = XR←NewObject(8, (* (( (ptr) gf←c8292)+11) )); (* (ptr) var←c7844 ) = 6; (* (( (ptr) var←c7844)+1) ) = seq←v4856; return(var←c7844); }; } /* file: DecomposerRegistryImpl, module: DecomposerRegistryImpl, compiled at: July 6, 1993 9:24:13 am PDT */ extern void XR←install←DecomposerRegistryImpl() { NoName←Q1308(); } extern void XR←run←DecomposerRegistryImpl() { XR←Start(&globalframe); }