On Thu, Sep 8, 2022 at 7:32 PM Daniel Gustafsson <daniel@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
--
John Naylor
EDB: http://www.enterprisedb.com