Names.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
Christian LeCocq September 11, 1986 11:09:03 am PDT
Mangement of a set of simple ropes in a space efficient way.
DIRECTORY
HashTable USING [Table, HashProc, EqualProc],
Rope USING [ROPE];
Names: CEDAR DEFINITIONS
~ BEGIN
ROPE: TYPE ~ Rope.ROPE;
Index: TYPE ~ CARDINAL;
Heading
Name: TYPE ~ LIST OF Index;
Description of the type.
Dictionnary: TYPE ~ REF NameTabRec;
NameTabRec: TYPE ~ RECORD [next: Index, data: REF NIL, invtab: HashTable.Table, tab: REF TabRec];
TabRec: TYPE ~ RECORD [SEQUENCE size: Index OF ROPE];
Description of the type.
CreateDictionnary: PROC [size: Index ← 64, data: REF NIL] RETURNS [dict: Dictionnary];
Description of the procedure.
NameFromRope: PROC [r: ROPE, in: Dictionnary, sep: ROPE] RETURNS [name: Name ← NIL];
Description of the procedure.
NameFromRopeWord: PROC [r: ROPE, in: Dictionnary] RETURNS [name: Name ← NIL];
Description of the procedure.
RopeFromName: PROC [name: Name, in: Dictionnary, sep: ROPE] RETURNS [r: ROPENIL];
Description of the procedure.
AppendRopeToName: PROC [name: Name, r: ROPE, in: Dictionnary, sep: ROPE] RETURNS [newName: Name];
Description of the procedure.
AppendRopeWordToName: PROC [name: Name, r: ROPE, in: Dictionnary] RETURNS [newName: Name];
Description of the procedure.
Equal: PROC [n1, n2: Name] RETURNS [eq: BOOLEAN];
Description of the procedure.
NameEqual: HashTable.EqualProc;
Description of the procedure.
HashName: HashTable.HashProc;
Description of the procedure.
END.