[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Parsing and writing schematics with Perl
http://search.cpan.org/dist/Parse-GEDA-Gschem/
Parse::GEDA::Gschem version 1.00
NAME
Parse::GEDA::Gschem - gEDA/gaf gschem schematic file parser
DESCRIPTION
Collection of routines used to parse and write back schematic
files of the
format specified by gEDA gschem schematic capture tool as
detailed at:
http://www.geda.seul.org/wiki/geda:file_format_spec
REQUIREMENTS:
perl 5.10
EXAMPLE:
my @schFiles = (); # array of schematic file path/names
my @files = (); # array of schematic objects
bakSchFiles(\@schFiles); # backup schematic files in bak/year-m-
d_h-m-s/
$files = @{readSchFiles(\@schFiles)}; # parses the schematic files
writeMsg(1, Dumper(\@files)); # prints out the entire data
structure
writeSchFiles(\@files); # write the data structure into schematic
files
Parse::gaf::gschem is a collection of routines used to parse
a .sch file
into a convenient perl array of hashes data structure in memory.
This array can then be used to extract information about the
schematics,
or it can be altered to apply specific changes to the schematics.
The array can then be written back to the schematic files.
One could even build such array of hashes data structure without
reading
any input schematic file to programmatically generate new
schematic files.
LIMITATIONS
[see README file]
Does not handle the new "path" objects, see http://geda.seul.org/wiki/geda:file_format_spec
, and does not check for the validity of the file format version
either, sorry. I will fix this.
You can't search for it on http://search.cpan.org yet, but you can
browse to it, or use the link http://search.cpan.org/dist/Parse-GEDA-Gschem/
You need perl 5.10.0 or higher.
You need http://search.cpan.org/~dconway/Parse-RecDescent-1.96.0/, or
higher, which you can only get by downloading it. Using the usual
"cpan install Parse::RecDescent" will only get you version 1.94, which
has known bugs.
Tested on ubuntu-8.10-desktop-amd64, on VMWare Fusion 2.0.
Please try it out, see the demo in the demo/ directory, and let me
know of any issues.
Stay tuned for more to come about an enhanced version of demo/
demo_geda-usch.pl and design workflow.
Enjoy! And please be gentle, I am no SW programmer...
_jP
On Apr 21, 2008, at 1:31 PM, Peter Clifton wrote:
> On Mon, 2008-04-21 at 13:03 +0200, fricker wrote:
>>> On 21 avr. 08, at 11:39, Peter Clifton wrote:
>>>> On 21 avr. 08, at 10:22, fricker wrote:
>>>>
>>>> What I need to achieve all of this is a Perl module that offers:
>>>> - readFiles(\@files) that returns a reference to an array of hashes
>>>> (file names are pushed into the data structure)
>>>> - writeFiles(\@data) that writes the data structure back into the
>>>> files (file names are within the data structure already)
>>>>
>>>> I could package what I have and share it if anyone is interested.
>>>
>>> I think a lot of people would appreciate that, I'd certainly be
>>> interested.
>>
>> Hum, what would be the best way to distribute (and maintain) such
>> thing then?
>> 1) make it part of the gEDA distribution
>> 2) keep it independent and post it on CPAN, as Parser::gschem by
>> example
>> 3) ?
>>
>> My guess is that 2) is probably more effective, any other opinion?
>> Please speak-up.
>
> Its been a long time since I coded with Perl (aside from modifying
> refdes_renum), so am not really up-to-date with how modules are
> distributed. Is it a single .pm file, or a more complex archive?
>
> Many contributors sign up for an account on http://
> www.gedasymbols.org/
> and post their scripts, footprints, symbols there.
>
> Best wishes,
>
> Peter C.
>
>
>
>
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user