LichenNavigation:
CEDAR
DEFINITIONS = {
OPEN LichenDataStructure;
CTByName: PROC [d: Design, name: ROPE] RETURNS [CellType];
CTsByName: PROC [d: Design, pattern: ROPE, case: BOOL ← TRUE, literal: BOOL ← FALSE] RETURNS [Set--of CellType--];
PortByName: PROC [root: Port, name: ROPE] RETURNS [Port];
PortsByName: PROC [root: Port, pattern: ROPE, case: BOOL ← TRUE, literal: BOOL ← FALSE] RETURNS [Set--of Port--];
WireByName: PROC [ct: CellType, name: ROPE] RETURNS [Vertex];
WiresByName: PROC [ct: CellType, pattern: ROPE, case: BOOL ← TRUE, literal: BOOL ← FALSE] RETURNS [Set--of Wire--];
ChildByName: PROC [ct: CellType, name: ROPE] RETURNS [Vertex];
ChildrenByName: PROC [ct: CellType, pattern: ROPE, case: BOOL ← TRUE, literal: BOOL ← FALSE] RETURNS [Set--of CellInstance--];
ChildByType: PROC [parent, type: CellType] RETURNS [CellInstance];
ChildrenByType: PROC [parent, type: CellType] RETURNS [Set--of CellInstance--];
FilterSet: PROC [big: Set, Test: PROC [ra: REF ANY] RETURNS [passes: BOOL]] RETURNS [filtered: Set];
instanceType: READONLY Function;
wireToChildren: READONLY OneToOne--Wire é Seq of child wires--;
portToChildren: READONLY OneToOne--Port é Seq of child ports--;
bestVertexShortName: READONLY Function--Vertex b SteppyName--;
bestPortShortName: READONLY Function--Port b SteppyName--;
vertexNames: READONLY Function--Vertex b Set(of SteppyName)--;
portNames: READONLY Function--Port b Set(of SteppyName)--;
}.