| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
Reported by Akim Demaille.
* doc/bison.texinfo (Understanding): Fix typos.
* src/print.c (print_reductions): Don't use negated variable.
(cherry picked from commit 379261b3fd4e799c37bda6d354e7b8fe582357a6)
|
|
|
|
|
|
|
|
|
|
|
| |
Suggested by Akim Demaille at
<http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00082.html>.
* data/bison.m4 (_b4_percent_define_check_values): Implement.
* src/muscle-tab.c (muscle_percent_define_check_values): Implement.
* tests/input.at (%define lr.default_reductions invalid values): Merge
into...
(%define enum variables): ... here, and update output.
(cherry picked from commit 25029e164a3b2385ae6d95ca4cd19bad36550c92)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This includes changing variable names in code, changing
comments, and renaming %define lr.default_rules to %define
lr.default_reductions.
* NEWS (2.5): Update IELR documentation.
* data/bison.m4 (b4_integral_parser_tables_map): Adjust YYDEFACT
documentation.
* data/glr.c, data/lalr1.java: Sync copyright dates.
* doc/bison.texinfo (Decl Summary): Adjust lr.default_reductions
and lr.type documentation. Make some other wording
improvements.
(Glossary): Adjust cross-references and Default Reduction
definition.
* src/lalr.c (state_lookahead_tokens_count): Adjust code.
Remove a confusing comment pointed out by Akim Demaille.
(initialize_LA): Adjust code.
* src/print-xml.c (print_reductions): Adjust code.
* src/print.c (print_reductions): Adjust code.
* src/reader.c (reader): Adjust code.
* src/tables.c (action_row): Adjust code.
(token_actions): Adjust code.
* src/tables.h: Adjust YYDEFACT documentation.
* tests/input.at (%define lr.default_rules invalid values):
Rename test group to...
(%define lr.default_reductions invalid values): ... this, and
update grammar file and expected output.
* tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): Rename to...
(AT_TEST_LR_DEFAULT_REDUCTIONS): ... this, and update.
|
|
|
|
| |
* tests/input.at (Symbol): New test group.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* NEWS (2.5): Add an entry.
* src/getargs.c (usage): Mention IELR(1) and canonical LR(1)
besides just LALR(1) and GLR(1).
* doc/bison.texinfo (Introduction): Likewise.
(Language and Grammar): Bison is no longer limited to LALR(1)
restrictions.
(GLR parsing): Say deterministic or LR(1) rather than LALR(1)
when trying to distinguish from GLR. Talk about LR(1) grammars
rather than LALR(1) grammars.
(Decl Summary): In %define api.push_pull entry, say it applies
to deterministic parsers in C rather than LALR(1) parsers in C.
Add lr.default_rules entry.
Add lr.type entry.
(Mystery Conflicts): Bison is no longer limited to LALR(1)
restrictions.
(Generalized LR Parsing): Same changes as for the previous GLR
section.
(Memory Management): Say deterministic rather than LALR(1).
(Understanding): Correct some bison output.
Index discussion of "accepting state".
Say deterministic rather than LALR(1).
(Bison Options): In --yacc entry, say deterministic rather than
LALR(1).
In --report, --graph, and --xml entries, just don't mention
LALR(1).
(C++ Parsers): Say deterministic rather than LALR(1).
(Table of Symbols): Likewise in YYSTACK_USE_ALLOCA entry.
(Glossary): Add Accepting State, Consistent State, Default Rule,
and IELR(1) definitions.
In Generalized LR (GLR) definition, make same changes as in
previous GLR sections.
In LALR(1) definition, say Bison uses LALR(1) by default rather
than implying Bison is limited to LALR(1).
(LocalWords): Add IELR.
(cherry picked from commit 34a6c2d19b85d4650b2d90f60b76d44071d167d1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Its value can be "LALR", "IELR", or "canonical LR".
* lib/timevar.def (TV_IELR_PHASE1): New var.
(TV_IELR_PHASE2): New var.
(TV_IELR_PHASE3): New var.
(TV_IELR_PHASE4): New var.
* src/local.mk (src_bison_SOURCES): Add AnnotationList.c,
AnnotationList.h, InadequacyList.c, InadequacyList.h, Sbitset.c,
Sbitset.h, ielr.c, and ielr.h.
* src/getargs.h, src/getargs.c (enum trace, trace_args,
trace_types): Add trace_ielr.
* src/lalr.h, src/lalr.c (ngotos): Export it.
(F): Rename to...
(goto_follows): ... this, update all uses, and export it.
(set_goto_map): Export it.
(map_goto): Export it.
(compute_lookahead_tokens): Don't free goto_follows yet. Now
handled in ielr.
(initialize_LA): Export it. Move lookback allocation to...
(lalr): ... here because, for canonical LR, initialize_LA must
be invoked but lookback and much of the rest of LALR isn't
needed.
* main.c (main): Instead of lalr, invoke ielr, which invokes
lalr.
* src/reader.c (reader): Default lr.type to "LALR".
Default lr.default_rules to "accepting" if lr.type is "canonical
LR". Leave the default as "all" otherwise.
Check for a valid lr.type value.
* src/state.h, src/state.c (struct state_list): Add state_list
member.
(state_new): Initialize state_list member to NULL.
(state_new_isocore): New function, exported.
* tests/existing.at (AT_TEST_EXISTING_GRAMMAR): New macro that
exercises all values of lr.type.
(GNU AWK Grammar): Rename test group to...
(GNU AWK 3.1.0 Grammar): ... this, and extend to use
AT_TEST_EXISTING_GRAMMAR.
(GNU Cim Grammar): Extend to use AT_TEST_EXISTING_GRAMMAR.
(GNU pic Grammar): Rename test group to...
(GNU pic (Groff 1.18.1) Grammar): ... this, and extend to use
AT_TEST_EXISTING_GRAMMAR.
* tests/reduce.at (AT_TEST_LR_TYPE): New macro that exercises
all values of lr.type.
(Single State Split): New test groups using AT_TEST_LR_TYPE.
(Lane Split): Likewise.
(Complex Lane Split): Likewise.
(Split During Added Lookahead Propagation): Likewise.
|
|
|
|
|
|
|
|
|
|
|
| |
* src/AnnotationList.c: New.
* src/AnnotationList.h: New.
* src/InadequacyList.c: New.
* src/InadequacyList.h: New.
* src/Sbitset.c: New.
* src/Sbitset.h: New.
* src/ielr.c: New.
* src/ielr.h: New.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Its value describes the states that are permitted to contain
default rules: "all", "consistent", or "accepting".
* src/reader.c (reader): Default lr.default_rules to "all".
Check for a valid lr.default_rules value.
* src/lalr.c (state_lookahead_tokens_count): If lr.default_rules
is "accepting", then only mark the accepting state as
consistent.
(initialize_LA): Tell state_lookahead_tokens_count whether
lr.default_rules is "accepting".
* src/tables.c (action_row): If lr.default_rules is not "all",
then disable default rules in inconsistent states.
* src/print.c (print_reductions): Use this opportunity to
perform some assertions about whether lr.default_rules was
obeyed correctly.
* tests/local.at (AT_TEST_TABLES_AND_PARSE): New macro that
helps with checking the parser tables for a grammar.
* tests/input.at (%define lr.default_rules invalid values): New
test group.
* tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): New macro using
AT_TEST_TABLES_AND_PARSE.
(`no %define lr.default_rules'): New test group generated by
AT_TEST_LR_DEFAULT_RULES.
(`%define lr.default_rules "all"'): Likewise.
(`%define lr.default_rules "consistent"'): Likewise.
(`%define lr.default_rules "accepting"'): Likewise.
|
| |
|
|
|
|
|
|
| |
* src/output.c (token_definitions_output): Use symbol_id_get
instead of duplicating its logic.
* TODO (YYERRCODE): Extend.
|
|
|
|
|
|
|
|
|
|
| |
* data/bison.m4 (b4_error_verbose_if): Based on error-verbose
instead of error_verbose.
* src/scan-gram.l (%error-verbose): Map the error-verbose
variable.
* doc/bison.texinfo: Promote %define error-verbose instead of
%error-verbose.
* tests/actions.at: Prefer %define error-verbose to %error-verbose.
|
|
|
|
| |
* src/parse-gram.h, src/parse-gram.c: Regen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* data/bison.m4 (b4_percent_define_if_define_): Also map dashes to
underscores.
* src/scan-gram.l ({id}): Also accept dashes after the initial
letter.
({directive}): Use {id}.
* src/parse-gram.y: Comment and formatting changes.
* doc/bison.texinfo (Symbols): Adjust the lexical definitions of
symbols.
* src/complain.h, src/complain.c (yacc_at): New.
* src/symtab.c (symbol_new): Use yacc_at to report inappropriate
symbol names.
* src/output.c (token_definitions_output): Do not #define token
names with dashes.
|
|
|
|
| |
* src/getargs.c (usage, warnings_args): s/YACC/Yacc/.
|
|
|
|
|
| |
* tests/input.at (%define, --define): Move bison command-line
options before grammar file name.
|
|
|
|
|
| |
* NEWS (2.5): Here.
(cherry picked from commit a2d0567444f8ab1fc079796169a9845fec62ed0f)
|
| |
|
|
|
|
|
|
|
|
| |
* TODO (assert): Remove.
* data/bison.m4 (b4_assert_if): Replace with...
(b4_parse_assert_if): this.
* data/lalr1.cc, data/variant.hh, tests/c++.at: Adjust.
* doc/bison.texinfo (Decl Summary): Document parse.assert.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/getargs.c (getargs): Map -t to %define trace.parse.
* src/scan-gram.l (%debug): Map to %define trace.parse.
* data/bison.m4 (b4_percent_define_if_define): Map `.' in variable
names to `_' in macro names.
(b4_debug_if): Replace with...
(b4_parse_trace_if): this.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
* data/yacc.c: Adjust.
* doc/bison.texinfo (Decl Summary): Document %debug as obsoleted.
Use @code to label the variable list.
Document the variable parse.trace.
(Tracing): Promote the parse.trace variable.
* TODO: %printer is not documented.
|
|
|
|
|
| |
* doc/bison.texinfo (Decl Summary): Fix entry about %debug.
(Table of Symbols): Remove duplicate entry for %debug.
|
|
|
|
|
|
|
| |
* submodules/autoconf: Use latest upstream Autoconf.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit 7ba0d59da0ec8f6876a66ea81bb9f9190ddec358)
|
|
|
|
|
|
|
|
| |
* tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Avoid tripping
autoconf bug related to # in test.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit ab3a683f0560e4ec24a06754386ee8c76da6ef67)
|
| |
|
|
|
|
| |
* src/parse-gram.h, src/parse-gram.c: Regen.
|
|
|
|
|
|
|
| |
* src/muscle_tab.h, src/muscle_tab.c: Rename as...
* src/muscle-tab.h, src/muscle-tab.c: these.
* src/getargs.c, src/local.mk, src/main.c, src/output.c,
* src/parse-gram.y, src/reader.c, src/scan-code.l: Adjust.
|
|
|
|
|
| |
* src/local.mk (BISON): New.
(YACC): Use it.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/getargs.h, src/getargs.c (locations_flag): Remove.
* src/getargs.c, src/scan-code.l: Use muscle_percent_define_ensure
to set "locations" to true.
* src/output.c (prepare): Don't output "locations".
* src/scan-gram.l (%locations): Handle it as a %<flag>.
* src/parse-gram.y: It's no longer a token.
Don't handle it.
* data/bison.m4 (b4_locations_if): Define it with
b4_percent_define_if_define.
* data/c.m4, data/glr.cc: Adjust.
|
|
|
|
| |
* src/parse-gram.c: Regen.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suggested by Joel E. Denny.
* src/muscle_tab.h, src/muscle_tab.c (muscle_percent_define_ensure):
New, extracted from...
* src/parse-gram.y (prologue_declaration: pure-parser): here.
Remove it.
(prologue_declaration: "%<flag>"): Use
muscle_percent_define_ensure.
(%error-verbose, %pure-parser): No longer tokens.
* src/scan-gram.l (pure-parser): Return as a %<flag>.
|
|
|
|
|
|
| |
* build-aux/cross-options.pl: As in --help output, write optional
arguments as [=ARG] not =[ARG].
* doc/bison.texinfo (Bison Options): Add -W/--warnings argument.
|
|
|
|
|
|
|
|
| |
If the first m4 in $PATH is wrong, it keeps looking. Moreover, its
requirements for a correct m4 are stricter.
* m4/m4.m4: Make it a symbolic link to submodules/autoconf/m4/m4.m4.
* configure.ac: Update to use AC_PROG_GNU_M4.
Reported by Eric Blake.
|
|
|
|
|
| |
* HACKING: Incorporate instructions from gnulib/doc/README.
* bootstrap.conf (gnulib_modules): Add gendocs.
|
|
|
|
| |
* src/parse-gram.h, src/parse-gram.c: Regen.
|
|
|
|
|
|
|
|
| |
* src/parse-gram.y (PERCENT_DEBUG, PERCENT_ERROR_VERBOSE): Token
definitions and associated rules, replaced by....
(PERCENT_FLAG): this new token type, and rule.
* src/scan-gram.l (RETURN_PERCENT_FLAG): New.
Use it for %debug and %error-verbose.
|
|
|
|
| |
* src/parse-gram.h, src/parse-gram.c: Regen.
|
| |
|
|
|
|
|
|
|
|
|
| |
* data/bison.m4 (b4_debug_if): New.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c,
* data/lalr1.java: Use it instead of b4_debug_flag.
* src/getargs.h, src/getargs.c (debug_flag): Remove.
* src/output.c (prepare): Don't output it.
* src/parse-gram.y: Treat %debug as %define debug.
|
|
|
|
| |
* src/parse-gram.h, src/parse-gram.c: Regen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows to pass -Derror_verbose on the command line. Better yet, it
allows to pass -Derror_verbose=$(ERROR_VERBOSE), with ERROR_VERBOSE being
defined as false or true.
* data/bison.m4 (b4_percent_define_if_define): Instead of relying
on b4_percent_define_ifdef, for does not check the defined value,
but only whether the symbol is defined, rely on
b4_percent_define_flag_if, so that a value of "false" is processed
as a false.
If not defined, define the flag to "false".
(b4_error_verbose_if): New.
* data/glr.c, data/lalr1.cc, data/yacc.c: Use it instead of
b4_error_verbose_flag.
* src/getargs.h, src/getargs.c (error_verbose_flag): Remove.
* src/output.c (prepare): Don't output it.
* src/parse-gram.y (%error-verbose): Treat as %define error_verbose.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reported by Akim Demaille at
<http://lists.gnu.org/archive/html/bug-bison/2007-12/msg00001.html>
and discussed again starting at
<http://lists.gnu.org/archive/html/bison-patches/2008-11/msg00102.html>.
* data/bison.m4 (b4_percent_define_default): Leave syncline blank
because location information is bogus.
Use angle brackets to delimit fake file name because square brackets
look like over-quoted m4. Choose a better fake file name.
Use negative line numbers.
* src/muscle_tab.c (muscle_percent_define_default): Likewise.
* src/location.c (location_print): If line for a boundary is negative,
only print that boundary's file name.
* src/location.h: Document that.
* tests/skeletons.at (%define Boolean variables: invalid skeleton
defaults): Update output.
|
|
|
|
|
|
| |
* Makefile.am (AM_CFLAGS): Remove $(WERROR_CFLAGS) because many files
in lib won't compile with it.
* src/local.mk (src_bison_CFLAGS): Use $(WERROR_CFLAGS) here only.
|
|
|
|
|
| |
* bootstrap (usage): Don't send --help to stderr.
Use a here doc instead of a long string.
|
|
|
|
| |
* bootstrap (checkout_only_file): Set to HACKING.
|
| |
|
|
|
|
|
|
|
|
| |
Two files is confusing.
Reported by Alexandre Duret-Lutz.
* README-hacking: Merge into...
* HACKING (Working from the repository): here.
|
|
|
|
|
| |
* README-hacking: We now use git and git submodules.
Reported by Ralf Wildenhues and Alexandre Duret-Lutz.
|
|
|
|
|
|
|
|
|
|
| |
GCC 4.3 now warns about "a || b && c" and asks for explicit
parentheses.
Reported by Alexandre Duret-Lutz.
* data/location.cc: Update copyright years.
(Position::operator==): Use parens to make precedence explicit.
Compare lines and columns first, as they are more likely to be
different, and they are faster to compare.
|
|
|
|
|
|
|
|
| |
* gnulib: Update to latest.
* src/local.mk (AM_CFLAGS): Move to...
* Makefile.am: here.
* etc/prefix-gnulib-mk (prefix_assignment): Also transform
AM_CFLAGS.
|
| |
|
|
|
|
|
| |
* data/lalr1.cc (b4_yytranslate_define): Move to...
* data/c++.m4: here.
|