D frontend

Timon Gehr via Digitalmars-d digitalmars-d at puremagic.com
Fri May 6 02:34:39 PDT 2016


As there has been some interest at DConf, I have pushed the experimental 
D frontend I have been hacking on to github under the boost licence (for 
compatibility with DMD).

https://github.com/tgehr/d-compiler

It is not yet feature-complete (e.g. constructors, destructors, 
exception handling,... is missing), but it handles e.g. large portions 
of templates and CTFE. (CTFE uses a byte code interpreter.)

One major goal of this project is to figure out a good way to handle 
non-trivial compile-time dependency structures (i.e. solving the 
"forward reference error" problem). As it does explicit dependency 
tracking on AST nodes, it can possibly be used for fine-grained 
(AST-level) incremental compilation in the future.

Unfortunately the only version of DMD that builds the project is 2.060 
(due to forward reference errors with newer versions).

It is not exactly well documented at the moment, so feel free to contact 
me if something does not make sense. (There are some really ugly hacks 
working around the lack of UDAs in 2.060, for example.)


More information about the Digitalmars-d mailing list