Definitions: Accounting: '(' 'Accounting' ! Identifier [String] ')' Annotate: '(' 'Annotate' ! String Point Point Justify ')' Apply: '(' 'Apply' ! WholeNumber Number (LogicInput | LogicOutput | Comment | UserData)* ')' Arbitrate: '(' 'Arbitrate' ! Pairwise ')' Arc: '(' 'Arc' ! Point Point Point ')' ArrayDefinition: '(' 'ArrayDefinition' ! Identifier WholeNumber* ')' ArrayRelatedInfo: '(' 'ArrayRelatedInfo' ! ArrayUse [(Socket | Plug)] (Comment | UserData)* ')' ArrayUse: ('ArrayMacro' | 'ArraySite' | 'BaseArray') Assign: '(' 'Assign' ! Identifier Expression* ')' Block: '(' 'Block' ! Form* ')' Body: '(' 'Body' ! (FigureGroup | Comment | Property)* ')' Boolean: (0..0 & (True | False) | 1..2 & Expression) BorderPattern: '(' 'BorderPattern' ! Integer String ')' Build: '(' 'Build' ! KeyRef (FormalValue | ForEach | Index | Comment)* ')' BuildName: '(' 'BuildName' ! String ')' Cell: '(' 'Cell' ! Identifier [Status] [Rename] [ViewMap] (View | Comment | UserData)* ')' Circle: '(' 'Circle' ! Point Point Property* ')' Color: '(' 'Color' ! Integer Integer Integer ')' Comment: '(' 'Comment' ! String* ')' Condition: '(' 'Condition' ! WFF* ')' Constraint: '(' 'Constraint' ! Boolean* Property* ')' Contents: '(' 'Contents' ! (Define | Instance | Unused | Global | Joined | TwoDArrayJoin | MustJoin | Required | Measured | CriticalSignal | FigureGroup | Annotate | Wire | Section | | Comment | UserData | Level1Ctl | Level2Ctl)* ')' Coordinate: (0..0 & WholeNumber | 1..2 & Expression) Corner: (Point | Arc) CriticalSignal: '(' 'CriticalSignal' ! WholeNumber Identifier* ')' Data: (String | Value | Boolean) Default: 1..2 & '(' 'Default' ! PrimitiveData* ')' Define: '(' 'Define' ! Direction Type DefineObjects [1..2 & Default] Rename* ')' DefineObject: (Identifier | ArrayDefinition) DefineObjects: (DefineObjectsAux | DefineObject) DefineObjectsAux: '(' 'Multiple' ! DefineObject* ')' Delay: '(' 'Delay' ! Transition* Reference* ')' Design: '(' 'Design' ! Identifier Reference [Status] [Rename] (Comment | Property)* ')' Direction: ('local' | 'input' | 'inout' | 'output' | 'unspecified') Dot: '(' 'Dot' ! Point Property* ')' EDIF: '(' 'EDIF' ! Identifier Status Keyword* [Rename] (Design | External | Library | Comment | UserData)* ')' EDIFLevel: '(' 'EDIFLevel' ! EDIFLevelName ')' EDIFLevelName: ('0' | '1' | '2') EDIFVersion: '(' 'EDIFVersion' ! Integer Integer Integer ')' Escape: '(' 'Escape' ! Boolean Form* ')' Expression: (Primitive | Identifier | FunctionApplication) External: '(' 'External' ! Identifier [Status] [Rename] ')' Extra: '(' 'Extra' ! Identifier* ')' False: '(' 'False' ! ')' Figure: ('Polygon' | 'Path' | 'Rectangle' | 'Dot' | 'Shape' | 'OpenShape' | 'Circle' | 'Annotate') FigureGroup: '(' 'FigureGroup' ! FigureGroupRef (Figure | SignalGroup | Comment | UserData)* ')' FigureGroupDefault: '(' 'FigureGroupDefault' ! (FigureGroupSpecification | Comment | UserData)* ')' FigureGroupRef: (Identifier | FigureGroupSpecification) FigureGroupSpecification: '(' 'FigureGroupSpecification' ! Identifier ( | | | | | Comment | UserData)* ')' FillPattern: '(' 'FillPattern' ! Integer Integer String ')' ForEach: '(' 'ForEach' ! NameRefs (FormalValue | ForEach | Index | Comment)* ')' Formal: '(' 'Formal' ! Identifier* ')' FormalValue: (String | Integer | Identifier | BuildName | Build) FunctionApplication: '(' Identifier ! Expression* ')' FunctionName: 1..2 & ('+' | '-' | '*' | '/' | 'abs' | 'floor' | 'fix' | 'ceiling' | 'xcoord' | 'ycoord' | 'point' | 'concat' | 'and' | 'or' | 'xor' | 'not' | 'false' | 'true' | 'andnot' | '<' | '=' | '>') Global: '(' 'Global' ! Identifier* ')' GridMap: '(' 'GridMap' ! Number Number ')' IgnoreValue: '(' 'IgnoreValue' ! Identifier ')' Index: '(' 'Index' ! Identifier ')' Instance: '(' 'Instance' ! References Identifier Identifier [Rename] [Transform] Parameter* Property* PortInstance* ')' InstanceMap: '(' 'InstanceMap' ! (Reference | Comment | UserData)* ')' Interface: '(' 'Interface' ! (Define | Unused | Joined | TwoDArrayJoin | WeakJoined | MustJoin | Permutable | Timing | Simulate | | PortImplementation | | Comment | UserData | Level1Ctl | Level2Ctl)* ')' Isolated: '(' 'Isolated' ! Identifier ')' Iterate: '(' 'Iterate' ! Form* ')' Joined: '(' 'Joined' ! (Reference | Joined | WeakJoined)* ')' Justify: ('LowerRight' | 'LowerCenter' | 'LowerLeft' | 'CenterRight' | 'CenterCenter' | 'CenterLeft' | 'UpperRight' | 'UpperCenter' | 'UpperLeft') KeyRef: (Identifier | String) Keyword: '(' 'Keyword' ! Identifier (Formal | Optional | Extra | FormalValue | ForEach | Comment)* ')' Level1Ctl: 1..2 & (Repeat | Constraint | Assign) Level2Ctl: 2..2 & (Block | Escape | Iterate | Redo) Library: '(' 'Library' ! Identifier [Status] [Technology] [Rename] (Cell | Comment | UserData)* ')' LogicInput: '(' 'LogicInput' ! NameRefs LogicWaveform ')' LogicModel: '(' 'LogicModel' ! Identifier LogicOtherwise (LogicState | Comment | UserData)* ')' LogicOtherwise: '(' 'LogicOtherwise' ! Identifier ')' LogicOutput: '(' 'LogicOutput' ! NameRefs LogicWaveform ')' LogicState: '(' 'LogicState' ! Condition* Result ')' LogicWaveform: '(' 'LogicWaveform' ! Identifier* ')' Measured: '(' 'Measured' ! Identifier Delay* ')' Member: '(' 'Member' ! Name WholeNumber* ')' MiNoMax: '(' 'MiNoMax' ! RangeValue RangeValue RangeValue ')' MustJoin: '(' 'MustJoin' ! (Reference | Joined | WeakJoined)* ')' Name: Identifier NameRef: (Name | Member) NameRefs: (NameRefsAux | Identifier) NameRefsAux: '(' 'Multiple' ! Identifier* ')' NonPermutable: '(' 'NonPermutable' ! (Identifier | NonPermutable | Permutable)* ')' Number: (0..0 & (Integer | ScaledInteger) | 1..2 & Expression) NumberDefinition: '(' 'NumberDefinition' ! UnitSystem (Scale | Comment | UserData)* ')' OpenShape: '(' 'OpenShape' ! Corner* Property* ')' Optional: '(' 'Optional' ! Identifier FormalValue ')' Orientation: ('r0' | 'r90' | 'r180' | 'r270' | 'mx' | 'myr90' | 'my' | 'mxr90') Pairwise: '(' 'Pairwise' ! Identifier* ')' Parameter: '(' 'Parameter' ! Identifier ParameterValue ')' ParameterValue: (0..0 & (ParameterValueAux | PrimitiveData) | 1..2 & (ParameterValueAux | Expression)) ParameterValueAux: (0..0 & '(' 'Multiple' ! PrimitiveData* ')' | 1..2 & '(' 'Multiple' ! Expression* ')') Path: '(' 'Path' ! Point* Property* ')' PathType: '(' 'PathType' ! Style Style ')' Permutable: '(' 'Permutable' ! (Identifier | NonPermutable | Permutable)* ')' Place: (Coordinate | Step) Plug: '(' 'Plug' ! SocketSet* ')' Point: (0..0 & '(' 'Point' ! Coordinate Coordinate ')' | 1..2 & Expression) Polygon: '(' 'Polygon' ! Point* Property* ')' PortImplementation: '(' 'PortImplementation' ! Identifier (FigureGroup | Comment | Property)* ')' PortInstance: '(' 'PortInstance' ! Identifier Property* ')' PortListAlias: '(' 'PortListAlias' ! Identifier NameRefs ')' PortMap: '(' 'PortMap' ! (Reference | Comment | UserData)* ')' Primitive: (String | Integer | ScaledInteger) PrimitiveData: (Primitive | True | False) Property: '(' 'Property' ! PropertyType Identifier [Data] (Comment | Property)* ')' PropertyType: ('EDIF' | 'User' | Identifier) RangeValue: (Number | Undefined | Unconstrained) Rectangle: '(' 'Rectangle' ! Point Point Property* ')' Redo: '(' 'Redo' ! Boolean Form* ')' Reference: (ReferenceAux | NameRef) ReferenceAux: '(' 'Qualify' ! NameRef* ')' References: (ReferencesAux | Reference) ReferencesAux: '(' 'Multiple' ! Reference* ')' Rename: '(' 'Rename' ! Identifier String ')' Repeat: 1..2 & '(' 'Repeat' ! Identifier Integer Integer Integer Form* ')' Required: '(' 'Required' ! Identifier Delay* ')' Result: '(' 'Result' ! WFF* ')' Scale: '(' 'Scale' ! UnitType Number Number ')' ScaledInteger: '(' 'e' ! Integer Integer ')' ScaleX: '(' 'ScaleX' ! Coordinate Coordinate ')' ScaleY: '(' 'ScaleY' ! Coordinate Coordinate ')' Section: '(' 'Section' ! String (String | Instance | Section)* ')' Shape: '(' 'Shape' ! Corner* Property* ')' SignalGroup: '(' 'SignalGroup' ! Identifier (FigureGroup | Comment | UserData)* ')' Simulate: '(' 'Simulate' ! Identifier Identifier ( | PortListAlias | | WaveValue | Apply | Comment | UserData)* ')' SimulationInfo: '(' 'SimulationInfo' ! Identifier SimulationValue Arbitrate Isolated [Rename] ')' SimulationMap: '(' 'SimulationMap' ! Reference Reference (StateMap | Comment | UserData)* ')' SimulationValue: '(' 'SimulationValue' ! Identifier* ')' Socket: '(' 'Socket' ! Transform* ')' SocketSet: '(' 'SocketSet' ! Instance* Transform* ')' Stable: '(' 'Stable' ! Identifier Number Number Identifier Identifier Identifier ')' StateMap: '(' 'StateMap' ! Identifier+ ')' Status: '(' 'Status' ! [EDIFVersion] [EDIFLevel] (Written | Comment | UserData)* ')' Step: '(' 'Step' ! Coordinate WholeNumber Coordinate ')' Style: ('extend' | 'truncate' | 'round') Technology: '(' 'Technology' ! Identifier [NumberDefinition] (Define | | SimulationInfo | SimulationMap | | | Comment | UserData | Level1Ctl | Level2Ctl)* ')' TimeStamp: '(' 'TimeStamp' ! Integer Integer Integer Integer Integer Integer ')' Timing: '(' 'Timing' ! Identifier (Delay | Stable | Comment | UserData)* ')' Transform: '(' 'Transform' ! [ScaleX] [ScaleY] [Orientation] [Translate] ')' Transition: '(' 'Transition' ! Identifier Identifier Value [Value] ')' Translate: '(' 'Translate' ! Place Place ')' True: '(' 'True' ! ')' TwoDArrayJoin: '(' 'Repeat' Identifier WholeNumber WholeNumber '1' '(' 'Repeat' Identifier WholeNumber WholeNumber '1' '(' 'Repeat' Identifier WholeNumber WholeNumber '1' '(' 'Repeat' Identifier WholeNumber WholeNumber '1' '(' 'Joined' '(' 'Qualify' Identifier '(' 'Member' Identifier Identifier Identifier ')' ')' '(' 'Qualify' Identifier '(' 'Member' Identifier Identifier Identifier ')' ')' ')' ')' ')' ')' ')' Type: ('figuregroup' | 'port' | 'signal' | 1..2 & 'String' | 1..2 & 'Integer' | 1..2 & 'Number' | 1..2 & 'Boolean' | 1..2 & 'Point' | 1..2 & UnitType) Unconstrained: '(' 'Unconstrained' ! ')' Undefined: '(' 'Undefined' ! ')' UnitSystem: ('si' | Identifier) UnitType: ('capacitance' | 'current' | 'distance' | 'resistance' | 'termperature' | 'time' | 'voltage') Unused: '(' 'Unused' ! Reference* ')' UserData: '(' 'UserData' ! Identifier Form* ')' Value: (Number | MiNoMax) View: '(' 'View' ! ViewType Identifier [Status] [Interface] [Contents] [Rename] (Comment | Property)* ')' ViewMap: '(' 'ViewMap' ! (PortMap | InstanceMap | Comment | UserData | Level2Ctl)* ')' ViewType: ('document' | 'behavior' | 'netlist' | 'schematic' | 'symbolic' | 'masklayout' | 'stranger') WaveValue: '(' 'WaveValue' ! Identifier Number LogicWaveform ')' WeakJoined: '(' 'WeakJoined' ! (Reference | Joined | WeakJoined)* ')' WFF: '(' 'WFF' ! Identifier Identifier Number Number ')' WholeNumber: (0..0 & Integer | 1..2 & Expression) Width: '(' 'Width' ! Coordinate ')' Wire: '(' 'Wire' ! Identifier Identifier [FigureGroup] Property* ')' Written: '(' 'Written' ! TimeStamp (Accounting | Comment | UserData)* ')' Κ6˜Icode˜KšΠbl ˜ Kš œ Οbœž œΟi œŸœžœ˜6Kš œ žœžœŸœžœ˜9šœžœžœ˜(Kšœ/Οuœžœ˜4—Kšœ žœž œžœ˜)Kšœžœžœžœ˜&Kš œžœžœŸ œ  œžœ˜Dšœžœžœ˜FKšœ œžœ˜—Kšœ ž œž œž œ˜4Kš œ žœžœŸ œ  œžœ˜1Kš œžœžœŸ œžœ˜Kš œžœžœ& œžœ˜:K˜4Kš œžœž œŸœŸœžœ˜7Kš œžœžœ4 œžœ˜JKš œ žœž œŸœžœ˜'šœžœžœŸ œ˜:Kšœ œžœ˜ —Kš œ žœžœ œžœ˜0Kš œžœžœŸœŸœŸœžœ˜0Kš œ žœžœŸ œžœ˜$Kš œ žœž œ œžœ˜%Kš œ žœž œ  œ  œžœ˜5šœ žœžœ˜˜>K˜@K˜@Kšœ œžœ˜——K˜4K˜Kš œžœžœŸ  œžœ˜BKšœŸœ˜ Kš œžœžœ œžœ˜2šœ žœžœ2˜EKšœ œžœ˜ —KšœŸ œ˜,K˜0Kš œžœžœ œžœ˜4Kš œžœžœ œ  œžœ˜/šœ žœžœŸ œ˜>Kšœ œžœ˜—Kš œ žœžœžœžœž œ˜CKš œžœžœ œžœ˜$š œžœžœŸ œ œ ˜7Kšœ2 œžœ˜7—Kšœ žœž œžœ˜.Kšœžœžœžœ˜ Kš œžœž œŸœŸœŸœžœ˜šœžœžœ˜6Kšœ œžœ˜!—Kš œ žœž œ  œ  œžœ˜2Kš œ žœžœŸ œžœ˜5šœžœžœžœžœžœžœžœ˜EKšœžœ˜ —Kš œ žœžœŸ  œžœ˜*Kš œ žœž œŸ œžœ˜:˜Kšœ ŸœŸœ˜-K˜)šœ žœžœŸ œ˜:Kšœ œžœ˜—KšœžœžœŸ œ˜,K˜0Kš œ žœž œ œžœ˜6Kš œžœžœ Ÿ œžœ˜$K˜#Kš œžœžœ  œžœ˜*K˜'Kš œžœžœ  œžœ˜.Kš œ žœžœŸ œŸœžœ˜,KšœžœžœŸ œŸœŸœŸœŸ œžœ˜JKš œ žœžœŸ œ œžœ˜0Kš œ žœžœ œžœ˜Kšœžœžœžœ˜/Kš œžœžœŸœŸœžœ˜,Kšœ žœžœžœ˜0Kšœ žœžœžœ˜0Kš œ žœžœŸœŸœ œžœ˜BKš œžœžœ  œ  œžœ˜*šœžœž œŸ œ˜,Kšœ" œžœ˜'—š œ žœžœŸ œŸ œ˜1˜>Kšœ œžœ˜——šœžœžœŸ œ˜BKšœžœ˜—šœžœž œ˜9Kšœ œžœ˜$—Kš œžœžœŸ  œžœ˜8Kš œ žœžœ  œžœ˜%Kš œ žœž œ  œ  œžœ˜5š œ žœžœŸ œŸ œŸ œ˜FKšŸ œžœ˜—Kš œ žœžœŸ  œžœ˜*šœ žœžœ˜1Kšœ œžœ˜#—Kšœžœžœ'žœ˜8Kšœ žœžœžœ˜(šœ žœž œŸ œ˜=˜@K˜8Kšœ  œžœ˜——šœ žœž œŸœŸœŸœŸœŸœ˜EKšŸœžœ˜ —šœ žœžœŸ œ˜"Kšœ% œžœ˜*—šœ žœž œ$˜=Kšœ žœ˜—Kš œ žœž œŸ œŸ œžœ˜FKšœ žœž œžœ˜,Kšœžœžœžœ˜š œžœžœŸ œžœ˜Cš œžœžœŸ œžœ˜4š œžœžœŸ œžœ˜4š œžœžœŸ œžœ˜4šœžœžœ˜ šœžœžœŸ œ˜KšœžœžœŸ œŸ œŸ œžœžœ˜6—šœžœžœŸ œ˜KšœžœžœŸ œŸ œŸ œžœžœžœžœžœžœžœ˜I——————š œž œžœžœ žœ˜;Kšœ žœ žœ žœ˜8Kšœ žœ˜#—Kšœžœž œžœ˜(Kšœ žœž œžœ˜ KšœžœŸ œ˜š œ ž œžœžœž œ˜AKšœž œžœžœ˜&—Kš œ žœžœ  œžœ˜%Kš œ žœžœŸ œŸ œžœ˜/K˜šœžœžœ Ÿ œ!˜GKšœ œžœ˜"—šœ žœžœ˜Kšœ8 œžœ˜=—š œ žœžœžœž œžœ˜JKšœž œžœ˜—Kš œ žœž œŸ œžœ˜@Kš œ žœž œ% œžœ˜EKš œžœžœŸ œŸ œžœ˜8KšœŸœ˜1Kšœžœžœžœ˜#Kš œžœžœŸ œŸ œ œžœ˜DKš œ žœžœ/ œžœ˜I—…—+6