Related articles |
---|
Translation between high level languages Mikal.Ziane@lip6.fr (Mikal Ziane) (1997-11-29) |
Re: Translation between high level languages hbaker@netcom.com (1997-11-30) |
Re: Translation between high level languages henry@zoo.toronto.edu (Henry Spencer) (1997-11-30) |
Re: Translation between high level languages dweller@universe.digex.net (1997-11-30) |
Re: Translation between high level languages lampe@math.tu-dresden.de (J.Lampe) (1997-12-02) |
Re: Translation between high level languages mslamm@pluto.mscc.huji.ac.il (1997-12-14) |
From: | Henry Spencer <henry@zoo.toronto.edu> |
Newsgroups: | comp.compilers,comp.theory |
Date: | 30 Nov 1997 22:54:08 -0500 |
Organization: | SP Systems, Toronto |
Distribution: | inet |
References: | 97-11-169 |
Keywords: | translator |
Our moderator wrote:
>[The issues in translating to a high level language aren't all that different
>from translating to assembler, except that people care a lot more about the
>appearance and structure of the output code...
In fact, there are two distinct classes of such translators, based on
whether the translator attempts to produce human-maintainable code, or
doesn't. It's worth making a distinction between *compiling* to
another language and *translating* to it, where the latter implies (as
in the translation of human languages) that the result is readable
without reference to the original.
Simply compiling from one language into another is sometimes not too
problematic, as witness f2c, which does quite a good job of turning
Fortran 77 into C. (I've used f2c for a few production applications.)
However, a straightforward approach to this typically does not make
the output code readable and maintainable enough that you could throw
away the original source... which is often what people want to do.
Full and proper translation, with maintainable output, is a very hard
problem; I'm told that existing tools aimed at doing this typically
are interactive and rely heavily on human assistance.
--
| Henry Spencer
| henry@zoo.toronto.edu
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.