On 3/5/10 02:10, bearophile wrote:
Walter Bright:
But there's little reason to implement a D compiler from scratch.<

I'm ignorant about this topic, but I think there are various ways to create a 
new D front-end:
- Copy the C++ code of DMD and create a small middle-end to adapt it to 
something else, LDC and GDC have done this. This is the faster way to produce 
something that works.
- Translate the dmd front-end to D code that looks as much as possible as the 
original C++. And when it works well, then it can slowly be adapted to use D 
features, etc. The advantage of this way is that you then can program in D 
instead of C++, and later people that want to help in the development of this 
don't need to know C++ too. Another advantage is that such good amount of D 
code can give ideas to improve D itself. I think someone has tried to do this, 
but I think there's no working compiler yet (maybe DIL?).
- Create a front-end in D almost from scratch. Maybe Dlang is trying to become 
this. The advantage is that it's modelled on Clang, that has a nice modular 
design.

Bye,
bearophile

I add to the above:

If you want to create an application or library that uses a D front end, for example an IDE with refactoring and autocompletion, you are forced to write it in C++ and use the GPL license. BTW the DMD front end is probably not very good for this sort of things.

/Jacob Carlborg

Reply via email to