DIRECTORY Atom, OrderedSymbolTableRef, Rope; Scheme: CEDAR DEFINITIONS = BEGIN LORA: TYPE = LIST OF REF ANY; ROPE: TYPE = Rope.ROPE; Table: TYPE = OrderedSymbolTableRef.Table; PropList: TYPE = Atom.PropList; CellType: TYPE = REF CellTypeRep; CellTypeRep: TYPE = RECORD [ name: ROPE, otherProps: PropList _ NIL, file: ROPE, icons: Table --of PictureDef--, expansion: PictureDef, ports: Table --of Port--, nets: Table --of Net--, components: Table --of Component--]; Port: TYPE = REF PortRep; PortRep: TYPE = RECORD [ name: ROPE, otherProps: PropList _ NIL, pt: Point, label: Text _ NIL]; Net: TYPE = REF NetRep; NetRep: TYPE = RECORD [ name: ROPE, otherProps: PropList _ NIL, stuff: LORA, --LIST OF UNION [Port, ComponentPort, Point, Line, Text] eatenBy: Net _ NIL]; ComponentPort: TYPE = RECORD [ component: Component, port: Port]; Component: TYPE = REF ComponentRep; ComponentRep: TYPE = RECORD [ name: ROPE, otherProps: PropList _ NIL, type: CellType, inst: PictureInstance, label: Text _ NIL]; PictureDef: TYPE = REF PictureDefRep; PictureDefRep: TYPE = RECORD [ name: ROPE, coordsByValue: ARRAY Axis OF Table --of UNION [Coord, LORA]--, coordsByName, points: Table, exports: Table --of PictureDefPort--, objects: Table --OF UNION [Line, Text, PictureInstance]--, editor: REF ANY _ NIL ]; Coord: TYPE = REF CoordRep; CoordRep: TYPE = RECORD [ name: ROPE, pic: PictureDef, axis: Axis _ X, editable: BOOLEAN _ TRUE, z, sz, dz: REAL _ 0, dependents: LORA, --LIST OF UNION [Coord, Point] parent: REF ANY _ NIL, --UNION [Coord, PictureInstance] exportedTo: PictureInstance --only meaningful during instantiation operation-- ]; Axis: TYPE = {X, Y}; Point: TYPE = REF PointRep; PointRep: TYPE = RECORD [ c: Vertex, name: ROPE, pic: PictureDef, dependents: LORA, --LIST OF UNION [Text, Line, PictureInstance] net: Net _ NIL]; Vertex: TYPE = ARRAY Axis OF Coord; VertexReals: TYPE = ARRAY Axis OF REAL _ ALL[0]; PictureDefPort: TYPE = REF PictureDefPortRep; PictureDefPortRep: TYPE = RECORD [ pic: PictureDef, portName: ROPE, point: Point]; PictureInstPort: TYPE = REF PictureInstPortRep; PictureInstPortRep: TYPE = RECORD [ pi: PictureInstance, portName: ROPE, hint: Point]; Line: TYPE = REF LineRep; LineRep: TYPE = RECORD [ name: ROPE, a, b: Point, sa, sb: VertexReals, net: Net _ NIL]; Text: TYPE = REF TextRep; TextRep: TYPE = RECORD [ name: ROPE, org: Point, s: VertexReals, rope: ROPE, labelOf: REF ANY _ NIL]; PictureInstance: TYPE = REF PictureInstanceRep; PictureInstanceRep: TYPE = RECORD [ name: ROPE, pic: PictureDef, org: Point, s: VertexReals, asComponent: Component _ NIL]; END. HScheme.Mesa Last Edited by: Spreitzer, February 12, 1984 0:30 am ΚΊ– "cedar" style˜Icode™ Jšœ4™4K˜KšΟk œ#˜,K˜KšΠbxœœ œ˜K˜Kš˜K˜Kš œœœœœœ˜Kšœœœ˜Kšœœ˜*Kšœ œ˜K˜š œ œœœœ˜>Kšœœ˜ Kšœœ˜Kšœœ˜ Kšœ Οcœ˜K˜Kšœ Ÿ œ˜Kšœ Ÿ œ˜KšœŸœ˜$—K˜š œœœ œ œœ˜2Kšœœ˜ Kšœœ˜K˜ Kšœœ˜—K˜š œœœœœ˜/Kšœœ˜ Kšœœ˜KšœœŸ8˜EKšœœ˜—K˜šœœœ˜K˜Kšœ ˜ —K˜š œ œœœœ˜AKšœœ˜ Kšœœ˜K˜K˜Kšœœ˜—K˜š œ œœœœœ˜DKšœœ˜ KšœœœŸœ˜>K˜KšœŸœ˜%KšœŸ*œ˜:Kšœœœ˜K˜—K˜š œœœœœ˜5Kšœœ˜ K˜Kšœ œ˜Kšœ œœ˜Kšœ œ˜Kšœ œŸ˜0KšœœœœŸ ˜7KšœŸ3˜NKšœ˜—K˜Kšœœœœ˜K˜š œœœœœ˜5K˜ Kšœœ˜ K˜Kšœ œŸ-˜?Kšœ œ˜—K˜Kšœœœœ˜#Kš œ œœœœœ˜0K˜š œœœ'œœ˜PKšœ˜Kšœ œ˜K˜—K˜š œœœ)œœ˜SKšœ˜Kšœ œ˜K˜ —K˜š œœœœœ˜2Kšœœ˜ K˜ Kšœ˜Kšœ œ˜—K˜š œœœœœ˜2Kšœœ˜ K˜ Kšœ˜Kšœœ˜ Kšœ œœœ˜—K˜Kšœœœ˜/šœœœ˜#Kšœœ˜ Kšœ˜Kšœ ˜ Kšœ˜Kšœœ˜—K˜Kšœ˜—…— 24