DIRECTORY SymTab, Rope, IP; IPTypeDict: CEDAR DEFINITIONS = BEGIN Ref: TYPE = REF Rep; Rep: TYPE = RECORD[types: SymTab.Ref]; TypeEntryRep: TYPE = RECORD [ origin: IP.IntVector _ [0,0], pins: LIST OF REF IP.PinRep _ NIL, --name, physicalPin, auxInfo shape: REF IP.ShapeRep _ NIL, --width, height and the sizes of the four corners shapeFn: REF _ NIL, --Function for shape determintaion restriction: REF _ NIL -- Restriction on shape (and orientation) ]; CreateFailure: ERROR[why: Reason, what: ATOM]; Reason: TYPE = {syntaxError, noBegin, badToken}; EachTypeEntryAction: TYPE = PROC[type: Rope.ROPE, entry: REF TypeEntryRep] RETURNS [quit: BOOL _ FALSE]; Create: PROC[file: Rope.ROPE] RETURNS [Ref]; LookUp: PROC[r: Ref, type: Rope.ROPE] RETURNS [found: BOOL, val: REF TypeEntryRep]; TypeEntries: PROC[r: Ref, action: EachTypeEntryAction]; END. ”--File: IPTypeDict.mesa Last Edited by: CSChow, February 2, 1985 2:21:48 am PST -- Intro: This is the module that parses the .typ file Κ‰˜J™J™7J™šΟk ˜ Jšœ˜Jšœ˜Jšœ˜—J˜J˜šœ œ œ˜%J™