EDIFSemanticsHeap1.Mesa
Spreitzer, February 24, 1986 9:26:27 pm PST
DIRECTORY EDIFGrammar;
EDIFSemanticsHeap1: CEDAR PROGRAM
IMPORTS EDIFGrammar
= {OPEN EDIFGrammar;
one: REF ANY = NEW [INT ← 1];
DefineEm: PROC = {
[] ← DQ[$NameRefs, LIST[$Multiple, Star[NameRef[]]], NameRef[]];
[] ← DC[$NameRef, LIST[$Name, $Member]];
[] ← DC[$Name, LIST[$Identifier]]; --I made this up
[] ← DL[$Member, LIST[$Name, Star[$WholeNumber]]];
[] ← DC[$WholeNumber, LIST[$Integer], 0, 0];
[] ← DC[$WholeNumber, LIST[$Expression], 1];
[] ← DL[$Design, LIST[NameDef[], $Reference, Opt[$Status], Opt[$Rename], StarCh[LIST[$Comment, $Property]] ]];
[] ← DQ[$Reference, LIST[$Qualify, Star[$NameRef]], $NameRef];
[] ← DL[$Property, LIST[$PropertyType, $Identifier, Opt[$Data], StarCh[LIST[$Comment, $Property]] ]];
[] ← DC[$PropertyType, LIST["EDIF", "User", $Identifier]];
[] ← DC[$Data, LIST[$String, $Value, $Boolean]];
[] ← DC[$Value, LIST[$Number, $MiNoMax]];
[] ← DL[$MiNoMax, LIST[$RangeValue, $RangeValue, $RangeValue]];
[] ← DC[$RangeValue, LIST[$Number, $Undefined, $Unconstrained]];
[] ← DL[$Undefined, LIST[]];
[] ← DL[$Unconstrained, LIST[]];
[] ← DL[$External, LIST[NameDef[], Opt[$Status], Opt[$Rename]]];
[] ← DL[$PortMap, LIST[StarCh[LIST[$Reference, $Comment, $UserData]] ]];
[] ← DL[$InstanceMap, LIST[StarCh[LIST[$Reference, $Comment, $UserData]] ]];
[] ← DL[$View, LIST[$ViewType, NameDef[], Opt[$Status], Opt[$Interface], Opt[$Contents], Opt[$Rename], StarCh[LIST[$Comment, $Property]] ]];
[] ← DC[$ViewType, LIST["document", "behavior", "netlist", "schematic", "symbolic", "masklayout", "stranger"]];
[] ← DBL2[$TwoDArrayJoin,
LIST[$Repeat, $Identifier, $WholeNumber, $WholeNumber, one,
LR[LIST[$Repeat, $Identifier, $WholeNumber, $WholeNumber, one,
LR[LIST[$Repeat, $Identifier, $WholeNumber, $WholeNumber, one,
LR[LIST[$Repeat, $Identifier, $WholeNumber, $WholeNumber, one,
LR[LIST[$Joined,
LR[LIST[$Qualify, $Identifier, LR[LIST[$Member, $Identifier, $Identifier, $Identifier]]]],
LR[LIST[$Qualify, $Identifier, LR[LIST[$Member, $Identifier, $Identifier, $Identifier]]]]
]]
]]]]]]]];
};
}.