<div dir="ltr">Lazarus has a Pascal tokenizer unit under components\mpaslex\mpaslex.pp. It seems old and doesn't look like it supports the full FPC syntax, but it might be a starting point since most likely you can convert the code to C++ with GNU GCC extensions (nested functions, etc) straightforward.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 23, 2014 at 6:25 PM, Vsevolod Alekseyev <span dir="ltr"><<a href="mailto:sevaa@sprynet.com" target="_blank">sevaa@sprynet.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I don't see local variable definitions there, either...<div class="HOEnZb"><div class="h5"><br>
<br>
On 10/23/2014 12:15 PM, Nikolay Nikolov wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 23.10.2014 г. 18:59, Vsevolod Alekseyev wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On second look, no, the -vp tree is not sufficient. It doesn't have datatype definitions, doesn't have interface definitions...<br>
</blockquote>
True. I guess, you can try to use ppudump in order to dump these definitions. It'll only work for units though, but I guess it shouldn't be too hard to make the compiler output ppu files for programs as well.<br>
<br>
Nikolay<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On 10/22/2014 4:44 AM, Nikolay Nikolov wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 10/22/2014 12:23 AM, Vsevolod Alekseyev wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<br>
<br>
I wonder where in the FPC compilation flow would be a good spot to dump the parsed syntax tree of a source?<br>
<br>
Here's why I'm asking. For a while now, I've been struggling to adapt a bunch of Pascal code to various mobile platforms. It's been painful. The code itself is pretty conservative feature-wise, almost K&R C-like (except sets and ansistrings). I wonder if I could slap together a quick and dirty Pascal-to-C converter just for this codebase to work, but I'd rather reuse the existing parsing logic.<br>
<br>
So if anyone could point me at a spot in the FPC source where the source tree is more or less ready, that's be nice. Thanks in advance.<br>
</blockquote>
The compiler already supports dumping the parse tree when you use the -vp option. But it's more intended for debugging the compiler - I don't know if it'll work for you.<br>
<br>
Nikolay<br>
______________________________<u></u>_________________<br>
fpc-devel maillist  -  <a href="mailto:fpc-devel@lists.freepascal.org" target="_blank">fpc-devel@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel" target="_blank">http://lists.freepascal.org/<u></u>cgi-bin/mailman/listinfo/fpc-<u></u>devel</a><br>
<br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
fpc-devel maillist  -  <a href="mailto:fpc-devel@lists.freepascal.org" target="_blank">fpc-devel@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel" target="_blank">http://lists.freepascal.org/<u></u>cgi-bin/mailman/listinfo/fpc-<u></u>devel</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
fpc-devel maillist  -  <a href="mailto:fpc-devel@lists.freepascal.org" target="_blank">fpc-devel@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel" target="_blank">http://lists.freepascal.org/<u></u>cgi-bin/mailman/listinfo/fpc-<u></u>devel</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
fpc-devel maillist  -  <a href="mailto:fpc-devel@lists.freepascal.org" target="_blank">fpc-devel@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel" target="_blank">http://lists.freepascal.org/<u></u>cgi-bin/mailman/listinfo/fpc-<u></u>devel</a><br>
</div></div></blockquote></div><br></div>