/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 21, 1992 11:10:13 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: PropImpl, module: PropImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [3789305198,1054607122] PropImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1;} W2; typedef W2 *W2Pt; typedef word (*fPt)(); #define SOURCE(p, l) /* source p, l */ static void NoName←Q504(); static void PropImpl←P0(); static word Zap←P60(); static word Get←P120(); static word Put←P180(); static word Rem←P240(); static word Map←P300(); static struct {unsigned f; char r[44];} string1 = {2752556, "\260\006\005\146\151\162\163\164\257\300\240\236\274\171\300\344\000\142\023\100\200\005\004\162\145\163\164\214\257\300\240\236\274\171\300\344\000\142\023\100\200\261\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\007\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\341\334\065\156\300\076\334\007\022\100\150\000\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\240\236\274\171\300\344\000\142\023\100\150\000\000"}; static struct { word f0[6]; word f6; word f7; word f8; word f9; word f10; word f11; word f12; word f13; word f14; word f15; word f16; word f17[2]; } globalframe = { {0}, (word) Map←P300, 0, (word) Rem←P240, 0, (word) Put←P180, 0, (word) Get←P120, 0, (word) Zap←P60, 0, (word) PropImpl←P0, {0} }; static void NoName←Q504() { register ptr gf←c035 = (ptr) &globalframe; word var←c4468; (* (( (ptr) gf←c035)+4) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (void) XR←DeclareGlobalFrame((word) "PropImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string3)), (word) (( (bPt) gf←c035)+64) /* var←c4276 */ ); var←c4468 = (word) XR←ExportInterface((word) "Prop", (word) XR←GetTypeIndexS((word) (&string4)), 4); (* (( (ptr) gf←c035)+18)/* var←c4436 */ ) = var←c4468; (void) XR←ExportProcS(var←c4468, (word) (( (bPt) gf←c035)+40)/* var←c4180 */ , 67895299); (void) XR←ExportProcS(var←c4468, (word) (( (bPt) gf←c035)+48)/* var←c4212 */ , 67633410); (void) XR←ExportProcS(var←c4468, (word) (( (bPt) gf←c035)+32)/* var←c4148 */ , 67633666); (void) XR←ExportProcS(var←c4468, (word) (( (bPt) gf←c035)+24)/* var←c4116 */ , 67633922); } static void PropImpl←P0(formal←c011, formal←c010) word formal←c011; word formal←c010; { /* PropImpl: */ } static word Zap←P60(propList←v2600, key←v2628) word propList←v2600; word key←v2628; { register ptr gf←c4500 = (ptr) &globalframe; word var←c2688; /* Zap: */ SOURCE(102, 310) SOURCE(166, 246) if ((propList←v2600 == 0)) { SOURCE(187, 18) return(0); } else { SOURCE(207, 205) if (((* (ptr) propList←v2600 ) == key←v2628)) { SOURCE(238, 28) return((* (( (ptr) propList←v2600)+2) )); } else { SOURCE(266, 148) { word remRest←v3332; SOURCE(268, 43) remRest←v3332 = (word) Zap←P60((* (( (ptr) propList←v2600)+2) ), key←v2628); SOURCE(313, 30) if (((* (( (ptr) propList←v2600)+2) ) == remRest←v3332)) { SOURCE(343, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(374, 38) { word var←c4340; var←c4340 = XR←NewObject(12, (* (( (ptr) gf←c4500)+4) )); (* (W2Pt) var←c4340 ) = (* (W2Pt) propList←v2600 ); (* (( (ptr) var←c4340)+2) ) = remRest←v3332; return(var←c4340); }; }; }; }; } static word Get←P120(propList←v2748, key←v2776) word propList←v2748; word key←v2776; { word val←v2832; /* Get: */ SOURCE(424, 201) SOURCE(424, 201) val←v2832 = 0; SOURCE(495, 108) { register word list←v3376; list←v3376 = propList←v2748; lab←L100003: ; if ((list←v3376 != 0)) { } else { goto lab←L100000; }; SOURCE(554, 49) if (((* (ptr) list←v3376 ) == key←v2776)) { SOURCE(581, 22) return((* (( (ptr) list←v3376)+1) )); }; list←v3376 = (* (( (ptr) list←v3376)+2) ); goto lab←L100003; lab←L100000: ; }; SOURCE(614, 11) return(0); } static word Put←P180(propList←v2904, key←v2932, val←v2960) word propList←v2904; word key←v2932; word val←v2960; { register ptr gf←c4532 = (ptr) &globalframe; word var←c3028; word old←v3420; /* Put: */ SOURCE(631, 326) SOURCE(712, 29) old←v3420 = (word) Get←P120(propList←v2904, key←v2932); SOURCE(743, 33) if ((val←v2960 == old←v3420)) { SOURCE(759, 17) return(propList←v2904); }; SOURCE(803, 45) if ((old←v3420 != 0)) { SOURCE(819, 29) propList←v2904 = (word) Zap←P60(propList←v2904, key←v2932); }; SOURCE(864, 63) if ((val←v2960 != 0)) { SOURCE(880, 47) { word var←c4372; var←c4372 = XR←NewObject(12, (* (( (ptr) gf←c4532)+4) )); (* (ptr) var←c4372 ) = key←v2932; (* (( (ptr) var←c4372)+1) ) = val←v2960; (* (( (ptr) var←c4372)+2) ) = propList←v2904; propList←v2904 = var←c4372; }; }; SOURCE(940, 17) return(propList←v2904); } static word Rem←P240(propList←v3088, key←v3116) word propList←v3088; word key←v3116; { word var←c3172; word old←v3476; /* Rem: */ SOURCE(963, 158) SOURCE(1034, 29) old←v3476 = (word) Get←P120(propList←v3088, key←v3116); SOURCE(1065, 56) if ((old←v3476 == 0)) { return(propList←v3088); } else { return((word) Zap←P60(propList←v3088, key←v3116)); }; } static word Map←P300(propList←v3232, action←v3260) word propList←v3232; word action←v3260; { word var←c3304; /* Map: */ SOURCE(1127, 219) SOURCE(1202, 119) { register word list←v3532; list←v3532 = propList←v3232; lab←L100007: ; if ((list←v3532 != 0)) { } else { goto lab←L100004; }; SOURCE(1261, 60) if ((0 != (word) ( *( (fPt) ((* (ptr) action←v3260 ))))((* (ptr) list←v3532 ), (* (( (ptr) list←v3532)+1) ), action←v3260) )) { SOURCE(1308, 13) return(1); }; list←v3532 = (* (( (ptr) list←v3532)+2) ); goto lab←L100007; lab←L100004: ; }; SOURCE(1332, 14) return(0); } /* file: PropImpl, module: PropImpl, compiled at: February 21, 1992 11:10:13 pm PST */ extern void XR←install←PropImpl() { NoName←Q504(); } extern void XR←run←PropImpl() { XR←Start(&globalframe); }