NET CHANGER : Format

EDIF200

The general format of EDIF involves using parentheses to delimit data definitions, and in this way it superficially resembles Lisp.
The basic tokens of EDIF 2.0.0 were keywords (like library, cell, instance, etc.), strings (delimited with double quotes), integer numbers, symbolic constants (e.g. GENERIC, TIE, RIPPER for cell types) and "Identifiers", which are reference labels formed from a very restricted set of characters. 
A typical EDIF file looks like this:

(edif fibex  (edifVersion 2 0 0)
  (edifLevel 0) (keywordMap (keywordLevel 0))
  (status (written (timeStamp 1995 1 1 1 1 1) (program "xxx" (version "v1"))))
  (library xxx (edifLevel 0)
    (technology (numberDefinition (scale 1 (e 1 -6) (unit distance))))
    (cell dff_4 (cellType generic)
      (view view1 (viewType netlist)
        (interface
          (port aset (direction INPUT))
          (port clok (direction INPUT))
    ...
    (cell yyy (cellType generic)
      (view schematic_ (viewType netlist)
        (interface
          (port CLEAR (direction INPUT))
          (port CLOCK (direction INPUT)) ... )
        (contents
           (instance I_36_1 (viewRef view1 (cellRef dff_4)))
           (instance (rename I_36_3 "I$3") (viewRef view1 (cellRef addsub_4)))
           ...
           (net CLEAR
             (joined
               (portRef CLEAR)
                 (portRef aset (instanceRef I_36_1))
                 (portRef aset (instanceRef I_36_3))))
    ...