DIRECTORY IO, SymTab, Rope, IP, IPParams, IPChipRose; IPTypeTab: CEDAR DEFINITIONS IMPORTS IPParams = BEGIN Ref: TYPE = REF Rep; Rep: TYPE = RECORD[tab: SymTab.Ref]; CoType: TYPE = REF CoTypeRep; CoTypeRep: TYPE = IP.CoTypeRep; -- name, instances, pins, shapeInfo Pin: TYPE = REF PinRep; PinRep: TYPE = IP.PinRep; -- name, physicalPins, auxInfo PhysicalPin: TYPE = REF PhysicalPinRep; PhysicalPinRep: TYPE = IP.PhysicalPinRep; EachCoTypeAction: TYPE = PROC[coType: CoType] RETURNS [quit: BOOL _ FALSE]; Create: PROC[chipRose: IPChipRose.Ref] RETURNS [Ref]; FetchCoType: PROC[typeTab: Ref, name: Rope.ROPE, raiseError: BOOL _ TRUE] RETURNS [CoType]; CoTypes: PROC[typeTab: Ref, action: EachCoTypeAction]; CheckSelf: PROC[typeTab: Ref]; DescribeSelf: PROC[typeTab: Ref, stream: IO.STREAM, debug: BOOL _ IPParams.DebugSystem]; ReconstructSelf: PROC[stream: IO.STREAM] RETURNS [Ref]; GetPin: PROC [coType: CoType, pinName: Rope.ROPE] RETURNS [Pin]; GetShape: PROC[coType: CoType] RETURNS [REF IP.ShapeRep] = INLINE { RETURN [coType.shapeInfo.shape] }; --GetShape AddInstance: PROC[coType: CoType, instance: REF IP.ComponentRep] = INLINE { coType.instances _ CONS[instance, coType.instances] };--AddInstance RemInstance: PROC[coType: CoType, instance: REF IP.ComponentRep]; --! Raise IP.Error[callingError. ""] MakePhysicalPins: PROC[coType: CoType, pin: Pin, orient: IP.Orientation] RETURNS [LIST OF PhysicalPin]; END. >-- File: IPTypeTab.mesa Last Edited by: CSChow, February 2, 1985 2:16:33 am PST --! Raise IP.Error[missingRegistration, name] -- IF debug THEN print extra info NOT used to ReconstructSelf --Operation on individual CoType --! Raise IP.Error --make a (deep ) copy of pin.physicalPins in the proper orientation ΚΈ˜Icode•StartOfExpansion[]™J™7K™šΟk ˜ Kšœ˜Kšœ˜K˜Kšœ˜K˜ Kšœ ˜ —K™šœ œ œ˜Kšœ ˜K˜Kšœœœ˜Kšœœœ˜$K˜Kšœœœ ˜Kšœ œœ Οc#˜CK˜Kšœœœ˜Kšœœœ ž˜8K˜Kšœ œœ˜'Kšœœœ˜)K˜Kš Οnœœœœœœ˜KK˜KšŸœœœ˜5K˜š Ÿ œœœœœœ ˜[Kšœ œ!™-—K˜KšŸœœ)˜6K˜KšŸ œœ˜K˜š Ÿ œœœœ œ˜XKšœœœŸ™=—K˜Kš Ÿœœ œœœ˜7K˜K™ šŸœœ œœ˜@Kšœ œ™—K˜š Ÿœœœœœ œ˜CKšœ˜Kšœž ˜ —K˜š Ÿ œœœœœ˜KKšœœ˜3Kšœž ˜—K˜šŸ œœœœ˜AKšœ-˜-—K˜š Ÿœœ#œœœœ˜gK™D—K˜Kšœ˜——…—€ š