> On Sep 9, 2022, at 5:53 PM, John Naylor <john.nay...@enterprisedb.com> wrote:
> 
> On Thu, Sep 8, 2022 at 7:32 PM Daniel Gustafsson <dan...@yesql.se> wrote:
>> [v3]
> 
> Note that the grammar has shift-reduce conflicts. If you run a fairly
> recent Bison, you can show them like this:
> 
> bison -Wno-deprecated -Wcounterexamples -d -o filterparse.c filterparse.y
> 
> filterparse.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
> filterparse.y: warning: shift/reduce conflict on token C_INCLUDE
> [-Wcounterexamples]
>  Example: • C_INCLUDE include_object pattern
>  Shift derivation
>    Filters
>    ↳ 3: Filter
>         ↳ 4: • C_INCLUDE include_object pattern
>  Reduce derivation
>    Filters
>    ↳ 2: Filters  Filter
>         ↳ 1: ε • ↳ 4: C_INCLUDE include_object pattern
> filterparse.y: warning: shift/reduce conflict on token C_EXCLUDE
> [-Wcounterexamples]
>  Example: • C_EXCLUDE exclude_object pattern
>  Shift derivation
>    Filters
>    ↳ 3: Filter
>         ↳ 5: • C_EXCLUDE exclude_object pattern
>  Reduce derivation
>    Filters
>    ↳ 2: Filters  Filter
>         ↳ 1: ε • ↳ 5: C_EXCLUDE exclude_object pattern
> 


Looks like the last rule for Filters should not be there. I do wonder whether 
we should be using bison/flex here, seems like using a sledgehammer to crack a 
nut.

Cheers

Andrew

Reply via email to