Hi,
does your patch still work if you make ONLY a ColLabel and not a
TokenId, this would lead to ONLY not being a ColId and by that
removing all unresolvable conflicts in the grammar? This patch
against your gram.y does this. I have tested it with bison 1.27,
and verified that the conflicts are gone, but I have not tested
it for correct behavior in postgres. I did not have the time to
understand the whole grammar so I might have missed something
obvious.
Regards,
Fredrik Estreen
Chris Bitmead wrote:
>
> Can anyone help me remove the shift/reduce conflicts from the syntax? It
> works perfectly, but since you guys won't accept shift/reduce
> conflicts....
>
> -------- Original Message --------
> Subject: [HACKERS] gram.y help, ONLY syntax
> Date: Sat, 27 May 2000 14:13:00 +1000
> From: Chris Bitmead <chris@bitmead.com>
> To: Postgres Hackers List <hackers@postgreSQL.org>
>
> I've made changes to gram.y to reduce the conflicts down to a couple of
> harmless shift/reduce conflicts, but I don't seem to have the right
> black-magic incantations to remove these last ones. They seem to be
> related to ONLY syntax. Can anybody help?
>
> ftp://ftp.tech.com.au/pub/gram.y.gz
> ftp://ftp.tech.com.au/pub/y.output.gz
> ftp://ftp.tech.com.au/pub/patch.only.gz*** gram.y.orig Tue Jun 6 20:32:27 2000
--- gram.y Tue Jun 6 20:38:14 2000
***************
*** 5446,5452 ****
| NOTIFY { $$ = "notify"; }
| OF { $$ = "of"; }
| OIDS { $$ = "oids"; }
- | ONLY { $$ = "only"; }
| OPERATOR { $$ = "operator"; }
| OPTION { $$ = "option"; }
| PARTIAL { $$ = "partial"; }
--- 5446,5451 ----
***************
*** 5584,5589 ****
--- 5583,5589 ----
| NUMERIC { $$ = "numeric"; }
| OFFSET { $$ = "offset"; }
| ON { $$ = "on"; }
+ | ONLY { $$ = "only"; }
| OR { $$ = "or"; }
| ORDER { $$ = "order"; }
| OUTER_P { $$ = "outer"; }