DIRECTORY Asserting, BasicTime, EDIFAndCore, HashTable, Imager, ImagerPixelMap, IO, Rope, Sets; EDIFAndCorePrivate: CEDAR DEFINITIONS = {OPEN EDIFAndCore; SyntaxError: ERROR [stream: IO.STREAM, index: INT, complaint: ROPE]; RefInt: TYPE = REF INT; StdTail: TYPE = RECORD [c: Comments, ues: UserExtensions]; EDIFConversion: TYPE = REF EDIFConversionPrivate; EDIFConversionPrivate: TYPE = RECORD [ rawDesigns, rawLibraries: Dictionary--of LORA--, ew: EDIFWhole ]; CellConversion: TYPE = REF CellConversionPrivate; CellConversionPrivate: TYPE = RECORD [ ec: EDIFConversion, status: Status _ NIL, viewMap: ViewMap _ NIL, views: HashTable.Table, comments: Comments, ues: UserExtensions]; ViewConversion: TYPE = REF ViewConversionPrivate; ViewConversionPrivate: TYPE = RECORD [ cc: CellConversion, comments: Comments, ues: UserExtensions]; Qual: TYPE = RECORD [outer, inner: ROPE]; ViewMap: TYPE = REF ViewMapPrivate; ViewMapPrivate: TYPE = RECORD [ portMap: HashTable.Table--MappablePort _ PortMapping--, instanceMap: HashTable.Table--MappableInstance _ InstanceMapping--, comments: Comments, ues: UserExtensions]; PortMapping: TYPE = REF PortMappingPrivate; PortMappingPrivate: TYPE = RECORD [ equiv: MappablePortList, comments: Comments, ues: UserExtensions]; MappablePortList: TYPE = LIST OF MappablePort; MappablePort: TYPE = REF MappablePortPrivate; MappablePortPrivate: TYPE = RECORD [ viewName, portName: ATOM ]; InstanceMapping: TYPE = REF InstanceMappingPrivate; InstanceMappingPrivate: TYPE = RECORD [ equiv: MappableInstanceList, comments: Comments, ues: UserExtensions]; MappableInstanceList: TYPE = LIST OF MappableInstance; MappableInstance: TYPE = REF MappableInstancePrivate; MappableInstancePrivate: TYPE = RECORD [ viewName: ATOM, instantiationPath: ATOMList ]; ViewType: TYPE = {MaskLayout, Netlist, Schematic, Symbolic, Behavior, Document, Stranger}; View: TYPE = REF ViewPrivate; ViewPrivate: TYPE = RECORD [ type: ViewType, name: ROPE, status: Status _ NIL, interfaceSeen, contentsSeen: BOOL _ FALSE, assns: ARRAY Publicity OF Assertions _ ALL[NIL], std: ARRAY Publicity OF RECORD [head, tail: RECORD [comments: Comments, ues: UserExtensions]], comments: Comments, ues: UserExtensions]; Publicity: TYPE = {Interface, Contents}; Converter: TYPE = REF ConverterPrivate; ConverterPrivate: TYPE = RECORD [ Convert: PROC [converterData: REF ANY, cc: CellConversion, v: View, part: LORA, pub: Publicity, context: ROPE], converterData: REF ANY _ NIL ]; LexEDIF: PROC [from: IO.STREAM] RETURNS [stmt: LORA]; LcA: PROC [a: ATOM] RETURNS [la: ATOM]; IDFromEDIF: PROC [a: ATOM] RETURNS [name: ROPE]; ParseTechnology: PROC [ec: EDIFConversion, lexed: LORA, context: ROPE] RETURNS [t: Technology]; ParseCell: PROC [ec: EDIFConversion, lexed: LORA, context: ROPE] RETURNS [ct: CoreCellType]; ParseViewMap: PROC [ec: EDIFConversion, lexed: LORA, context: ROPE] RETURNS [vm: ViewMap]; ParseStatus: PROC [lexedRA: REF ANY, context: ROPE] RETURNS [status: Status]; ParseComment: PROC [lexedRA: REF ANY, context: ROPE] RETURNS [comment: Comment]; CAppend: PROC [oldHead, oldTail: Comments, x: Comment] RETURNS [newHead, newTail: Comments]; ParseUserExtension: PROC [lexedRA: REF ANY, context: ROPE] RETURNS [ue: UserExtension]; UEAppend: PROC [oldHead, oldTail: LIST OF UserExtension, x: UserExtension] RETURNS [newHead, newTail: LIST OF UserExtension]; CheckLength: PROC [lora: LORA, context: ROPE, min: INT _ 0, max: INT _ LAST[INT]]; CheckHead: PROC [lexed: LORA, keyword: ATOM, context: ROPE]; Length: PROC [lora: LORA, max: INT _ LAST[INT]] RETURNS [length: INT]; LFetch: PROC [lora: LORA, index: NAT] RETURNS [ra: REF ANY]; ToQual: PROC [ra: REF ANY, bitch: ROPE] RETURNS [q: Qual]; ToATOM: PROC [ra: REF ANY, bitch: ROPE] RETURNS [a: ATOM]; ToLORA: PROC [ra: REF ANY, bitch: ROPE] RETURNS [lora: LORA]; ToROPE: PROC [ra: REF ANY, bitch: ROPE] RETURNS [r: ROPE]; ToINT: PROC [ra: REF ANY, bitch: ROPE, min: INT _ FIRST[INT], max: INT _ LAST[INT]] RETURNS [i: INT]; SetConverter: PROC [key: ATOM, pub: Publicity, c: Converter]; }. €EDIFAndCorePrivate.Mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Spreitzer, January 30, 1986 2:02:49 pm PST la.PName = LowerCase[a.PName] Κk– "cedar" style˜code™Kšœ<™