Hello, Noah Lavine <noah.b.lav...@gmail.com> 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 details. 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 difficult. Thanks, Ludo’.