Let's stop parser Hell

Manfred Nowak svv1999 at hotmail.com
Sat Jul 7 05:33:07 PDT 2012


Andrei Alexandrescu wrote:

> (b) strong, dependable formalization of D's syntax.

With this premise a pegged parsing system seems to be wrong, because 
under pegged parsing unintended syntax ambiguities will stay undetected  
until some possible minor change will suddenly invalidate parts of the 
existing code page.

In 2005 I managed to jam the syntax of D1 into a possible incomplete 
LALR(1)-grammar. Thereby two ambiguities where uncovered, because the 
parsing was then and is still done pegged.

My publication of those two ambiguities did not lead to a change in the 
published syntax but to two meta rules on how the syntax has to be 
interpreted by the human reader: pegged of course.

If pegged is "strong" and "dependable" enough, then LALR(1) is 
overkill, otherwise .....

-manfred    


More information about the Digitalmars-d mailing list