|Source-to-source transformation: best approach? firstname.lastname@example.org (SomeDeveloper) (2007-08-04)|
|Re: Source-to-source transformation: best approach? DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-08-07)|
|Re: Source-to-source transformation: best approach? Meyer-Eltz@t-online.de (Detlef Meyer-Eltz) (2007-08-11)|
|Re: Source-to-source transformation: best approach? email@example.com (2007-08-11)|
|Re: Source-to-source transformation: best approach? cfc@shell01.TheWorld.com (Chris F Clark) (2007-08-12)|
|Re: Source-to-source transformation: best approach? firstname.lastname@example.org (Jim Cordy) (2007-08-14)|
|From:||Detlef Meyer-Eltz <Meyer-Eltz@t-online.de>|
|Date:||Sat, 11 Aug 2007 01:04:32 +0200|
>Basically, I do not know what conceptual 'dead-end' I'd run into in
>future if today I were to choose a recursive descent parser such as
TXL is an interesting quite new approach for source to source
translations. I never used it and can't estimate the difficulties in
which you can run with it.
My opinion: if you want to be sure that you don't get into a dead end,
then choose a parser generator which supports a language which you
master well and which is able to parse your source language. If you
can parse your source language with a recursive descent parser, this
is certainly a good choice. If you can parse the sources with it, you
also will find a way to translate them.
Except from TXL I don't recommend automatically generated AST's. They
might be useful, if the same grammar shall be used for different
purposes. But to evaluate them, you have to do a kind of secondary
parsing to look up the information you need. In recursive descent
parsers you can already do some new arrangements of the parsed input
during the parsing process. You can arrange it in a special tree
designed by you, which is appropriate for your translation. You also
can build a table of the just recognized types.
If you would have told, with which pair of languages you are dealing,
I could have made perhaps more concrete suggestions. Personally, I'm
just developing a translator from c++ to java. I'm using
TextTransformer (http://www.texttransformer.com) for this job.
Return to the
Search the comp.compilers archives again.