| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* data/c++.m4 (move): New.
* data/glr.c (swap): New overload for symbol_type.
* data/lalr1.cc: Use move, not swap.
Here, we actually need a move-assignment.
|
|
|
|
|
|
|
| |
* data/glr.c: .
* data/glr.cc: .
* data/lalr1.cc: .
* data/variant.hh: .
|
| |
|
|
|
|
| |
* data/glr.c, data/glr.cc: Comment debugging code.
|
|
|
|
|
| |
* data/variant.hh: Leave the buffer first.
Remove debugging code.
|
|
|
|
| |
* data/glr.c: .
|
|
|
|
|
| |
* data/glr.c: .
* data/variant.hh: .
|
|
|
|
| |
* data/variant.hh: .
|
|
|
|
|
|
|
|
| |
* data/glr.c: .
* data/glr.cc: .
* data/location.cc: .
* data/variant.hh: .
* examples/variant.yy: .
|
| |
|
|
|
|
|
| |
* data/glr.cc: Define the variant structure.
* examples/variant.yy: Adjust calling conventions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* data/glr.c: Save and restore b4_symbol_value and
b4_symbol_value_template when called from glr.cc.
* data/glr.cc (cassert): Include it when needed.
(b4_variant_define): Call it when needed.
* data/glr.c (YYLEX): Don't redefine if defined, so that the
definition from glr.cc can be used.
(yyuserAction): Initialize *yyvalp.
(yyglrShift): Build and initialize yysval.
(b4_glr_cc_if): New.
Use it.
(b4_rhs_data): Provide a new definition for C++ that does not
forbid changes in the RHS.
* data/glr.cc (b4_location_constructors): Define so that we can
use location and position constructors.
(yylex_wrapper, YYLEX): New, to bounce a symbol_type based yylex
onto a traditional yyvalp/yylocp one.
(b4_yytranslate_define, b4_public_types_define): Invoke them.
(token_number_type, yyeof_): New.
* data/yacc.c, data/glr.c (b4_lex_params): Provide the formal
argument names.
|
|
|
|
| |
* .gitignore: Here.
|
|
|
|
|
|
|
|
| |
* doc/bison.texinfo (Locations Overview): Rename node to...
(Locations): ... this, which is its section name. Update menus to
match that and not to use the title `Tracking Locations', which is
a different section.
(cherry picked from commit 8348436580ae3db8091f564e8b24d552a9d23590)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/bison.texinfo (Locations): Rename node to...
(Tracking Locations): ... this, which is its section name, and
update all cross references. The trouble is that there is another
node about locations. Its section name is `Locations', which was
easily confused with the node name of this node. Moreover, its
node name is `Locations Overview', which was mistakenly used to
label some cross references to this node.
(cherry picked from commit 7404cdf3a1235c4f7304c29b942ac72029600f19)
Conflicts:
doc/bison.texinfo
|
|
|
|
|
|
|
|
|
|
| |
* doc/bison.texinfo (Named References): Rename section to match
the node name, and update all cross references. Don't use the
acronyms RHS and LHS given that we don't expand them anywhere in
the manual. Try to use @samp and @code properly. Mention that
named references are experimental as we've already stated in NEWS.
(Destructor Decl): Expand the only remaining use of RHS or LHS.
(cherry picked from commit ce24f7f59b9ececb3137a53a881e25fa28e19466)
|
|
|
|
|
|
|
|
| |
Suggested by Hans Aberg at
<http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
* doc/bison.texinfo (Named References): Explain briefly how
they're better than the traditional positional references.
(cherry picked from commit 7d31f0928907ccdd647479075d385b5a36c62611)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reported by Hans Aberg at
<http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
* NEWS (2.5.1): Document.
* doc/bison.texinfo (Named References): Because it discusses
locations in addition to semantic values, move this subsection out
of the section `Defining Language Semantics', where locations have
not yet been introduced, to be a new section after the following
section, `Tracking Locations'.
(cherry picked from commit 908c8647de654d4ab0944ecef7811af1d736742b)
|
|
|
|
|
|
|
|
|
| |
* NEWS (2.5.1): New heading.
(cherry picked from commit 90dcd4156ccab3d704d9ff2771b9ce7791e3ffc4)
Conflicts:
NEWS
|
|
|
|
|
|
|
|
|
| |
* NEWS (2.5): Set date.
(cherry picked from commit b2bc8a1ba001669ad12b15d39ec425e81b41e778)
Conflicts:
NEWS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It creates unnecessary differences between the sources that Bison
maintainers build and test (given that maintainers normally
configure with --enable-gcc-warnings) and the sources that Bison
users build. Instead, use PACIFY_CC, which doesn't. This change
fixes compiler warnings reported by Tys Lefering at
<http://lists.gnu.org/archive/html/bison-patches/2011-05/msg00004.html>.
* configure.ac: Don't AC_DEFINE lint regardless of the configure
options. This change affects imported gnulib sources, where
IF_LINT still appears and depends on lint.
* src/scan-gram.l, src/scan-skel.l: Replace uses of IF_LINT with
PACIFY_CC.
* src/system.h (IF_LINT): Remove cpp macro.
(PACIFY_CC): New cpp macro.
(cherry picked from commit 77bb73e7af76ef5180b22c3b8355aaff1f498f68)
Conflicts:
src/scan-gram.l
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since Bison 2.3b, which restored the ability of precedence
directives to assign user token numbers, doing so for user token
number 0 has produced an assertion failure.
* NEWS (2.5): Document fix.
* src/symtab.c (symbol_user_token_number_set): In the case of the
end token, don't decrement ntokens if it was never incremented.
* tests/regression.at (Token number in precedence declaration):
Extend.
(cherry picked from commit 9d6af153184eea964fef7f87d76a60fe29f715b5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bootstrap.conf (gnulib_modules): Add all modules suggested by
-DGNULIB_POSIXCHECK.
* src/files.c (file_name_split)
* src/getargs.c (getargs)
* src/location.c (boundary_set_from_string)
* src/output.c (output_skeleton)
* src/parse-gram.y (prologue_declaration)
* src/scan-gram.l (handle_syncline)
* src/symtab.c (symbol_new): Use mbschr and mbsrchr instead of
strchr and strrchr. In the cases of command-line options, file
names, and thus locations, functionality may be improved. In the
case of symbol names, there should be no functional difference as
all characters are ASCII, so the intended benefit is just warning
suppression.
(cherry picked from commit d143e9c33f07e1a9966c10077f43e2f81232bf6c)
Conflicts:
src/output.c
src/parse-gram.c
src/parse-gram.h
|
|
|
|
| |
(cherry picked from commit 723206df6f4be135a708a4509ba99da5a256224e)
|
|
|
|
|
|
|
|
| |
* NEWS (2.5): For multi-character tokens in example grammar rules,
use "token" not 'token'. In English, use a consistent quotation
style; we might as well follow the precedent seen in info pages:
`quote' not "quote".
(cherry picked from commit ac3297d501e9b74a11095d966bb8e5aa6fcf0ff4)
|
|
|
|
|
|
|
|
|
| |
Reported by Jim Meyering at
<http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
* tests/actions.at
(Default %printer and %destructor for mid-rule values): Define
YYLLOC_DEFAULT so that it uses its Rhs argument.
(cherry picked from commit c9e2da4f20c97c4cb53b68d4912dbdb8836df9a4)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents gcc 4.6.0's -Wunused-but-set-variable from warning
about yyresolveLocations's local yyrhsloc. When locations are
enabled, there's no such warning because YYLLOC_DEFAULT then uses
yyrhsloc. Reported by Jim Meyering at
<http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
* data/glr.c (yyresolveLocations): Omit definition when locations
are disabled.
(yyresolveValue): Omit yyresolveLocations invocation when
locations are disabled.
(cherry picked from commit 55dd35633675f588c58ead46ecd6b5f4db504192)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* README-hacking (Updating a submodule): Give advice on how to
determine the versions of gnulib and autoconf to which we should
update.
(Release Procedure): Note that submodules should be updated.
* bootstrap.conf (gnulib_modules): Rename pipe to spawn-pipe as
suggested in updated gnulib NEWS.
* gnulib: Choose a stable snapshot according to advice in Bison's
README-hacking.
* po/POTFILES.in (lib/pipe.c): Rename to...
(lib/spawn-pipe.c): ... this.
* src/output.c: Update to include spawn-pipe.h.
* submodules/autoconf: Update to latest for improvement in m4.m4
that excludes M4 with buggy strstr. The only other changes to
files that we use are copyright updates.
(cherry picked from commit a898435b25eca4869e8c49b2b0fb1f649b030ce7)
Conflicts:
build-aux/.gitignore
|
|
|
|
|
|
|
| |
Reported by Tys Lefering at
<http://lists.gnu.org/archive/html/bison-patches/2011-04/msg00000.html>.
* src/print-xml.c, src/print-xml.h: In these files.
(cherry picked from commit fea2d6b0975a5b92dfc13b72e2b1d147e8d4a1b6)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thus, conflict reports are now affected by -Werror and -Wnone
(unless %expect or %expect-rr is specified). Reported by George
Neuner at
<http://lists.gnu.org/archive/html/bug-bison/2010-08/msg00002.html>.
* NEWS (2.5): Document.
* doc/bison.texinfo (Bison Options): Document.
* src/complain.c, src/complain.h (set_warning_issued): Export
function.
* src/conflicts.c (conflicts_print): Suppress conflict report
based on -Wno-conflicts-sr and -Wno-conflicts-rr, and treat
conflicts as errors if -Werror.
* src/getargs.c (warnings_flag): Initialize with
warnings_conflicts_sr and warnings_conflicts_rr as well.
(warnings_args, warnings_types): Add entries for
warnings_conflicts_sr and warnings_conflicts_rr.
(usage): Update.
* src/getargs.h (enum warnings): Add entries for
warnings_conflicts_sr and warnings_conflicts_rr.
* tests/conflicts.at (-W versus %expect and %expect-rr): New test
group.
* tests/local.at (AT_BISON_CHECK_NO_XML): Update now that the
conflict report can produce a "warnings being treated as errors"
message. Also, check that stderr is now fully scrubbed by -Wnone
when the exit status is 0.
(cherry picked from commit 6f8bdce25df5669b0b200c2a3848a1c08a44eb79)
|
|
|
|
|
|
|
|
|
|
| |
Adding command-line options after the grammar file name is not
permitted, so disable checks that do that when
maintainer-check-posix is running.
* tests/local.at (AT_BISON_CHECK_NO_XML): Don't run the
problematic checks when POSIXLY_CORRECT=1. Also, for readability,
remove an unnecessary m4_if.
(cherry picked from commit fc7ce9970f2972443c1a031c91ffef2dfdf28651)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reported by George Neuner at
<http://lists.gnu.org/archive/html/bug-bison/2010-08/msg00002.html>.
* NEWS (2.5): Document.
* THANKS (George Neuner): Add.
* doc/bison.texinfo (Bison Options): Document.
* src/complain.c, src/complain.h
(warn_at, warn_at_indent, warn): Suppress warning if -Wno-other.
(midrule_value_at): New warning function, similar to yacc_at in
that it's controlled by its own warning category.
* src/getargs.c (warnings_flag): Initialize to warnings_other.
(warnings_args, warnings_types): Add entry for warnings_other.
(usage): Update.
* src/getargs.h (enum warnings): Add entry for warnings_other.
* src/gram.c (grammar_rules_useless_report): If -Wno-other, then
don't print useless rules.
* src/reader.c (symbol_should_be_used): Rather than adjusting the
return value based on whether midrule value warnings are enabled,
accept a new parameter for telling the caller whether true is
being returned for a potential midrule warning.
(grammar_rule_check): Use midrule_value_at for midrule value
warnings, and continue to use warn_at for all other warnings. Let
them check whether the warnings are enabled.
* tests/local.at (AT_BISON_CHECK): Update documentation.
(AT_BISON_CHECK_NO_XML): Check that -Wnone and --warnings=none
disable all warnings exercised in the test suite.
(cherry picked from commit 8ffd7912e3b71fb0cc69e83225c3ad8e3452270f)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Discussed at
<http://lists.gnu.org/archive/html/bison-patches/2010-08/msg00009.html>.
* NEWS (2.5): Document.
* src/getargs.c (flags_argmatch): Accept a new argument that
specifies what flags "all" and thus "none" affect.
(FLAGS_ARGMATCH): Update flags_argmatch invocation.
* tests/input.at (-Werror is not affected by -Wnone and -Wall):
New test group.
(cherry picked from commit dab9663283437092d17af8ede75f3aff33380d53)
|
|
|
|
| |
(cherry picked from commit 248dba53cb3a33b6cea83050263080f6f000fbfe)
|
|
|
|
|
|
| |
Suggested by Akim Demaille.
* doc/bison.texinfo (LAC): Here.
(cherry picked from commit 56706c6167f1cbfde3f48ea63ce6eaa56369f971)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unlike "consistent" and "accepting", "full" doesn't answer the
question of "which states".
* doc/bison.texinfo (%define Summary): Update.
(Default Reductions): Update.
* src/print.c (print_reductions): Update.
* src/reader.c (prepare_percent_define_front_end_variables):
Update.
* src/tables.c (action_row): Update.
* tests/input.at (%define enum variables): Update.
* tests/reduce.at (%define lr.default-reductions): Update.
(cherry picked from commit a6e5a28079865c4924194685723962f198fd33ff)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In `rhs[name]: "a" | "b"', do not free "name" twice.
Reported by Tys Lefering.
<http://lists.gnu.org/archive/html/bug-bison/2010-06/msg00002.html>
* src/named-ref.h, src/named-ref.c (named_ref_copy): New.
* src/parse-gram.y (current_lhs): Rename as...
(current_lhs_symbol): this.
(current_lhs): New function. Use it to free the current lhs
named reference.
* src/reader.c: Bind lhs to a copy of the current named reference.
* src/symlist.c: Rely on free (0) being valid.
* tests/named-refs.at: Test this.
(cherry picked from commit 8f462efe923947cc4e72deea5b0fa93a5f88000d)
Conflicts:
src/parse-gram.y
|
|
|
|
|
| |
* tests/named-refs.at (Redundant words in LHS brackets)
(Unresolved references): here.
|
|
|
|
|
|
|
| |
* NEWS (2.5): Document.
* data/lalr1.java (YYParser::YYStack::print): Don't skip top
element.
(cherry picked from commit f0e2c228a085196742250b3f394bb5ed55ac4d7c)
|
|
|
|
|
|
|
|
|
|
|
|
| |
* NEWS (2.5): Document.
* data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
in clearing the location stack. Also fix pop function that
accepts no arguments.
(cherry picked from commit 4c2a6e42ba8b6bc4e04985f5ef3ec8926048d4b1)
Conflicts:
data/lalr1.java
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reported at
<http://lists.gnu.org/archive/html/bug-bison/2011-02/msg00005.html>.
* THANKS (Angelo Borsotti): Add.
* data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
in clearing the value stack. Previously, the top element of the
stack wasn't cleared and so the value was not garbage collected.
(cherry picked from commit 6f75992be50b83a084f955f63e5c35ccc8705f08)
Conflicts:
data/lalr1.java
|
|
|
|
|
| |
* doc/bison.texinfo (LAC): Here.
(cherry picked from commit 121c498280f96b31a1f90e2012751509e6358a64)
|
|
|
|
|
|
|
|
|
| |
* doc/bison.texinfo (Mystery Conflicts): Rename node to...
(Mysterious Conflicts): ... this, which is already the section
title and the name used in the index. Update all cross-references
to this node. Also, don't imply that R/R conflicts are the only
kind of mysterious conflict.
(cherry picked from commit 5da0355aff4de57e96aba7b788c376fc779d83b1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
States that shift the error token do not have default reductions,
and GLR disables some default reductions, so "all" was a misnomer.
* doc/bison.texinfo (%define Summary): Update.
(Default Reductions): Update.
* src/print.c (print_reductions): Update.
* src/reader.c (prepare_percent_define_front_end_variables):
Update.
* src/tables.c (action_row): Update.
* tests/input.at (%define enum variables): Update.
* tests/reduce.at (%define lr.default-reductions): Update.
(cherry picked from commit d815ec4a6290e18fac9220438622f6dd27b3227f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
And clean up all other documentation of the features described
there.
* NEWS (2.5): Tweak wording of lr.type and parse.lac entries a
bit, update the cross-references to the manual, and point out that
LAC has caveats. Don't be so adamant that IELR+LAC=canonical LR.
That is, as the referenced section in the manual documents, LAC
does not fix infinite parsing loops on syntax errors.
* doc/bison.texinfo: Consistently drop the "(1)" suffix from LALR,
IELR, and LR in @cindex.
(%define Summary): Condense the entries for lr.default-reductions,
lr.keep-unreachable-states, lr.type, and parse.lac into brief
summaries, and cross-reference the appropriate subsections of
Tuning LR. For parse.lac, mention that it's only implemented for
deterministic parsers in C. In parse.error entry, mention LAC,
and add cross-reference to the LAC section.
(Error Reporting): When mentioning parse.error, mention LAC, and
add cross-reference to the LAC section.
(Tuning LR): New section with an extended version of the
documentation removed from %define Summary. Change all
cross-references in the manual to point here instead of there.
(Calc++ Parser): When mentioning parse.error, mention LAC, and add
cross-reference to the LAC section.
(Table of Symbols): In %error-verbose entry, add cross-reference
to Error Reporting.
(Glossary): Capitalize entry titles consistently. Add definitions
for "defaulted state" and "unreachable state". Expand IELR
acronym in IELR's entry.
(cherry picked from commit 6f04ee6c78ba01f9d8e02dbe2baace0c3bd8f4fd)
Conflicts:
doc/bison.texinfo
|
|
|
|
|
|
|
|
|
| |
* doc/bison.texinfo (Mystery Conflicts): Cross-reference
bibliography instead of citing publications directly.
(Generalized LR Parsing): Likewise.
(Bibliography): New section. Not all entries are cross-referenced
yet, but that will come in future patches.
(cherry picked from commit 71caec06614dc68d58229dd4e275c8c641df23ac)
|
|
|
|
|
|
|
|
|
|
| |
* NEWS (2.5): Document it.
* tests/java.at (_AT_DATA_JAVA_CALC_Y): To one of the yyerror
invocations, pass a location that spans multiple tokens. Change
yyerror to report all of a location rather than just the begin
position. Extend yylex and Position to count tokens on a line.
Remove getHashCode as it's unused. Update all expected output.
(cherry picked from commit 7776816565040879b3b095130a772c06585daeeb)
|
|
|
|
|
|
|
|
|
| |
Reported at
<http://lists.gnu.org/archive/html/bison-patches/2011-02/msg00005.html>.
* data/lalr1.java (YYParser::yylloc): For non-empty RHS, fix
reversed access to location stack.
* THANKS (Bernd Kiefer): Add.
(cherry picked from commit 8db68289d1162b763606fe5271a7529408224d38)
|
|
|
|
|
|
|
|
| |
* doc/bison.texinfo (%define Summary): Fix mislabeled entry for
lex_symbol.
(%code Summary): For consistency with the variable list in the
%define Summary, enclose the list of %code qualifiers in a table
instead of an itemize.
|