← Back to team overview

kicad-developers team mailing list archive

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:


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.


Follow ups