Re: Need to develop a compiler "source to source".

Nick Roberts <nick.roberts@acm.org>
25 Dec 2004 20:18:28 -0500

          From comp.compilers

Related articles
Need to develop a compiler "source to source". juoke@katamail.com (2004-12-23)
Re: Need to develop a compiler "source to source". demakov@ispras.ru (Alexey Demakov) (2004-12-25)
Re: Need to develop a compiler "source to source". rtr@quadstone.com (2004-12-25)
Re: Need to develop a compiler "source to source". nick.roberts@acm.org (Nick Roberts) (2004-12-25)
| List of all articles for this month |

From: Nick Roberts <nick.roberts@acm.org>
Newsgroups: comp.compilers
Date: 25 Dec 2004 20:18:28 -0500
Organization: Compilers Central
References: 04-12-106
Keywords: translator
Posted-Date: 25 Dec 2004 20:18:28 EST

juoke@katamail.com (Juoke) wrote:


> I need to develop a (complex) compiler that translate from an high-level
> source - given the (e)bnf, quite long... - to another high-level source. I
> know there are dozens of apps, but I'm asking which one would be better,
> in your opinion.


I think you should investigate the Prolog programming language.


Prolog is a declarative language which is especially well suited to
complex textual manipulations, including translations. The translation
rules can be written in a (usually) very intelligible form, so that a
very complex translation can be built up from a (large) set of
relatively simple rules.


Because it is a full programming language, and most versions can
interface to other programming languages anyway, Prolog can be more
practical than seemingly 'easy' tools, in the end, for real life
projects.


There is a Prolog resources list on the web page:


      http://www.magicseyer.com/prolog_links.htm


I have used (and can can recommend) SWI Prolog, which is free:


      http://www.swi-prolog.org/


I think SWI has a great interface and excellent debugger, but you may
wish to try out some other Prologs, some of which have a GUI IDE
(e.g. Amzi, Stawberry).


--
Nick Roberts


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.