Subject: Re: [PATCH] DTC: Remove the need for the GLR Parser.

From: Segher Boessenkool <[email-masked]>
Date: Tue, 23 Oct 2007 16:41:51 +0200

>>> Flip a right-recursive stack-abusing rule into a left-recursive
>>> stack-friendly rule and clear up three messes in one shot: No more
>>> conflicts, no need for the GLR parser, and friendlier stackness.
>>
>> Ouch.  I'm feeling a bit stupid now,
>
> Absolutely no need for that.

If you haven't had "exp := aexp | exp aexp" beaten into you with
a big stick, maybe you should be happy about that ("'s got a nail
in it!") :-)

>> And even without glr-parser, I'm still uncomfortable with the
>> lexer<->parser execution ordering issues with the current
>> /dts-version/ proposal.  It may now be true that the order is
>> guaranteed to be correct, but it's still not exactly obvious.

If you require /dts-version/ (and similar global dtc-control stmts)
to be at the start of the file, can't you avoid this ordering problem
by starting to parse the file with a simple (hand-written) parser
(which would handle these statements) and only when you cannot parse
any more switch to the "normal" parser (which won't handle them)?
Or is this a stupid suggestion :-)

Segher