mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-16 07:43:03 +00:00
Consolidate the 4 prologue alternative directives (%code, %requires,
%provides, and %code-top) into a single %code directive with an optional qualifier field. Discussed at <http://lists.gnu.org/archive/html/bison-patches/2007-01/msg00012.html>. * NEWS (2.3a+): Rewrite the existing entry for the prologue alternatives. * doc/bison.texinfo (Prologue Alternatives): Update. (Decl Summary): Update to %code "requires" and %code "provides". (Calc++ Parser): Update to %code "requires". (Bison Symbols): Remove entries for %requires, %provides, and %code-top. Rewrite %code entry, and add a %code "QUALIFIER" entry. * data/bison.m4 (b4_user_provides, b4_user_requires): Remove as these are replaced by b4_percent_code_provides and b4_percent_code_requires, which are skeleton-specific. (b4_check_percent_code_qualifiers): New. A skeleton can use this to declare what %code qualifiers it supports and to complain if any other qualifiers were used in the grammar. * data/glr.cc: Update to use b4_user_code([b4_percent_code_requires]) and b4_user_code([b4_percent_code_provides]) in place of b4_user_requires and b4_user_provides. * data/glr.c, data/lalr1.cc, data/push.c, data/yacc.c: Likewise. Add b4_user_code([b4_percent_code_top]) and b4_user_code([b4_percent_code]). Invoke b4_check_percent_code_qualifiers. * src/parse-gram.y (PERCENT_CODE_TOP, PERCENT_PROVIDES, PERCENT_REQUIRES): Remove. (grammar_declaration): Remove RHS's for %code-top, %provides, and %requires. Rewrite the %code RHS as the unqualified form defining the muscle b4_percent_code. Add another RHS for the qualified %code form, which defines muscles of the form b4_percent_code_QUALIFIER and the b4_used_percent_code_qualifiers muscle. * src/scan-gram.l (PERCENT_CODE_TOP, PERCENT_PROVIDES, PERCENT_REQUIRES): Remove. * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Update to use %code "requires" and %code "provides". * tests/input.at (Reject bad %code qualifiers): New.
This commit is contained in:
39
ChangeLog
39
ChangeLog
@@ -1,3 +1,42 @@
|
||||
2007-01-04 Joel E. Denny <jdenny@ces.clemson.edu>
|
||||
|
||||
Consolidate the 4 prologue alternative directives (%code, %requires,
|
||||
%provides, and %code-top) into a single %code directive with an
|
||||
optional qualifier field. Discussed at
|
||||
<http://lists.gnu.org/archive/html/bison-patches/2007-01/msg00012.html>.
|
||||
* NEWS (2.3a+): Rewrite the existing entry for the prologue
|
||||
alternatives.
|
||||
* doc/bison.texinfo (Prologue Alternatives): Update.
|
||||
(Decl Summary): Update to %code "requires" and %code "provides".
|
||||
(Calc++ Parser): Update to %code "requires".
|
||||
(Bison Symbols): Remove entries for %requires, %provides, and
|
||||
%code-top. Rewrite %code entry, and add a %code "QUALIFIER" entry.
|
||||
* data/bison.m4 (b4_user_provides, b4_user_requires): Remove as these
|
||||
are replaced by b4_percent_code_provides and b4_percent_code_requires,
|
||||
which are skeleton-specific.
|
||||
(b4_check_percent_code_qualifiers): New. A skeleton can use this to
|
||||
declare what %code qualifiers it supports and to complain if any other
|
||||
qualifiers were used in the grammar.
|
||||
* data/glr.cc: Update to use b4_user_code([b4_percent_code_requires])
|
||||
and b4_user_code([b4_percent_code_provides]) in place of
|
||||
b4_user_requires and b4_user_provides.
|
||||
* data/glr.c, data/lalr1.cc, data/push.c, data/yacc.c: Likewise.
|
||||
Add b4_user_code([b4_percent_code_top]) and
|
||||
b4_user_code([b4_percent_code]).
|
||||
Invoke b4_check_percent_code_qualifiers.
|
||||
* src/parse-gram.y (PERCENT_CODE_TOP, PERCENT_PROVIDES,
|
||||
PERCENT_REQUIRES): Remove.
|
||||
(grammar_declaration): Remove RHS's for %code-top, %provides, and
|
||||
%requires. Rewrite the %code RHS as the unqualified form defining the
|
||||
muscle b4_percent_code. Add another RHS for the qualified %code form,
|
||||
which defines muscles of the form b4_percent_code_QUALIFIER and the
|
||||
b4_used_percent_code_qualifiers muscle.
|
||||
* src/scan-gram.l (PERCENT_CODE_TOP, PERCENT_PROVIDES,
|
||||
PERCENT_REQUIRES): Remove.
|
||||
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Update to use
|
||||
%code "requires" and %code "provides".
|
||||
* tests/input.at (Reject bad %code qualifiers): New.
|
||||
|
||||
2007-01-03 Joel E. Denny <jdenny@ces.clemson.edu>
|
||||
|
||||
Use the new code_props interface for destructors and printers.
|
||||
|
||||
Reference in New Issue
Block a user