DIRECTORY CD, CDSimpleRules, Rope; CDSimpleRulesBackdoor: CEDAR DEFINITIONS = BEGIN Rules: TYPE = REF; IRules: TYPE = REF RulesRep; RulesRep: TYPE = RECORD [ key: ATOM_NIL, technology: CD.Technology_NIL, minWidth: LayerRuleProc_NIL, minSpace: Layer2RuleProc_NIL, maxWidth: LayerRuleProc_NIL, getValue: ValueProc_NIL, getRuleDescription: GetRuleDescriptionProc_NIL, contact: ContactProc_NIL, largeContact: LargeContactProc_NIL, inherit: Rules_NIL, --at registration time properties: CD.PropRef_NIL, data: REF_NIL ]; LayerRuleProc: TYPE = PROC [rules: Rules, layer: CD.Layer] RETURNS [CD.Number]; Layer2RuleProc: TYPE = PROC [rules: Rules, l1, l2: CD.Layer] RETURNS [CD.Number]; ValueProc: TYPE = PROC [rules: Rules, id: ATOM] RETURNS [CD.Number]; GetRuleDescriptionProc: TYPE = PROC [rules: Rules, id: ATOM] RETURNS [Rope.ROPE]; ContactProc: TYPE = PROC [rules: Rules, l1, l2: CD.Layer] RETURNS [CD.Object]; LargeContactProc: TYPE = PROC [rules: Rules, design: CD.Design, size: CD.Position, l1, l2: CD.Layer] RETURNS [CD.Object]; GetRulesRep: PROC [rules: Rules] RETURNS [IRules]; RegisterRules: PROC [r: RulesRep]; RegisterLayerName: PROC [name: REF, layer: CD.Layer, technology: CD.Technology_NIL]; RegisterTechnologyName: PROC [name: REF, technology: CD.Technology]; END. PCDSimpleRulesBackdoor.mesa (part of ChipNDale) Copyright c 1985, 1986, 1987 by Xerox Corporation. All rights reserved. Created by Christian Jacobi, July 5, 1985 4:58:37 pm PDT Last edited by: Christian Jacobi, April 20, 1987 6:40:34 pm PDT --UNION of ATOM and REF ImplementationRulesRep -- Useful to convert atom into REF ImplementationRulesRep -- raises NotKnown if rules are not implemented -- Registrations can be repeated and features can be registered separately -- but technology must not contradict. -- Registers more names for a layer -- Registers more names for a technology ΚŽ˜codešœ.™.Kšœ Οmœ=™HKšœ8™8K™?—K˜šΟk œ˜ Kšžœ˜—K˜KšΟnœžœž œ˜*Kšžœ˜K™šœžœžœ˜Kšœ.™.—K˜Kšœžœžœ ˜šœ žœžœ˜Kšœžœžœ˜Kšœ žœ žœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœ+žœ˜/Kšœžœ˜Kšœžœ˜#KšœžœΟc˜*Kšœ žœ žœ˜Kšœžœž˜ K˜—K˜Kš œžœžœžœžœžœ ˜OKš œžœžœžœžœžœ ˜QKš œ žœžœžœžœžœ ˜DKš œžœžœžœžœžœ˜QKš œ žœžœžœžœžœ ˜NKšœžœžœžœžœžœžœžœ ˜yK˜šŸ œžœžœ ˜2Kš 9™9Kšœ/™/—K˜šŸ œžœ˜"KšœJ™JKšœ&™&—K˜š Ÿœžœžœ žœžœ žœ˜TKšœ#™#—K˜šŸœžœžœžœ ˜DKšœ(™(—K˜Kšžœ˜K˜K˜—…— ζ