It seems clear to me that

    option  ::= opt1a || opt2a
    opt1a   ::= 'a'
    opt2a   ::= 'a' 'a'

doesn't want ambiguity; but that the BNF rewrite does introduce it, by
treating the || as an ambiguous option. Or is it supposed to be precedenced
only in recursive contexts?

On Friday, 2 September 2016, Jeffrey Kegler <[email protected]>
wrote:

> If you *want* ambiguity, consider avoiding the precedenced rule syntax and
> writing it directly in BNF.  Precedenced rules are intended to cover the
> ordinary cases.  If you're doing advanced and tricky stuff, laying it out
> in pure BNF forces you to make it clear exactly what you meant.
>
> I find that many systems, with their advanced features and syntaxes, go
> too far in the DWIMery.  This is handy if their "Do What I Mean" is in fact
> what you meant.  But if the DWIMery guesses wrong, the system just makes
> things more complicated.  So I try to not make my advanced features *too*
> smart.
>
> On Thu, Sep 1, 2016 at 11:48 AM, <[email protected]> wrote:
>
>> Thanks for the pointer to prose on the rule rewriting.  I can read Perl
>> about as well as middle English -- lots of effort and guessing, and usually
>> getting pretty close. :-)
>>
>> Further comments inline below.
>>
>> On Wednesday, August 31, 2016 at 10:10:01 PM UTC-6, Jeffrey Kegler wrote:
>>
>>> Just in case it was unclear, that last message was aimed at the general
>>> reader of this read, and was not ad hominem.
>>>
>>
>> No offense taken -- it sounds like great advice to me in particular!
>>
>> @Anton: Off the top of my head, 2+3+4 is ambiguous in that grammar -- the
>>> BNF does not implement associativity.
>>>
>>
>> So SLIF has an implied, default associativity?  I can find one IRC
>> comment to this effect, but I can't find it anywhere in the docs.  (There's
>> a great potential spot in Scanless/DSL.pod where it discusses
>> associativity....)
>>
>> This explains why my parse was not ambiguous.  What if I *want* my
>> grammar to be ambiguous in this case?  I saw another IRC comment asking for
>> an adverb setting for associativity of "none".  Is this possible?
>>
>> Thanks!
>>
>> - Ryan
>>
>> <snip>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "marpa parser" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "marpa parser" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to