<> <> <> <> <> <> DIRECTORY AMModel USING [Context], CD, Core, Sinix USING [ExtractProc, Mode], SymTab USING [Ref]; Sisyph: CEDAR DEFINITIONS = BEGIN <> Context: TYPE = SymTab.Ref; CellType: TYPE = Core.CellType; Wire: TYPE = Core.Wire; Wires: TYPE = Core.Wires; WireSeq: TYPE = Core.WireSeq; ROPE: TYPE = Core.ROPE; ROPES: TYPE = LIST OF ROPE; <> expressionsProp: ATOM; <> cellIconRope: ROPE; <> wireIconRope: ROPE; <> wireRope: ROPE; <> nameRope: ROPE; <> corePropsRope: ROPE; <> coreInstPropsRope: ROPE; <> parmNamesProp: ATOM; < any variable is potentially a parameter; a list with a rope="0" as its first element => 0 parameters. >> cachedResultProp: ATOM; <> <<>> defaultGlobalNames: ROPES; mode: Sinix.Mode; <> ExtractSchematic: Sinix.ExtractProc; ES, ExtractSchematicByName: PROC [name: ROPE, cx: Context] RETURNS [CellType]; <> Create: PROC [design: CD.Design, previousCx: Context _ NIL] RETURNS [cx: Context]; <> Copy: PROC [cx: Context] RETURNS [newCx: Context]; <> Store: PROC [cx: Context, var: ROPE, value: REF _ NIL]; <> <<>> Insert: PROC [cx: Context, var: ROPE, value: REF _ NIL]; <> FetchInt: PROC [cx: Context, var: ROPE] RETURNS [found: BOOL, value: INT]; <> <<>> Eval: PROC [cx: Context, expr: ROPE, cedarCx: AMModel.Context _ NIL]; <.>> <<>> GetDesign: PROC [cx: Context] RETURNS [CD.Design]; <> GetGlobalNames: PROC [cx: Context] RETURNS [ROPES]; <> GetCDObj: PROC [cx: Context] RETURNS [CD.Object]; <> <> <> iconClass: Core.CellClass; CreateIcon: PROC [cellType: CellType, name: ROPE _ NIL, props: Core.Properties _ NIL] RETURNS [icon: CellType]; <> EqualRopes: PROC [ropes1, ropes2: ROPES] RETURNS [BOOL]; <> <<>> Cons: PROC [r: ROPE, lor: ROPES] RETURNS [ROPES]; <> <> <> <<>> List: PROC [r1, r2, r3, r4, r5, r6: ROPE _ NIL] RETURNS [lor: ROPES]; <> <> <> <> GlobalNonAtomic: SIGNAL [record: CellType, name: ROPE, wire: Wire]; InterpreterError: SIGNAL [cx: Context, expr, errorRope: ROPE]; <> IsResultExpression: PRIVATE PROC [expr: ROPE] RETURNS [BOOL]; GetCoreProps: PRIVATE PROC [cx: Context] RETURNS [Core.Properties]; GetCoreInstProps: PRIVATE PROC [cx: Context] RETURNS [Core.Properties]; EvaluateParameters: PRIVATE PROC [userData: REF, obj: CD.Object, properties: CD.PropList, isResultExpression: PROC [ROPE] RETURNS [BOOL]] RETURNS [cx: Context, resultRope: ROPE]; <> ProcessGlobalNames: PRIVATE PROC [record: CellType, cx: Context]; <> <> <<>> END. <<>>