DIRECTORY OrderedSymbolTableRef, Rope, RoseTranslateTypes, SignalTypeRegistration; SignalTypeRegistrationImpl: CEDAR PROGRAM IMPORTS OrderedSymbolTableRef, Rope EXPORTS SignalTypeRegistration = BEGIN OPEN RoseTranslateTypes; defaultNodeType: PUBLIC ROPE _ NIL; signalTypes: PUBLIC SymbolTable _ OrderedSymbolTableRef.CreateTable[CompareSymbolTableEntries]; CompareSymbolTableEntries: PUBLIC OrderedSymbolTableRef.CompareProc = BEGIN s1, s2: ROPE; s1 _ WITH r1 SELECT FROM r: ROPE => r, st: SymbolTableEntry => st.name, ENDCASE => ERROR; s2 _ WITH r2 SELECT FROM r: ROPE => r, st: SymbolTableEntry => st.name, ENDCASE => ERROR; RETURN [s1.Compare[s2, FALSE]]; END; RegisterNodeTypeConstructor: PUBLIC PROC [name: ROPE, stc: NodeTypeConstructor] = BEGIN signalTypes.Insert[NEW [SymbolTableEntryRep[nodeTypeConstructor] _ [name: name, value: nodeTypeConstructor[stc: stc]]]]; END; SetDefaultNodeType: PUBLIC PROC [rope: ROPE] = {defaultNodeType _ rope}; END. v[Indigo]2.3>SignalTypeRegistrationImpl.Mesa Last Edited by: Spreitzer, March 10, 1984 1:28:03 pm PST ΚŽ– "cedar" style˜Icode™5J™8K˜KšΟk œI˜RK˜šΠbxœœ˜)Kšœ˜#Kšœ˜ —K˜Kšœœ˜K˜Kšœœœœ˜#K˜Kšœ œL˜_K˜šœœ$˜EKš˜Kšœœ˜ šœœœ˜Kšœœ˜ Kšœ ˜ Kšœœ˜—šœœœ˜Kšœœ˜ Kšœ ˜ Kšœœ˜—Kšœœ˜Kšœ˜—K˜šΟnœœœœ˜QKš˜Kšœœb˜xKšœ˜—K˜KšŸœœœœ˜HK˜Kšœ˜—…—ΖΚ