kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #04636
New File Formats
Wayne Stambaugh wrote:
I'm interested in what you come up with for clipboard support. At some
point I would like to add clipboard support to the component library
editor after the lexer is in place.
(Wayne knows I was talking about a new footprint format.)
Check this out:
http://en.wikipedia.org/wiki/EDIF
It is a good read, and it has some nice references at the bottom.
Frank Bennet has that sourceforge based edif2kicad translator. Some of
that functionality can eventually pulled into the upcoming Kicad
loaders/parsers using our planned recursive descent parsing with
DSNLEXER strategies. (I am guessing that the DSNLEXER could handle the
EDIF format with a proper keyword table, although it was my desire to
commit to lowercase only keywords, whereas EDIF seems to use uppercase,
a minor point.)
I have stated them before, I state them again. My drivers for new
formats are these, the files:
1) will be *very* human readable. You should be able to created them
easily with a text editor in a pinch, or as a measure of human
readability. This will also ease the process of writing translators TO
the new kicad formats.
2) self documenting. this means that when balancing small size against
descriptiveness, descriptiveness should weigh more.
3) our recursive descent parsing design is also self documenting in the
source code. The recursive descent structuring of the code is very easy
to follow, modify, and extend.
4) the exact line number and character offset of any error is provided,
with a text message that we control. Error handling is focused in a
single exception handler.
5) these formats can be designed to be clipboard compatible. to see
what's on the clipboard, treat it as text, read the first two DSNLEXER
tokens, you have already a description of the clipboard contents (object
type).
6) it gives us a chance to "fix" a number problems that we have been
procrastinating as previously identified by Jean-Pierre and others. (I
say "gives us a chance" for a reason.)
7) the new formats are easily extensible.
Maybe it's time to move this to one of the blueprints on launchpad. I
will create one dedicated to footprints soon. My thinking is to walk
before we run. Footprints are a smaller discussion and eventually
become part of a larger discussion of a new board format. Whereas Wayne
will probably want to head up a similar discussion and follow a similar
path with respect to symbols and schematics.
Dick
Follow ups
References