<<[Indigo]2.6>Rosemary.df=>RoseCreate.Mesa>> <> <> DIRECTORY OrderedSymbolTableRef, RoseTypes; RoseCreate: CEDAR DEFINITIONS = BEGIN OPEN RoseTypes; InterfaceMismatch: ERROR [cell: Cell, index: CARDINAL, expected, got: NodeType]; RegisterCellType: PROC [name: ROPE, expandProc: ExpandProc _ NIL, ioCreator: IOCreator _ NIL, initializer: Initializer _ NIL, evals: EvalProcs, blackBox, stateToo: CellTestProc _ NIL, ports: Ports, drivePrototype: REF ANY _ NIL, typeData: REF ANY _ NIL, other: Assertions _ NIL] RETURNS [type: CellType]; GetCellType: PROC [name: ROPE] RETURNS [type: CellType]; CreateSim: PROC [steady: BOOL] RETURNS [sim: Simulation]; <> CreateTopCell: PROC [instanceName, typeName: ROPE, decider: ExpandDeciderClosure, sim: Simulation] RETURNS [cell: Cell]; <> ExpandDeciderClosure: TYPE = REF ExpandDeciderClosureRep; ExpandDeciderClosureRep: TYPE = RECORD [ Decide: ExpandDecider, otherData: REF ANY]; ExpandDecider: TYPE = PROC [cell: Cell, otherData: REF ANY] RETURNS [ExpandDecision]; Possible: PROC [cell: Cell, whatToDo: ExpandDecision] RETURNS [possible: BOOLEAN]; PickInOrder: PROC [--earlier=better--ExpandDecisionList] RETURNS [ExpandDeciderClosure]; ExpandDecisionList: TYPE = LIST OF ExpandDecision; inlineFirst: ExpandDeciderClosure --= PickInOrder[LIST[Inline, Nested, Leaf]]--; nestedFirst: ExpandDeciderClosure --= PickInOrder[LIST[Nested, Inline, Leaf]]--; ByDepth: PROC [shallow: ExpandDeciderClosure, boundary: INT, deep: ExpandDeciderClosure] RETURNS [ExpandDeciderClosure]; < boundary.>> <> CreateTest: PROC [rootName, testerName, testeeName, typeName: ROPE, stateToo: BOOL _ TRUE, decider: ExpandDeciderClosure, sim: Simulation] RETURNS [root: Cell, cth: CellTestHandle]; WrapTop: PROC [rootName, typeName: ROPE, decider: ExpandDeciderClosure, clocks: ROPE _ NIL, sim: Simulation] RETURNS [root: Cell]; <> XPhobicize: PROC [n: Node] RETURNS [m: Node-- = n --]; PortsFromROPE: PROC [asRope: ROPE] RETURNS [ports: Ports]; PortsFromFile: PROC [fileName: ROPE] RETURNS [ports: Ports]; PortsFromStream: PROC [stream: STREAM] RETURNS [ports: Ports]; AssertionsFromFile: PROC [fileName: ROPE] RETURNS [Assertions]; GetOtherss: PROC [fileName: ROPE] RETURNS [SymbolTable]; GetOthers: PROC [otherss: SymbolTable, cellTypeName: ROPE] RETURNS [SymbolTable]; GetOther: PROC [others: SymbolTable, partName: ROPE] RETURNS [Assertions]; DecideFromFile: PROC [fileName: ROPE] RETURNS [dff: ExpandDeciderClosure]; LookupCell: PROC [ path: LIST OF REF ANY --ROPEs or REF TEXTs--, from: Cell _ NIL --NIL means first name names root--] RETURNS [cell: Cell]; LookupNode: PROC [ path: LIST OF REF ANY, from: Cell _ NIL] RETURNS [node: Node]; LookupCellNode: PROC [cell: Cell, name: ROPE] RETURNS [node: Node]; LongNodeName: PROC [n: Node] RETURNS [name: ROPE]; LongCellName: PROC [c: Cell] RETURNS [name: ROPE]; FillInInterfaceNodes: PROC [cell: Cell, interfaceNodes: ROPE]; CompareNodes, CompareComponents: OrderedSymbolTableRef.CompareProc; EnsureEnvironment: PROC [in: Cell, forType: CellType, to: ExpansionReceiver]; MirrorPorts: PROC [fwd: Ports, alwaysOutput, alwaysInput: BOOL _ FALSE] RETURNS [bkwd: Ports]; MakeMoreIO: PROC [cell: Cell, bToo: BOOL] RETURNS [a, b: REF ANY]; EqualInterfaces: PROC [a, b: Ports] RETURNS [equal: BOOL]; roots: SymbolTable; END.