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([EMAIL PROTECTED]); # backup schematic files in bak/year-m- 
d_h-m-s/
     $files = @{readSchFiles([EMAIL PROTECTED])}; # parses the schematic files
     writeMsg(1, Dumper([EMAIL PROTECTED])); # prints out the entire data  
structure
     writeSchFiles([EMAIL PROTECTED]); # 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([EMAIL PROTECTED]) that returns a reference to an array of 
>>>> hashes
>>>> (file names are pushed into the data structure)
>>>> - writeFiles([EMAIL PROTECTED]) 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
> [email protected]
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user



_______________________________________________
geda-user mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

Reply via email to