[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: summer of code ideas

From: Ludovic Courtès
Subject: Re: summer of code ideas
Date: Tue, 08 Mar 2011 14:00:45 +0100
User-agent: Gnus/5.110013 (No Gnus v0.13) Emacs/23.2 (gnu/linux)


Noah Lavine <address@hidden> writes:

>>> We talked about having a Scheme-based language that could compile to
>>> both plain C and JIT, but decided that would make the VM too
>>> complicated,
>> Maybe I forgot to feed that thread, but I think it might be easier to
>> have a high-level representation the VM opcodes as sexps (possibly a
>> subset of Scheme), and then write the C files from that.
>> Though the main difficulty is to find a sufficiently expressive way to
>> write opcodes in.
> Oh dear. My impression was that we had decided to use a C parser. If
> not, I think the hardest part of making this work would be making the
> C output look nice. Libjit and C are such similar languages that
> making the translator would be quite simple.

Well I think Andy preferred parsing C code and generating whatever the
JIT needs from that.  My intuition is that doing it the other way around
may be simpler and possibly more elegant, but I haven’t looked into the

Anyway, you’re the one doing the actual work, so if you find a solution
that works well for everyone, then you’re done.  :-)

> Also, after looking at the MELT project and the Modula-2 frontend, I'd
> say they might be receptive to the idea of using a high-level language
> to write parts of GCC.

I think there’s no “they”—i.e., there are many hackers, and probably
diverging views.  In practice, MELT is still in a separate branch and
isn’t used internally, though.

Technically, there are a few issues with MELT: currently it requires
both the source and build tree of GCC because of its tight integration
with GCC’s internals (for instance it requires ‘gengtype’.)  This is
just to illustrate that using GCC as a library may prove to be


reply via email to

[Prev in Thread] Current Thread [Next in Thread]