What are we missing, in terms of tool support?

Ary Borenszweig ary at esperanto.org.ar
Thu Jan 13 15:08:38 PST 2011


The problem I faced with Descent is that in order to get those nice
features you want the semantic must be 100% accurate. Imagine
refactoring something and it is left half-way through it. So in
order to do that I needed to implement the semantics of the
language. Cool, the lexer and parser are totally separated, but the
semantic is so huge and complicated that it is practically
impossible to do another front end for D if you want to be
compatible with D (that currently means: compatible with DMD). Just
take a look at CallExp::semantic. It's a huge function.

Another thing is that applying refactoring and other things to
templates is nearly impossible because those are just syntax-checked
and only semantic checked on instantiations.

Sorry, I have to go now, I wanted to write more about this...

I think DMD's source code should be re-written from scratch. It's
overly complicated by now.


More information about the Digitalmars-d mailing list