On Tuesday, 14 June 2016 at 13:23:37 UTC, Jacob Carlborg wrote:
On 2016-06-14 11:31, Russel Winder via Digitalmars-d wrote:
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.

How many IDE's/editors do actually use something like EBNF? I know TextMate doesn't. It uses some kind of rules with extended regular expressions (simplified explanation).

It doesn't matter because once you have a well defined grammar you can convert it to any other format you wish. The point is that D has no well defined grammar because it's all mashed up in the parsing and compiling itself.

I wonder if someone could write a program generator that generates random valid D code from one of these grammars and runs it in DMD to find compilation errors.

It shouldn't be too hard to do and only needs to provide coverage of the grammar, not all possible programs. This might help validate a grammar(could be designed to be generic and for other parsing tools).


Reply via email to