> On 11 Aug 2018, at 18:02, Akim Demaille <akim.demai...@gmail.com> wrote:
>> Le 5 août 2018 à 21:54, Hans Åberg <haber...@telia.com> a écrit :
>>> On 5 Aug 2018, at 16:09, Akim Demaille <akim.demai...@gmail.com> wrote:
>>> Make sure that we cannot apply a type to the (main) action of a rule.
>> It might be retained, in case one wants to display it for clarity, say in a
>> long grammar.
> But then you have to make sure it’s consistent.
Right. For a typed non-terminal, it would suffice to do it at one place, or
maybe %type, and others would be optional for clarity, but they must all be the
> Rici suggested a similar feature at the bottom of this message.
> His suggestion is more ‘factored’: you’d do it once for the LHS
> of typically many rules, instead of doing it for each action.
I thought of that, but perhaps it is natural to put in on the actions, as one
can split up the rules for the same LHS non-terminal rules into separate parts.
I have used it only a little, a modification of the C++ calculator for testing
operator precedence grammars. There is a notation that might be used:
For terminals a, b, the meaning of a ⋖ b is to shift b, and a ⋗ b to reduce a
and the top of the stack the tokens ≐ to it.
It does not recognize rules as such, but it might be possible to implement a
variation of %precedence that specifies shift/reduce choices in the face of