<> <> <> DIRECTORY ParserTypeDefs, IntTransDefs; IntStorageDefs: CEDAR DEFINITIONS = BEGIN BBoxRecord: TYPE = RECORD [left,right,bottom,top: INT]; Object: TYPE = LIST OF ObjectRef _ NIL; ObjectRef: TYPE = REF ANY -- {Call, Box, MBox, Flash, Polygon, Wire, UserOb, UserCmd} -- _ NIL; Call: TYPE = REF CallRec _ NIL; CallRec: TYPE = RECORD [ bb: BBoxRecord, callee: STEntry, t: IntTransDefs.TransformRecord]; Box: TYPE = REF BoxRec _ NIL; BoxRec: TYPE = RECORD [ bb: BBoxRecord, layer: CARDINAL, length, width: LONG CARDINAL, center: ParserTypeDefs.Point, xRot, yRot: INT]; MBox: TYPE = REF MBoxRec _ NIL; MBoxRec: TYPE = RECORD [ --Manhattan Box bb: BBoxRecord, layer: CARDINAL]; Flash: TYPE = REF FlashRec _ NIL; FlashRec: TYPE = RECORD [ bb: BBoxRecord, layer: CARDINAL, diameter: LONG CARDINAL, center: ParserTypeDefs.Point]; Polygon: TYPE = REF PolygonRec _ NIL; PolygonRec: TYPE = RECORD [ bb: BBoxRecord, layer: CARDINAL, p: ParserTypeDefs.Path]; Wire: TYPE = REF WireRec _ NIL; WireRec: TYPE = RECORD [ bb: BBoxRecord, layer: CARDINAL, width: LONG CARDINAL, p: ParserTypeDefs.Path]; UserOb: TYPE = REF UserObRec _ NIL; UserObRec: TYPE = RECORD [ bb: BBoxRecord, layer: CARDINAL, data: REF ANY]; UserCmd: TYPE = REF UserCmdRec _ NIL; UserCmdRec: TYPE = RECORD [ command: [0..9], data: REF ANY]; <> STEntryList: TYPE = LIST OF STEntry _ NIL; STEntry: TYPE = REF STEntryRec _ NIL; STEntryRec: TYPE = RECORD [ bb: BBoxRecord, bbValid,deleted,expanded,bound,defined: BOOL, guts: Object, symNumber: LONG CARDINAL, calledBy: STEntryList, spare: REF ANY _ NIL ]; rootSymbol: STEntry; END.