maybe, tomorrow I&#39;ll see if I have some free time to continue and see how to handle it.<div><br></div><div>Regards,</div><div>         Javier.<br><br><div class="gmail_quote">On Fri, Apr 8, 2011 at 4:34 PM, Ricardo Moran <span dir="ltr">&lt;<a href="mailto:richi.moran@gmail.com">richi.moran@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;"><br><br><div class="gmail_quote"><div class="im">On Fri, Apr 8, 2011 at 1:57 PM, Javier Pimás <span dir="ltr">&lt;<a href="mailto:elpochodelagente@gmail.com" target="_blank">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">

<br><br><div class="gmail_quote"><div>On Fri, Apr 8, 2011 at 1:08 PM, Alexandre Bergel <span dir="ltr">&lt;<a href="mailto:alexandre.bergel@me.com" target="_blank">alexandre.bergel@me.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

What is tricky with analyzing C are macros and preprocessors directive.<br>
srcML does a satisfactory job. But indeed, having a solution based on PetitParser is indeed promising.</blockquote><div> </div></div><div>Yes, and I don&#39;t know what to do, and would like to know if you or someone else have any idea of how to solve it. I will think some approach, but if you have some idea to share it would be better so I go directly to a good solution. I&#39;m thinking that to feed the parser I&#39;ll have to preprocess the string with another parser, and make a string to string conversion by having a set of defines and paths so that #includes and #ifdefs work. But probably I&#39;ll need a cache because the generated string will be huge.</div>





<div><br></div><div>What do you think?</div></div></blockquote><div><br></div></div><div>Can&#39;t macros and preprocessor directives be represented as just another nodes in the AST?</div><div><div></div><div class="h5">

<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><br></div><div>Regards,</div><div>            Javier. </div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers,<br>
Alexandre<br>
<div><div></div><div><br>
<br>
On 7 Apr 2011, at 23:53, Javier Pimás wrote:<br>
<br>
&gt; by the way, the grammar is based on<br>
&gt;<br>
&gt; <a href="http://www.quut.com/c/ANSI-C-grammar-l-1998.html" target="_blank">http://www.quut.com/c/ANSI-C-grammar-l-1998.html</a><br>
&gt;<br>
&gt; and<br>
&gt;<br>
&gt; <a href="http://www.quut.com/c/ANSI-C-grammar-y.html" target="_blank">http://www.quut.com/c/ANSI-C-grammar-y.html</a><br>
&gt;<br>
&gt; I&#39;d be very grateful if you contribute to cover the full extent of it!<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Apr 8, 2011 at 12:37 AM, Javier Pimás &lt;<a href="mailto:elpochodelagente@gmail.com" target="_blank">elpochodelagente@gmail.com</a>&gt; wrote:<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>






&gt;<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>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Javier Pimás<br>
&gt; Ciudad de Buenos Aires<br>
<br>
</div></div><font color="#888888">--<br>
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:<br>
Alexandre Bergel  <a href="http://www.bergel.eu" target="_blank">http://www.bergel.eu</a><br>
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.<br>
<br>
<br>
<br>
<br>
<br>
<br>
</font></blockquote></div></div><div><div></div><div><br><br clear="all"><br>-- <br>Javier Pimás<br>Ciudad de Buenos Aires<br>
</div></div></blockquote></div></div></div><br>
</blockquote></div><br><br clear="all"><br>-- <br>Javier Pimás<br>Ciudad de Buenos Aires<br>
</div>