DIRECTORY Basics, RedBlackTree, Rope, RoseTranslateTypes, SignalTypeRegistration; SignalTypeRegistrationImpl: CEDAR PROGRAM IMPORTS RedBlackTree, Rope EXPORTS SignalTypeRegistration = BEGIN OPEN RoseTranslateTypes; defaultNodeType: PUBLIC ROPE _ NIL; signalTypes: PUBLIC SymbolTable _ RedBlackTree.Create[GetSymbolTableEntryKey, CompareSymbolTableEntries]; GetSymbolTableEntryKey: PUBLIC PROC [data: REF ANY] RETURNS [key: ROPE] --RedBlackTree.GetKey-- = {ste: SymbolTableEntry _ NARROW[data]; key _ ste.name}; CompareSymbolTableEntries: PUBLIC PROC [k, data: REF ANY] RETURNS [c: Basics.Comparison] --RedBlackTree.Compare-- = BEGIN s1: ROPE _ NARROW[k]; s2: ROPE _ GetSymbolTableEntryKey[data]; c _ s1.Compare[s2, FALSE]; END; RegisterNodeTypeConstructor: PUBLIC PROC [name: ROPE, stc: NodeTypeConstructor] = BEGIN signalTypes.Insert[NEW [SymbolTableEntryRep[nodeTypeConstructor] _ [name: name, value: nodeTypeConstructor[stc: stc]]], name]; END; SetDefaultNodeType: PUBLIC PROC [rope: ROPE] = {defaultNodeType _ rope}; END. v[Indigo]2.3>SignalTypeRegistrationImpl.Mesa Last Edited by: Spreitzer, July 11, 1985 10:23:50 pm PDT Κ†– "cedar" style˜Icode™5J™8K˜KšΟk œH˜QK˜šΠbxœœ˜)Kšœ˜Kšœ˜ —K˜Kšœœ˜K˜Kšœœœœ˜#K˜Kšœ œV˜iK˜šΟnœœœœœœœΟcœ˜aKšœœ˜7—K˜šŸœœœ œœœ œ˜sKš˜Kšœœœ˜Kšœœ ˜(Kšœœ˜Kšœ˜—K˜šŸœœœœ˜QKš˜Kšœœh˜~Kšœ˜—K˜KšŸœœœœ˜HK˜Kšœ˜—…—