D grammar

Russel Winder via Digitalmars-d digitalmars-d at puremagic.com
Tue Jun 14 02:31:24 PDT 2016


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.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20160614/01a183df/attachment.sig>


More information about the Digitalmars-d mailing list