Mail Archives: geda-user/2015/12/26/23:04:55
--047d7b5d49760d7bbc0527d9494d
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
On Fri, Dec 25, 2015 at 12:13 PM, John Doty <jpd AT noqsi DOT com> wrote:
>
> On Dec 25, 2015, at 1:38 PM, Britton Kerin (britton DOT kerin AT gmail DOT com) [via
> geda-user AT delorie DOT com] <geda-user AT delorie DOT com> wrote:
>
>
>
> On Thu, Dec 24, 2015 at 1:39 PM, John Doty <jpd AT noqsi DOT com> wrote:
>
>>
>> On Dec 24, 2015, at 12:53 PM, Britton Kerin (britton DOT kerin AT gmail DOT com)
>> [via geda-user AT delorie DOT com] <geda-user AT delorie DOT com> wrote:
>>
>> Agreed. I like YAML for this reason. You get a parser in every languag=
e
>> for free, without any other library material required.
>>
>> AWK? sed? grep? cut? sort?
>>
>
> Why not? Unless a newline in your regex really frightens you that much..=
.
>
>
>> Records separated by newline with fields separated by whitespace is
>> *better* supported than YAML or any of the other candidates mentioned. T=
he
>> only things it lacks for our purposes is a spiffy name and the need for
>> extra layers of lasagna code.
>>
>
> Fine. Put your money where your mouth is. Send me a full parser for pcb
> files with binding for perl, python, ruby, C, and virtually every other
> extant language.
>
>
> I=E2=80=99m not talking about pcb. I=E2=80=99m talking about geda-gaf
>
> Geda-gaf is a much cleaner design. The pcb format doesn=E2=80=99t even re=
present a
> proper model of what a printed circuit board is.
>
> Writing a parser for geda-gaf files is simpler than penetrating an API
> wrapping such a parser. That doesn=E2=80=99t mean you can do either in an=
instant.
>
Highly unlikely for .sch, no chance whatsoever for pcb. We're talking
about one function call in each direction form YAML/JSON. Not that I would
advocate doing anything to sch format.
> It's easy so you should be able to get it to me BEFORE your next bs email=
.
>
> If having common parser makes things so easy, you should be able to
> document API=E2=80=99s
>
I thought you were the one who thought accessible file formats were a good
idea, and bundling big APIs around them not necessarily? So there's
nothing to document. Parsers are relatively easy but as you admit not
exactly instantaneous, so why not use a setup that obviates the need for
them? The major difference for people wanting to parse things themselves is
that the fields have names, so you just read the name rather than digging
through the spec or running a little experiment to figure out which
positional field is which. In other words its easier for that purpose too.
Using an accessible format is entirely in keeping with the toolbox
philosophy which you normally advocate so strongly for in gEDA. Why should
pcb be the only program that can easily fully parse pcb files?
Britton
--047d7b5d49760d7bbc0527d9494d
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Fri, Dec 25, 2015 at 12:13 PM, John Doty <span dir=3D"ltr"><<a hr=
ef=3D"mailto:jpd AT noqsi DOT com" target=3D"_blank">jpd AT noqsi DOT com</a>></span> =
wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bord=
er-left:1px #ccc solid;padding-left:1ex"><div style=3D"word-wrap:break-word=
"><br><div><div>On Dec 25, 2015, at 1:38 PM, Britton Kerin (<a href=3D"mail=
to:britton DOT kerin AT gmail DOT com" target=3D"_blank">britton DOT kerin AT gmail DOT com</a>) =
[via <a href=3D"mailto:geda-user AT delorie DOT com" target=3D"_blank">geda-user AT d=
elorie.com</a>] <<a href=3D"mailto:geda-user AT delorie DOT com" target=3D"_bla=
nk">geda-user AT delorie DOT com</a>> wrote:</div><br><blockquote type=3D"cite"=
><div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_qu=
ote">On Thu, Dec 24, 2015 at 1:39 PM, John Doty <span dir=3D"ltr"><<a hr=
ef=3D"mailto:jpd AT noqsi DOT com" target=3D"_blank">jpd AT noqsi DOT com</a>></span> =
wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bord=
er-left:1px #ccc solid;padding-left:1ex"><div style=3D"word-wrap:break-word=
"><span><br><div><div>On Dec 24, 2015, at 12:53 PM, Britton Kerin (<a href=
=3D"mailto:britton DOT kerin AT gmail DOT com" target=3D"_blank">britton DOT kerin AT gmail DOT c=
om</a>) [via <a href=3D"mailto:geda-user AT delorie DOT com" target=3D"_blank">ged=
a-user AT delorie DOT com</a>] <<a href=3D"mailto:geda-user AT delorie DOT com" target=
=3D"_blank">geda-user AT delorie DOT com</a>> wrote:</div><br><blockquote type=
=3D"cite"><span style=3D"font-family:Helvetica;font-size:12px;font-style:no=
rmal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-heig=
ht:normal;text-align:start;text-indent:0px;text-transform:none;white-space:=
normal;word-spacing:0px;float:none;display:inline!important">Agreed.=C2=A0 =
I like YAML for this reason.=C2=A0 You get a parser in every language for f=
ree, without any other library material required.</span></blockquote></div>=
</span><div>AWK? sed? grep? cut? sort?</div></div></blockquote><div><br></d=
iv><div>Why not?=C2=A0 Unless a newline in your regex really frightens you =
that much...</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div sty=
le=3D"word-wrap:break-word">Records separated by newline with fields separa=
ted by whitespace is *better* supported than YAML or any of the other candi=
dates mentioned. The only things it lacks for our purposes is a spiffy name=
and the need for extra layers of lasagna code.</div></blockquote><div><br>=
</div><div>Fine.=C2=A0 Put your money where your mouth is.=C2=A0 Send me a =
full parser for pcb files with binding for perl, python, ruby, C, and virtu=
ally every other extant language.</div></div></div></div></blockquote><div>=
<br></div>I=E2=80=99m not talking about pcb. I=E2=80=99m talking about geda=
-gaf</div></div></blockquote><div><br></div><div>=C2=A0</div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex"><div style=3D"word-wrap:break-word"><div>Geda-gaf is a muc=
h cleaner design. The pcb format doesn=E2=80=99t even represent a proper mo=
del of what a printed circuit board is.</div><div><br></div><div>Writing a =
parser for geda-gaf files is simpler than penetrating an API wrapping such =
a parser. That doesn=E2=80=99t mean you can do either in an instant.</div><=
/div></blockquote><div><br></div><div style=3D"">Highly unlikely for .sch, =
no chance whatsoever for pcb.=C2=A0 We're talking about one function ca=
ll in each direction form YAML/JSON.=C2=A0 Not that I would advocate doing =
anything to sch format.</div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style=3D"w=
ord-wrap:break-word"><div><blockquote type=3D"cite"><div dir=3D"ltr"><div c=
lass=3D"gmail_extra"><div class=3D"gmail_quote"><div>It's easy so you s=
hould be able to get it to me BEFORE your next bs email.</div></div></div><=
/div></blockquote>If having common parser makes things so easy, you should =
be able to document API=E2=80=99s </div></div></blockquote><div><br></div><=
div style=3D"">I thought you were the one who thought accessible file forma=
ts were a good idea, and bundling big APIs around them not necessarily?=C2=
=A0 So there's nothing to document.=C2=A0 Parsers are relatively easy b=
ut as you admit not exactly instantaneous, so why not use a setup that obvi=
ates the need for them? The major difference for people wanting to parse th=
ings themselves is that the fields have names, so you just read the name ra=
ther than digging through the spec or running a little experiment to figure=
out which positional field is which.=C2=A0 In other words its easier for t=
hat purpose too.</div><div style=3D""><br></div><div style=3D"">Using an ac=
cessible format is entirely in keeping with the toolbox philosophy which yo=
u normally advocate so strongly for in gEDA.=C2=A0 Why should pcb be the on=
ly program that can easily fully parse pcb files?</div><div><br></div><div =
style=3D"">Britton</div></div></div></div>
--047d7b5d49760d7bbc0527d9494d--
- Raw text -