]> git.saurik.com Git - bison.git/commit - tests/calc.at
Add %precedence support.
authorAkim Demaille <demaille@gostai.com>
Thu, 7 Aug 2008 21:15:34 +0000 (23:15 +0200)
committerAkim Demaille <demaille@gostai.com>
Mon, 10 Nov 2008 09:48:15 +0000 (10:48 +0100)
commitd78f0ac9d8c8830542faf9d00d0b6ef652dda45e
tree2b45fbca5c0c980409d2fdae1a8db1159ec1bfa9
parentc85be41a072e4edd6b1669498c7fe6d11789796c
Add %precedence support.

Unfortunately it is not possible to reuse the %prec directive.  This
is because to please POSIX, we do not require to end the rules with a
semicolon.  As a result,

foo: bar %prec baz

is ambiguous: either a rule which precedence is that of baz, or a rule,
and then a declaration of the precedence of the token baz.

* doc/bison.texinfo: Document %precedence.
(Precedence Only): New.
* src/assoc.h, src/assoc.c (precedence_assoc): New.
* src/conflicts.c (resolve_sr_conflict): Support it.
* src/scan-gram.l, src/parse-gram.y (%precedence): New token.
Parse it.
* tests/calc.at: Use %precedence for NEG.
* tests/conflicts.at (%precedence does not suffice)
(%precedence suffices): New tests.
ChangeLog
doc/bison.texinfo
src/assoc.c
src/assoc.h
src/conflicts.c
src/parse-gram.y
src/scan-gram.l
tests/calc.at
tests/conflicts.at