On 3/5/10 20:43, dolive wrote:
Jacob Carlborg �:
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
approve to implement D frontend from scratch with D2.
Should be to absorb more committer of those, like ddmd and dil author, do not
just one person's project, to form a more powerful community .
vote ?
dolive
Sounds like a good idea, though I would choose D1 and tango.