Migrating dmd to D?

Jacob Carlborg doob at me.com
Wed Feb 27 23:34:10 PST 2013


On 2013-02-28 01:37, Andrei Alexandrescu wrote:
> Hello,
>
>
> Walter and I have had a long conversation about the next radical thing
> to do to improve D's standing. Like others in this community, we believe
> it's a good time to consider bootstrapping the compiler. Having the D
> compiler written in D has quite a few advantages, among which taking
> advantages of D's features and having a large codebase that would be its
> own test harness.

Now this is some great news to wake up to :)

> By this we'd like to initiate a dialog about how this large project can
> be initiated and driven through completion. Our initial basic ideas are:
>
> 1. Implement the dtoh standalone program that takes a D module and
> generates its corresponding C++ header.
>
> 2. Use dtoh to initiate and conduct an incremental port of the compiler.
> At given points throughout the code D code will coexist and link with
> C++ code.
>
> 3. At a point in the future the last C++ module will be replaced with a
> D module. Going forward there will be no more need for a C++ compiler to
> build the compiler (except as a bootstrapping test).
>
> It is essential that we get support from the larger community for this.
> This is a large project that should enjoy strong leadership apart from
> Walter himself (as he is busy with dynamic library support which is
> strategic) and robust participation from many of us.

Short term goal:

I agree with what Walter has said in other posts that we need to make a 
direct translation as possible minimize translation bugs.

Long term goal:

When the translation is done we should refactor the compiler/front end 
to be a library, usable by other tools.

It would be nice to hear some comments from the GDC and LDC developers.

BTW, there's already a translation of DMD available, DDMD:

http://www.dsource.org/projects/ddmd

But this is a bit outdated. I also don't know how a direct translation 
this is. I can at least tell that it has a more one-to-one mapping of 
files and classes than DMD does.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list