From: | "Thomas G(dot) Lockhart" <lockhart(at)alumni(dot)caltech(dot)edu> |
---|---|
To: | "Gene Selkov Jr(dot)" <selkovjr(at)xnet(dot)com> |
Cc: | Postgres Hackers List <hackers(at)postgresql(dot)org> |
Subject: | Re: [INTERFACES] Foreign Keys |
Date: | 1999-03-05 06:57:24 |
Message-ID: | 36DF8053.A3A15E08@alumni.caltech.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> > > | NULL_P '=' a_expr
> > > { $$ = makeA_Expr(ISNULL, NULL, $3, NULL); }
> > This leads to a shift/reduce conflict in yacc.
> What's wrong with shift/reduce conflicts?
yacc looks ahead only one token to determine the parsing possibilities,
and will maintain multiple, parallel possibilities until it is able to
resolve them (keeping in mind this one-token constraint). With a
"shift/reduce" conflict, at least one path will *never* be possible,
even though you thought it should be from the grammar. So you will end
up with some language feature permanently unavailable. And worse, when a
new conflict is introduced it might be the older feature which is
trashed :(
- Tom
From | Date | Subject | |
---|---|---|---|
Next Message | Zeugswetter Andreas IZ5 | 1999-03-05 08:26:34 | Re: [HACKERS] PostgreSQL 6.4.2 on AIX 4.3.2: regression test comp ile error |
Previous Message | Tatsuo Ishii | 1999-03-05 05:37:38 | Re: [HACKERS] Why is that so slow? |