Thanks to Vladimir Panteleev, WebFreak001, ketmar, and Brian Schott for replying to my email about a grammar specification for D usable for IDEs and other tools.
It seems that the D language is defined not by a re-purposable, machine readable grammar specification, but solely by the DMD compiler, the parse of which is not defined by a re-purposable, machine readable grammar. Thus any grammar specification that is created is unlikely to be correct and so all tooling and IDE support has to be based on incorrect data. Given the biggest problem with D is, according to the recent survey, tooling and IDE support, you get the feeling this is not an enviable position for a programming language to be in. The Python-verse dealt with this issue 16+ years ago. It's recent (and past) problem was signature specifications in library codes, and this has now been fixed in Python 3.5 and the tooling for Python, already not half bad, is now really flourishing. For all their faults, C++, Rust, and Go have machine readable specifications of the language that are the definitions of the language (well caveat C++'s problems). This is a huge fillip for tooling and IDE support of the sort people in the C++, Rust, Go, and Python have come to expect. I am now beginning to doubt the feasibility of taking on making Kingsley's plugin to IntelliJ IDEA (and CLion) good since it has a grammar file that is yet another one in the mix. If the D community were to pick a grammar file from which EBNF, LL(k), etc. files could be generated and then move DMD, LDC and GDC to that specification, tooling and IDE life would get a lot easier. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part