On Tue, 14 Sep 2010 23:33:37 +0400, Nick Sabalausky <a...@a.a> wrote:

"Eldar Insafutdinov" <e.insafutdi...@gmail.com> wrote in message
news:i6ni0q$31j...@digitalmars.com...
Hi Nick!

If you are going to replace dmd's backend, you might want to have a look
at ddmd,
as we have plans to make other backends for it. And of course it is much
more
pleasant to work with D rather than C++!

Actually I was thinking of doing as much of my backend as possible in D
anyway since D and C are supposed to be link-compatible (and since I got
really fed up with C/C++ a long time ago). Of course, dmd is C++, not C, so
I figure I might need to add a C-based bridge-to-my-backend in the
front-end...unless dmd sticks to the subset of C++ that D2 supports linking
with? (Anyone know if that's the case?)


dmd2 supports some of the C++, but it is mostly limited to free functions and virtual member functions. D also has no direct mapping for C/C++ "long" type so some proxy functions might be required. Better than nothing, anyway.

But you do raise a good point. What's the current state of ddmd's front-end?

It's at 2.039 atm, and it improves rapidly, e.g. it was at 2.032 about 3 weeks ago. I don't really think you need the most up to date version to begin with.

What I have in mind is to just rip out dmd's current backend stuff entirely, maybe even including the toObjFile and toIR methods, or at least big chunks
of them, and replace it all with a PHP-generator. (Yea...I'm fairly
determined to be able to do as much of my web dev as possible in D.) So
depending on the current level of ddmd's progress, I'm wondering if it might be more practical to just stick with my orignal plan of using dmd and then switch over to ddmd once ddmd is ready. Although, one benefit of using dmd is it would likely make it quicker and easier to merge in changes from new
dmd releases.



I would recommend against heavy modification of the original code (e.g. getting rid of toIR/toObjFile, be it dmd or ddmd). Use external visitors if possible.

Why would you want to generate PHP anyway? There are FastCGI libraries available for D, and there isn't much that D is missing and PHP has anyway. Everything else is implementable as a library (and contributable to Phobos! ;)

Reply via email to