DIRECTORY CD; CDValue: CEDAR DEFINITIONS = BEGIN RegisterKey: PROC [key: REF, boundTo: CD.Technology _ NIL, registrationKey: REF _ NIL]; Propagation: TYPE = {design, technology, global}; Fetch: PROC [boundTo: REF _ NIL, key: REF, propagation: Propagation _ design] RETURNS [REF]; Store: PROC [boundTo: REF_NIL, key: REF, value: REF]; StoreConditional: PROC [boundTo: REF _ NIL, key: REF, value: REF] RETURNS [done: BOOL]; FetchInt: PROC [boundTo: REF _ NIL, key: REF, propagation: Propagation _ design, ifNotFound: INT _ 0] RETURNS [INT]; StoreInt: PROC [boundTo: REF _ NIL, key: REF, value: INT]; END. ζCDValue.mesa a ChipNDale module Copyright c 1983, 1986 by Xerox Corporation. All rights reserved. by Christian Jacobi, August 16, 1983 4:09 pm last change Christian Jacobi, March 13, 1986 2:29:52 pm PST Value storage for design, technology and global values. Values are not saved on files. --Register key to be used with CDValue --If boundTo=NIL enregister in all tables else in boundTo's(Technology) table. --registrationKey#NIL allows re-registration of the same key if the previous registration --used same registrationKey. Other re-registration raises CD.Error[doubleRegistration]. --on fetch: search starts at most local possible unit, if entry is not found, --search proceeds until unit is more global then SearchType --Store: says explicitely where to store --returns NIL if not found --boundTo either design, technology or NIL (global table) --value=NIL means remove entry --boundTo either design, technology or NIL (global table) --value=NIL means remove entry --boundTo either design, technology or NIL (global table) --stores new value (#NIL) only if no other value is stored. --boundTo either design, technology or NIL (global table) --returns ifNotFound if not found --boundTo either design, technology or NIL (global table) Κμ˜codešœ&™&Kšœ Οmœ7™BKšœ,™,Kšœ;™;—K˜šΟk ˜ Kšžœ˜—K˜KšΠlnœžœž œ˜Kšž˜K˜™7K™—K˜š Οn œžœžœ žœ žœž œ˜WKšœ&™&KšœN™NKšœZ™ZKšœX™X—K˜šœ žœ ˜1KšœM™MKšœ;™;Kšœ(™(—K˜š œžœ žœžœžœ%žœžœ˜\Kšœ™Kšœ9™9K˜—š  œžœ žœžœžœ žœ˜5Kšœ™Kšœ9™9K˜—š œžœ žœžœžœ žœžœžœ˜WKšœ™Kšœ9™9Kšœ;™;—K˜š œžœ žœžœžœ1žœžœžœ˜tKšœ9™9Kšœ!™!K˜—š  œžœ žœžœžœ žœ˜:Kšœ9™9—K˜Kšžœ˜K˜—…—l >