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];
STEntryRec:
TYPE =
RECORD [
bb: BBoxRecord,
bbValid,deleted,expanded,bound,defined: BOOL,
guts: Object,
symNumber: LONG CARDINAL,
calledBy: STEntryList,
spare: REF ANY ← NIL
];