<br><div class="gmail_quote">On Fri, Apr 8, 2011 at 1:49 PM, Javier Pimás <span dir="ltr">&lt;<a href="mailto:elpochodelagente@gmail.com">elpochodelagente@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="gmail_quote"><div class="im">On Fri, Apr 8, 2011 at 3:41 AM, Tudor Girba <span dir="ltr">&lt;<a href="mailto:tudor.girba@gmail.com" target="_blank">tudor.girba@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



Hi Javier,<br>
<div><br>
On 8 Apr 2011, at 05:37, Javier Pimás wrote:<br>
<br>
&gt; Hi,<br>
&gt;      I took some time to start developing a C parser with PetitParser. I used the slides of the smalltalk school, they were pretty useful, and after some hours I have a very basic tokens scanner. The idea of this work is to be able to feed the parser with C headers and automagically get the C bindings done in smalltalk.<br>




<br>
<br>
</div>Nice. I took a quick look. If you want to scale, please write tests (one small example per test). Grammars become complex and if you do not have close to 100% coverage, you will get stuck.<br>
<br></blockquote><div><br></div></div><div>OK, I&#39;ll try. One question regarding PP: I started coding by looking at PPArithmeticParser, and noticed that for each sub-grammar you have a method and an instance named the same way, is that a requirement? If I don&#39;t add the instances this sub-grammars are not shown in the PPBrowser.</div>

</div></blockquote><div><br></div><div>Yes, I think it is a requirement. Otherwise, the parsers can&#39;t be initialized. Look at: PPCompositeParser&gt;&gt;#initializeStartingAt:</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="gmail_quote">

<div> </div><div>Regards,</div><div>            Javier.</div><div class="im"><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Cheers,<br>
Doru<br>
<div><div></div><div><br>
<br>
<br>
&gt; Now I have to actually start doing something with the scanned code. How should I do that, all in the same class? What if I want to generate bindings for different kinds of FFIs? Other question, how should I handle preprocessing? (now there isn&#39;t any kind of preprocessing)<br>




&gt;<br>
&gt; You can see the code, download it and commit improvements to the repo at <a href="http://www.squeaksource.com/Bindings" target="_blank">www.squeaksource.com/Bindings</a><br>
&gt;<br>
&gt; Anybody who is interested is welcomed to help in the development!<br>
&gt;<br>
&gt; Regards,<br>
&gt;           Javier.<br>
&gt;<br>
&gt; --<br>
&gt; Javier Pimás<br>
&gt; Ciudad de Buenos Aires<br>
<br>
</div></div><font color="#888888">--<br>
<a href="http://www.tudorgirba.com" target="_blank">www.tudorgirba.com</a><br>
<br>
&quot;Sometimes the best solution is not the best solution.&quot;<br>
<br>
<br>
</font></blockquote></div></div><div><div></div><div class="h5"><br><br clear="all"><br>-- <br>Javier Pimás<br>Ciudad de Buenos Aires<br>
</div></div></blockquote></div><br>