[Mono-list] GCC front-end?
Thu, 12 Jul 2001 01:50:38 +1000
On 10-Jul-2001, John Zedlewski <zedlwski@Princeton.EDU> wrote:
> On the roadmap, it seems to imply that y'all are working on a
> completely new "JIT" compiler for the CLI. I'm curious about why this
> is a better plan than writing a Gcc front-end for CLI bytecode.
I've been seriously thinking about doing that for quite a while now; since
long before Mono was announced. Technically I think it is a very good idea.
The main drawback, from my perspective, is that doing so would increase
the acceptance of .NET, which would be good for Microsoft, which would
increase world-wide income inequity, and concentrate too much power in
the hands of too few, and that would be bad.
I remember when I first heard of C++; it was from Bell Labs, same place
as C, and it had some nice technical improvements to C. But it was a
new language, and it didn't have the same degree of vendor support that
C had. Was it really worth writing code in this new language?
I first became convinced that C++ would become popular when I heard
that there was a GNU C++ implementation. The existence of a free
software implementation can be quite important to people's decisions
as to whether or not to adopt a particular piece of technology.
> Some old posts from the Mercury folks implied that they were able to do the
> Mercury->gcc interface in under 8,000 LOC.
The GCC-specific parts were under 8,000 LOC.
There's also about 15,000 LOC that accepts
parse tree from the front-end (already type-checked, etc.)
and converts it into a form which is closer to C.
That 15,000 LOC is also used by other back-ends (C, Java, ...).
A big part of the work in writing a GCC front-end for CLI bytecode is
very similar to the work in writing a CLI decompiler. Once you've got
something that is roughly C-like, the rest is pretty easy.
Fergus Henderson <email@example.com> | "I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.