DIRECTORY Ascii USING [], Atom USING [], CD USING [Design, Instance, Number, Object], CDDirectory USING [], CDIO USING [], CDProperties USING [], Convert USING [], FS USING [], IO USING [STREAM], RefTab USING [], Rope USING [ROPE], SX USING [AreaPerimRec, Circuit, CircuitNode, LogicalCell, MergeRec, MergeRecList, NodeLinkage, SignalName, TechHandle], SXAtoms USING [], SXOutput USING [LinkageHousekeeper], SymTab USING [], TerminalIO USING [], TiogaOps USING []; SXOutputPrivate: CEDAR DEFINITIONS ~ BEGIN Circuit: TYPE ~ SX.Circuit; CircuitNode: TYPE ~ SX.CircuitNode; AreaPerimRec: TYPE ~ SX.AreaPerimRec; NodeLinkage: TYPE ~ SX.NodeLinkage; MergeRec: TYPE ~ SX.MergeRec; TechHandle: TYPE ~ SX.TechHandle; MergeRecList: TYPE ~ SX.MergeRecList; SignalName: TYPE ~ SX.SignalName; LogicalCell: TYPE ~ SX.LogicalCell; ROPE: TYPE ~ Rope.ROPE; ROPEList: TYPE ~ LIST OF ROPE; Naming: TYPE ~ REF NamingRep; NamingRep: TYPE ~ RECORD [next: Naming, named: REF ANY, prefixes: ROPEList, name: ROPE, explicit, collided, squash: BOOL _ FALSE, count: INTEGER _ CountBase-1]; GetANaming: PROC [thing: REF ANY, insistValid: BOOL _ FALSE] RETURNS [naming: Naming]; Valid: PROC [naming: Naming] RETURNS [valid: BOOL]; GetAName: PROC [thing: REF ANY] RETURNS [name: ROPE]; NamingName: PROC [naming: Naming] RETURNS [name: ROPE]; HasAskedName: PROC [thing: REF ANY] RETURNS [asked: BOOL]; NamingAsked: PROC [naming: Naming] RETURNS [asked: BOOL]; EnumerateNames: PROC [thing: REF ANY, PerName: PROC [name: ROPE, valid: BOOL], onlyValid: BOOL _ TRUE]; ReverseNamings: PROC [oldFirst: Naming] RETURNS [newFirst: Naming]; SortNamings: PROC [oldFirst: Naming] RETURNS [newFirst: Naming]; PrintNaming: PROC [to: IO.STREAM, naming: Naming, insert: ROPE _ NIL]; CountBase: INTEGER ~ 1; AddIntermediateNodes: PROC [cellList: LIST OF REF LogicalCell]; CleanUp: PROC [cellList: LIST OF REF LogicalCell]; isPort, actualCellInstanceName, actualSignalName: ATOM; ValidMerge: PROC [MergeRec] RETURNS [BOOL]; PrintRoseInstantiationTransformation: PROC [to: IO.STREAM, appl: CD.Instance]; PrintRoseInstanceBounds: PROC [to: IO.STREAM, appl: CD.Instance]; NameTransType: PROC [desWDir: ROPE, obj: CD.Object, dfStream: IO.STREAM, type, mode: ATOM, length, width: CD.Number] RETURNS [name: ROPE]; UnNameTransType: SXOutput.LinkageHousekeeper; QuoteProc: TYPE ~ PROCEDURE [name: ROPE] RETURNS [ROPE]; PrintStrayProc: TYPE ~ PROCEDURE [Stream: IO.STREAM, node: REF CircuitNode]; PrintNodeLocProc: TYPE ~ PROCEDURE [Stream: IO.STREAM, node: REF CircuitNode]; PrintHeadProc: TYPE ~ PROCEDURE [obj: CD.Object, name: ROPE]; PrintFormalProc: TYPE ~ PROCEDURE [qName: ROPE, first: BOOL, node: REF CircuitNode]; PrintStartBodyProc: TYPE ~ PROCEDURE [cellName: ROPE]; PrintLocalNodeProc: TYPE ~ PROCEDURE [node: REF CircuitNode]; PrintNodeAliasesProc: TYPE ~ PROCEDURE [node: REF CircuitNode, alias: Naming]; PrintInstanceHeadProc: TYPE ~ PROCEDURE [inst: CD.Instance, defName: ROPE]; PrintActualProc: TYPE ~ PROCEDURE [qActualNode, qFormalPort: ROPE, actualNum: CARDINAL]; PrintInstanceEndProc: TYPE ~ PROCEDURE []; PrintBodyEndProc: TYPE ~ PROCEDURE []; ComputeStray: PrintStrayProc; InsertCell: PrintHeadProc; InsertPort: PrintFormalProc; EndPortList: PrintStartBodyProc; InsertNode: PrintLocalNodeProc; CreateInstance: PrintInstanceHeadProc; InsertPortInstance: PrintActualProc; EndPortInstanceList: PrintInstanceEndProc; SetDesignProp: PROCEDURE [cdD: CD.Design] END. RSXOutputPrivate.mesa Copyright c 1984 by Xerox Corporation. All rights reserved. Written by Shand, July 16, 1984 2:58:45 pm PDT Last Edited by: Shand, March 10, 1985 10:28:08 pm PST Last Edited by: Spreitzer, January 15, 1985 2:50:36 pm PST GBB June 6, 1986 3:33:15 pm PDT TYPES from SX. TYPES from elsewhere. Naming named = NIL => this is not really a name for anything named one of: REF CircuitNode, Instance, Object Name generator customization Assistant procs Randomness Types shared by SXOutputImplA and SXOutputImplC SXOutput.NodePrintProc gbb August 7, 1985 2:56:34 pm PDT Moved here declaration of types shared by SXOutputImplA and SXOutputImplC. changes to: UnNameTransType, QuoteProc, PrintStrayProc, PrintBodyEndProc, END gbb August 20, 1985 12:31:54 pm PDT The Core definition module CoreRecordCells was renamed to CoreClasses along with some of its types changes to: DIRECTORY, coreCellInstance: type name changed form RecordCell to RecordCellType, coreInstanceBuffer: type name changed form Instance to CellInstance gbb November 24, 1985 4:10:16 pm PST Removed stuff for Core output. ΚΨ˜™Icodešœ Οmœ1™