summaryrefslogtreecommitdiff
path: root/data
Commit message (Collapse)AuthorAgeFilesLines
* Do not use date ranges in copyright notices.Paul Eggert2010-06-2319-31/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices * HACKING, Makefile.am, NEWS, PACKAGING, README, README-alpha: * TODO, bootstrap, bootstrap.conf: * build-aux/update-b4-copyright, cfg.mk, configure.ac: * data/README, data/bison.m4, data/c++-skel.m4, data/c++.m4: * data/c-skel.m4, data/c.m4, data/glr.c, data/glr.cc: * data/java-skel.m4, data/java.m4, data/lalr1.cc: * data/lalr1.java, data/location.cc: * data/xslt/bison.xsl: * data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl: * data/xslt/xml2xhtml.xsl, data/yacc.c, djgpp/Makefile.maint: * djgpp/README.in, djgpp/config.bat, djgpp/config.sed: * djgpp/config.site, djgpp/config_h.sed, djgpp/djunpack.bat: * djgpp/subpipe.c, djgpp/subpipe.h: * djgpp/testsuite.sed, doc/bison.texinfo: * doc/refcard.tex, etc/README, etc/bench.pl.in: * examples/calc++/Makefile.am, examples/extexi: * lib/abitset.c, lib/abitset.h: * lib/bbitset.h, lib/bitset.c, lib/bitset.h: * lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c: * lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h: * lib/ebitset.c, lib/ebitset.h, lib/get-errno.c: * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h: * lib/libiberty.h, lib/main.c, lib/timevar.c: * lib/timevar.def, lib/timevar.h, lib/vbitset.c: * lib/vbitset.h, lib/yyerror.c, m4/bison-i18n.m4: * m4/c-working.m4, m4/cxx.m4, m4/subpipe.m4, m4/timevar.m4: * src/AnnotationList.c, src/AnnotationList.h: * src/InadequacyList.c, src/InadequacyList.h, src/LR0.c: * src/LR0.h, src/Sbitset.c, src/Sbitset.h, src/assoc.c: * src/assoc.h, src/closure.c, src/closure.h, src/complain.c: * src/complain.h, src/conflicts.c, src/conflicts.h: * src/derives.c, src/derives.h, src/files.c, src/files.h: * src/flex-scanner.h, src/getargs.c, src/getargs.h: * src/gram.c, src/gram.h, src/graphviz.c, src/ielr.c: * src/ielr.h, src/lalr.c, src/lalr.h: * src/location.c, src/location.h, src/main.c: * src/muscle-tab.c, src/muscle-tab.h, src/named-ref.c: * src/named-ref.h, src/nullable.c, src/nullable.h: * src/output.c, src/output.h, src/parse-gram.y: * src/print-xml.c, src/print-xml.h, src/print.c, src/print.h: * src/print_graph.c, src/print_graph.h, src/reader.c: * src/reader.h, src/reduce.c, src/reduce.h, src/relation.c: * src/relation.h, src/scan-code.h, src/scan-code.l: * src/scan-gram.h, src/scan-gram.l, src/scan-skel.h: * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c: * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h: * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h: * tests/actions.at, tests/atlocal.in, tests/c++.at: * tests/calc.at, tests/conflicts.at, tests/cxx-type.at: * tests/existing.at, tests/glr-regression.at: * tests/headers.at, tests/input.at, tests/java.at: * tests/local.at, tests/named-refs.at: * tests/output.at, tests/push.at, tests/reduce.at: * tests/regression.at, tests/sets.at, tests/skeletons.at: * tests/synclines.at, tests/testsuite.at, tests/torture.at: * data/Makefile.am, data/location.cc, doc/Makefile.am, src/Makefile.am: * tests/Makefile.am, lib/Makefile.am, examples/Makefile.am: * etc/Makefile.am: Don't use date ranges in copyright notices. Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
* lalrl1.cc: give a chance to user defined YYLLOC_DEFAULT.Akim Demaille2010-05-121-20/+20
| | | | | | | | | | | | * data/lalr1.cc (YYLLOC_DEFAULT): Move its definition from the header file to the implementation file, after the user %code sections. * NEWS: Document it. Conflicts: ChangeLog data/lalr1.cc
* c++: use YYRHSLOC.Akim Demaille2010-05-122-13/+15
| | | | | | | | | | | | | | | | | | * data/lalr1.cc (YYRHSLOC): New. (YYLLOC_DEFAULT): Use it. * data/glr.cc: If location_type was user defined, do not include location.hh, and do not produce location.hh and position.hh. * tests/calc.at (YYLLOC_DEFAULT): Use YYRHSLOC. Check that glr.cc supports user defined location_type. * NEWS: Document this. (cherry picked from commit bb9191dd311e4c6d80f8dd12c6a7ce9254404fbc) Conflicts: ChangeLog NEWS data/lalr1.cc tests/calc.at
* lalr1.cc: don't generate location.hh when location_type is definedAkim Demaille2010-05-094-13/+42
| | | | | | | | | | | | | | | | | | | | | | * data/bison.m4 (b4_percent_define_use): New. (b4_percent_define_get): Use it. Accept a default value. * data/c++.m4: Do not provide a default value for the %define variable location_type, rather, use b4_percent_define_get with a default argument where its value is needed. * data/lalr1.cc: Do not load location.cc (which outputs both location.hh and position.hh) if the user defined location_type. Do not include location.hh either. * data/glr.cc: Likewise. (cherry picked from commit 7789b6e3e7199a00437f03591a4605e6c042bdea) Conflicts: ChangeLog data/bison.m4 data/c++.m4 data/lalr1.cc
* tests: fix maintainer-xml-check.Joel E. Denny2010-05-011-2/+18
| | | | | | | | | | | * data/xslt/xml2dot.xsl (xsl:template match="bison-xml-report"): Update output to include comments now produced by --graph. (xsl:template match="automaton"): As for --graph, name the digraph after the grammar file. * src/print-xml.c (escape_bufs): Enlarge array. (print_xml): Add bug-report and url attributes to bison-xml-report element. (cherry picked from commit bc81de36b7ef78ff280e14a173e5cc5d5a3191eb)
* lalr1.cc: remove useless forward declaration.Akim Demaille2010-04-142-14/+2
| | | | | | | | | | | | | * data/lalr1.cc: Include location.hh before stack.hh. Remove the useless forward declarations of position and location. Reported by Chris Morley. * data/glr.cc: Likewise. (cherry picked from commit 7799ef159452772946d91aa89213e87729288ef0) Conflicts: data/lalr1.cc.
* portability: fix pointer arithmetic to conform to C standard.Joel E. Denny2010-04-092-12/+12
| | | | | | | | | | | | | | | | | | | Reported by Tys Lefering at <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00035.html>. This fix is already implemented in glr.c and does not apply to lalr1.java. * data/lalr1.cc (yy::parser::parse): Increase size of yyerror_range and adjust subscripting so you don't have to subtract one from the beginning of the array. * data/yacc.c (b4_declare_parser_state_variables, yyparse, yypush_parse): Likewise. (cherry picked from commit 48f4100a8299918a3abc9c5d29db85319cad3cee) Conflicts: data/yacc.c src/parse-gram.c src/parse-gram.h
* maint: run "make update-copyright"Joel E. Denny2010-01-0419-41/+31
|
* Propagate i18n changes into glr.c.Akim Demaille2009-12-292-24/+29
| | | | | | | | | | | * data/glr.c (yyreportSyntaxError): Use "switch" instead of building the error message format dynamically. * data/lalr1.java: Formatting changes. (cherry picked from commit 2b008529edd233bac07a58d557869ae902be1818) Conflicts: TODO
* Port small part of master's 11707b2b so future ports are easier.Joel E. Denny2009-12-291-32/+32
| | | | * data/lalr1.java (YYParser::yysyntax_error): Untabify.
* Simplify the i18n of the error messages.Akim Demaille2009-12-291-1/+2
| | | | | | | | | * data/lalr1.cc: Comment changes. (cherry picked from commit eeb29422377c730846f784716f22be1759491bcf) Conflicts: data/yacc.c
* Prefer M4 to CPP.Akim Demaille2009-12-291-15/+10
| | | | | | * data/lalr1.cc: Use b4_error_verbose_if instead of #if YYERROR_VERBOSE. (cherry picked from commit 422c18f48d3d545c538c61dbb7471cfa7b9e920c)
* Support i18n of the parse error messages.Akim Demaille2009-12-291-31/+49
| | | | | | | | | | | | | * TODO (lalr1.cc/I18n): Remove. * data/lalr1.cc (yysyntax_error_): Support the translation of the error messages, as done in yacc.c. Stay within the yy* pseudo namespace. (cherry picked from commit a0ffc1751e712e55b27aa7349ec7db302557476b) Conflicts: TODO data/lalr1.cc
* Port small part of master's 8901f32e so future ports are easier.Joel E. Denny2009-12-291-6/+4
| | | | | | | * data/lalr1.cc (yy::parser::yysyntax_error_): Always add second argument, but name it in the function definition only when verbose error messages are enabled and it'll thus be used. (yy::parser::parse): Update use of yysyntax_error_.
* Fix handling of yychar manipulation in user semantic actions.Joel E. Denny2009-12-221-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that yacc.c didn't always update the yychar translation afterwards. However, other skeletons appear to be fine. glr.c appears to already translate yychar before every use. lalr1.cc does not define yychar and does not document its replacement, yyla, for users. It does provide yyclearin, but that does not manipulate yyla and thus requires no translation update. In lalr1.java, yychar is out of scope during semantic actions. * NEWS (2.5): Document. * data/yacc.c (YYBACKUP): Don't bother translating yychar into yytoken here. (yyparse, yypush_parse): Instead, translate before every use of yytoken, and add comments explaining this approach. * tests/actions.at (Destroying lookahead assigned by semantic action): New test group checking that translation happens before lookahead destructor calls at parser return. Previously, incorrect destructors were called. * tests/conflicts.at (%error-verbose and consistent errors): New test group checking that translation happens at syntax error detection before the associated verbose error message and the associated lookahead destructor calls. While the destructor call is fixed by this patch, the verbose error message is currently incorrect due to another bug (see comments in test group), so this is an expected failure for now. (cherry picked from commit df222dfaf4da6becae8665d344669eefc705d7f7) Conflicts: src/parse-gram.c src/parse-gram.h
* YYFAIL: warn about uses and remove from lalr1.java.Joel E. Denny2009-12-221-9/+6
| | | | | | | | | | | | * NEWS (2.5): Document. * data/lalr1.java (parser::YYStack::YYFAIL): Rename to YYERRLAB, and make it private. Update all uses. * src/scan-code.l (SC_RULE_ACTION): Implement warning. (cherry picked from commit 4395a9ff4fd518580b9abe9482783e8eba192f34) Conflicts: data/lalr1.java
* YYFAIL: deprecate.Joel E. Denny2009-12-222-2/+12
| | | | | | | | | | | | | | | | | * NEWS (2.4.2): Document deprecation and the phase-out plan. * data/lalr1.java (parser::YYStack::YYFAIL): Add comment about deprecation. * data/yacc.c (YYFAIL): Likewise, and suppress warnings about YYFAIL from GCC cpp's -Wunused-macros. * doc/bison.texinfo (Java Action Features): Remove YYFAIL documentation. (LocalWords): Remove YYFAIL. (cherry picked from commit 1625df5b18bc1ad696f149f059e6677ca0759dfc) Conflicts: src/parse-gram.c src/parse-gram.h
* Add gcc's -Wundef to test suite and fix another warning from it.Joel E. Denny2009-12-161-1/+2
| | | | | | | | | | | | * NEWS (2.4.2): Update description of -Wundef fix. * configure.ac (WARN_CXXFLAGS_TEST): New substitution. (WARN_CFLAGS_TEST): New substitution. * data/glr.c: Avoid warning about __STRICT_ANSI__. * tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of WARN_CFLAGS. (NO_WERROR_CFLAGS): Likewise. (CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS. (cherry picked from commit a603c6e0bb8b9e79d4136ee0fd0d1bf6a7d010ef)
* * data/yacc.c: Reformat m4 a little.Joel E. Denny2009-12-161-6/+7
| | | | (cherry picked from commit 19750d310c1f21b72fc26d0b8905fac08d175130)
* Simplify y.tab.c when location tracking is disabled.Jonathan Nieder2009-12-161-1/+7
| | | | | | | * data/yacc.c: Do not check YYLTYPE_IS_TRIVIAL if location tracking is not enabled. Instead, unconditionally define YY_LOCATION_PRINT as a no-op for backward compatibility. (cherry picked from commit fcd32abd3a4b68ef525d7766dbed1c98465e23b9)
* Avoid warnings from gcc -Wundef y.tab.c.Jonathan Nieder2009-12-163-6/+6
| | | | | | | | * data/glr.c: Check if YYENABLE_NLS and YYLTYPE_IS_TRIVIAL are defined before using them. * data/lalr1.cc: Likewise. * data/yacc.c: Likewise. (cherry picked from commit ae93128c9671b58bdc2b557c382ecd84e659ab52)
* * data/bison.m4: Update comments for rename to muscle-tab.h.Joel E. Denny2009-10-081-7/+7
|
* yysyntax_error: avoid duplicate lookahead collection.Joel E. Denny2009-10-041-67/+75
| | | | | | | | | | | | | | | | | | | | | | | | | Except when memory reallocation is required, this change eliminates the need to invoke yysyntax_error twice and thus to repeat the collection of lookaheads. It also prepares for future extensions that will make those repetitions more expensive and that will require additional memory management in yysyntax_error. Finally, it fixes an obscure bug already exercised in the test suite. * data/yacc.c (yysyntax_error): Add arguments for message buffer variables stored in the parser. Instead of size, return status similar to yyparse status but indicating success of message creation. Other than the actual reallocation of the message buffer, import and clean up memory management code from... (yyparse, yypush_parse): ... here. * tests/regression.at (%error-verbose overflow): No longer an expected failure. (cherry picked from commit 45319f1365eb8d125424f31401d9d33cc02ff4ad) Conflicts: src/parse-gram.c src/parse-gram.h
* Pass the token type to yysyntax_error.Akim Demaille2009-10-041-7/+6
| | | | | | | | | | | * data/yacc.c (yysyntax_error): Take the transated token instead of the raw number. Adjust callers. (cherry picked from commit 84eedf86fefd2496f288e72731bd0586e0b216f3) Conflicts: TODO
* Simplify the i18n of the error messages.Akim Demaille2009-10-041-42/+34
| | | | | | | | | | * data/yacc.c (yysyntax_error): Rewrite, using a switch instead of building dynamically the format string. (cherry picked from commit eeb29422377c730846f784716f22be1759491bcf) Conflicts: data/lalr1.cc
* Clean up yacc.c a little.Joel E. Denny2009-09-101-107/+115
| | | | | | | | | | | | | * data/yacc.c: Clean up M4 for readability, and make output whitespace more consistent. For the main parse function comment, instead of saying "yyparse or yypush_parse", say either "yyparse" or "yypush_parse" depending on which it actually is. (cherry picked from commit bb31eb56abd67c0ccf92244d160855ff06a336ac) Conflicts: src/parse-gram.c src/parse-gram.h
* Complain about unused %define variables and %code qualifiers.Joel E. Denny2009-09-051-7/+7
| | | | | | | | | | | | | | | | | | * NEWS (2.5): Document. * data/bison.m4 (b4_check_user_names): Complain instead of warn. * doc/bison.texinfo (Decl Summary): Document complaint, and improve %define documentation a little otherwise. * tests/input.at (Reject unused %code qualifiers): Update. (%define errors): Update. (%define, --define, --force-define): Update. (%define backward compatibility): Update. (Unused %define api.pure): Update. * tests/push.at (Push Parsing: Unsupported Skeletons): Update. (cherry picked from commit c6abeab182fed54a2068fd75978a97f9c09d9da7) Conflicts: ChangeLog
* Actually handle the yytable zero value correctly this time.Joel E. Denny2009-08-264-13/+10
| | | | | | | | | | | | | | | | | | | * data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c: Don't mention zero values in the YYTABLE comments. * data/glr.c (yytable_value_is_error): Don't check for zero value. * data/lalr1.cc (yy_table_value_is_error_): Likewise. * data/yacc.c (yytable_value_is_error): Likewise. * data/lalr1.java (yy_table_value_is_error_): Likewise. (yysyntax_error): Fix typo in code: use yytable_ not yycheck_. * src/tables.h: In header comments, explain why it's useless to check for a zero value in yytable. (cherry picked from commit aa0cb40d61cda5bfa9d325a45735439cbbd06327) Conflicts: data/bison.m4 data/lalr1.java
* More fixes related to last two patches.Joel E. Denny2009-08-255-35/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * data/c.m4 (b4_table_value_equals): Comment that YYID must be defined. * data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c: Fix yytable comments: zero indicates syntax error not default action. * data/glr.c (yyis_pact_ninf): Rename to... (yypact_value_is_default): ... this. (yyisDefaultedState): Update for rename. (yyis_table_ninf): Rename to... (yytable_value_is_error): ... this, and check for value zero besides just YYTABLE_NINF. (yygetLRActions): Check for default value from yypact. It appears that this check is always performed before this function is invoked, and so adding the check here is probably redundant. However, the code may evolve after this subtlety is forgotten. Also, update for rename to yytable_value_is_error. Because that macro now checks for zero, a different but equivalent branch of the if-then-else here is evaluated. (yyreportSyntaxError): Update for rename to yytable_value_is_error. The zero condition was mishandled before. (yyrecoverSyntaxError): Update for renames. No behavioral changes. * data/lalr1.cc, data/lalr1.java (yy_pact_value_is_default_): New function. (yy_table_value_is_error_): New function. (parse): Use new functions where possible. No behavioral changes. (yysyntax_error_, yysyntax_error): Use yy_table_value_is_error_. The zero condition was mishandled before. * data/yacc.c (yyis_pact_ninf): Rename to... (yypact_value_is_default): ... this. (yyis_table_ninf): Rename to... (yytable_value_is_error): ... this, and check for value zero besides just YYTABLE_NINF. (yysyntax_error): Update for rename to yytable_value_is_error. The zero condition was mishandled before. (yyparse): Update for renames. No behavioral changes. * src/tables.h: Improve comments about yypact, yytable, etc. more. Most importantly, say yytable value of zero means syntax error not default action. (cherry picked from commit f2b30bdf3713e6fa9fafd0fc6caed68e38248ebc) Conflicts: data/bison.m4 data/lalr1.cc data/lalr1.java data/yacc.c src/parse-gram.c src/parse-gram.h
* Fix %error-verbose for conflicts resolved by %nonassoc.Joel E. Denny2009-08-254-6/+12
| | | | | | | | | | | | | | | | | | | | * NEWS (2.5): Document. * data/glr.c (yyreportSyntaxError): Fix this by checking yyis_table_ninf. * data/yacc.c (yysyntax_error): Likewise. * data/lalr1.cc (yysyntax_error_): Fix this by checking yytable_ninf_. * data/lalr1.java (yysyntax_error): Likewise. * tests/conflicts.at (%nonassoc and eof): Update expected output and remove FIXME. (cherry picked from commit 53f036ce027289d3f5e70c88735b88aa6725381d) Conflicts: data/lalr1.cc data/lalr1.java src/parse-gram.c src/parse-gram.h
* Some code and documentation improvements.Joel E. Denny2009-08-255-13/+29
| | | | | | | | | | | | | | | | | | | | | * data/c.m4 (b4_table_value_equals): New macro to capture some repeated code. * data/glr.c (yyis_pact_ninf): Use it here. (yyis_table_ninf): Likewise. (yyreportSyntaxError): Improve internal comments. * data/yacc.c (yyis_pact_ninf): New macro copied from glr.c. Use it everywhere possible. (yyis_table_ninf): Likewise. (yysyntax_error): Improve internal comments. * data/lalr1.cc (yysyntax_error_): Likewise. * data/lalr1.java (yysyntax_error): Likewise. * src/tables.h: Improve comments about yypact, yytable, etc. (cherry picked from commit 87412882128fc3ae807f47db23884552f5841e74) Conflicts: data/lalr1.java data/yacc.c
* maint: run "make update-copyright"Joel E. Denny2009-08-0611-16/+17
|
* maint: automate b4_copyright updates.Joel E. Denny2009-08-041-2/+2
| | | | | | | | | | | | | | * Makefile.am (update-b4-copyright): New target rule. * build-aux/Makefile.am (EXTRA_DIST): Add update-b4-copyright. * build-aux/update-b4-copyright: New. * data/yacc.c: Remove stray characters around b4_copyright invocations. (cherry picked from commit 269e222e24b03ccc4ab7881d960750ddeb131b05) Conflicts: build-aux/local.mk data/yacc.c
* style changes.Akim Demaille2009-06-112-8/+8
| | | | | | * data/xslt/xml2dot.xsl, data/xslt/xml2xhtml.xsl: Space changes. * src/print-xml.c: Style changes. * tests/conflicts.at: Comment changes.
* Update some comments to make sense for -D.Joel E. Denny2009-05-221-2/+2
| | | | | | | * data/bison.m4 (b4_check_user_names): In header comments, say "user occurrence" instead of "grammar occurrence". * src/muscle_tab.h (muscle_percent_define_insert): Likewise. (muscle_percent_code_grow): Likewise just for consistency.
* * data/c++.m4: Update copyright year.Joel E. Denny2009-05-221-2/+2
|
* * data/c++.m4 (b4_namespace_close): Simplify slightly.Joel E. Denny2009-05-201-2/+2
|
* Handle a trailing `:' in a user-supplied C++ namespace better.Joel E. Denny2009-05-191-1/+1
| | | | | | | * data/c++.m4 (b4_namespace_close): Don't let it be printed among the closing braces here. This fix might make the generated code easier to debug, but otherwise it should be insignificant because a trailing `:' is a C++ error already.
* Convert underscores to dashes in some %define variable names.Joel E. Denny2009-04-302-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | For now, just api.push-pull and lr.keep-unreachable-states. Maintain old names for backward compatibility. * NEWS (2.5): Document. * data/c.m4 (b4_identification): Update comment. * data/yacc.c: Update access. * doc/bison.texinfo: Update. * etc/bench.pl.in (bench_grammar): Update use. * src/files.c (tr): Move to... * src/getargs.c, src/getargs.h (tr): ... here because I can't think of a better place to expose it. My logic is that, for all uses of tr so far, command-line arguments can be involved, and getargs.h is already included. * src/main.c (main): Update access. * src/muscle_tab.c (muscle_percent_define_insert): Convert old variable names to new variable names before assigning value. * src/reader.c (reader): Update setting default. * tests/calc.at: Update uses. * tests/conflicts.at (Unreachable States After Conflict Resolution): Update use. * tests/input.at (%define enum variables): Update use. (%define backward compatibility): New test group. * tests/push.at: Update uses. * tests/reduce.at: Update uses. * tests/torture.at: Update uses.
* List accepted values for a %define enum variable with an invalid value.Joel E. Denny2009-04-241-1/+5
| | | | | | | | | | 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.
* Rename "default rule" to "default reduction".Joel E. Denny2009-04-234-25/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c: Adjust YYDEFACT and yydefact_ documentation. * 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.
* Copyright years.Akim Demaille2009-04-061-2/+2
| | | | * data/glr.c: Add 2007 and 2008 here, consistenly with the comments.
* Install autoconf as a submodule to get m4sugar.Akim Demaille2009-04-062-3189/+2
| | | | | | | * .gitmodules: Add submodules/autoconf. * data/m4sugar/foreach.m4, data/m4sugar/m4sugar.m4: Now links into submodules/autoconf. (cherry picked from commit 6c63b895fbfda2182e148a95aff855e303bdbc30)
* Remove spurious initial empty lines.Joel E. Denny2009-04-061-2/+2
| | | | * data/location.cc: End the @output lines with an @.
* Remove spurious initial empty lines.Akim Demaille2009-04-065-48/+48
| | | | | * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java, * data/yacc.c: End the @output lines with an @.
* Fix strange %define locations for default values.Joel E. Denny2009-04-031-6/+5
| | | | | | | | | | | | | | | | | | 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.
* lalr1.cc: avoid GCC 4.3 warnings.Akim Demaille2009-03-261-8/+9
| | | | | | | | | | 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.
* Update data/README.Akim Demaille2008-12-091-7/+34
| | | | * data/README: Document glr.cc, lalr1.java, m4sugar and xslt.
* Fix unexpanded macros in GLR defines file.Joel E. Denny2008-11-191-4/+4
| | | | | | | | | | | | | | | | | | | Reported by Csaba Raduly at <http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00048.html>. * THANKS (Csaba Raduly): Add. * data/glr.c: Fix overquoting on b4_prefix for yylval and yylloc. * tests/calc.at (_AT_DATA_CALC_Y): If %defines is specified, generate lexer in a separate module that includes the defines file. (AT_CHECK_CALC): Use AT_FULL_COMPILE and request compilation of lexer source. * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_DEFINES_IF. Adjust AT_LOC and AT_VAL to use AT_NAME_PREFIX. (AT_BISON_OPTION_POPDEFS): Pop AT_DEFINES_IF. (AT_DATA_SOURCE_PROLOGUE): New. (AT_DATA_GRAMMAR_PROLOGUE): Use AT_DATA_SOURCE_PROLOGUE. (AT_DATA_SOURCE): New. (AT_FULL_COMPILE): New, copied from master branch and extended to support an additional output file.
* Java parser improvementsDi-an Jan2008-11-012-13/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-11-01 Di-an Jan <dianj@freeshell.org> Paolo Bonzini <bonzini@gnu.org> Support all Java parser class modifiers. * data/java.m4 (b4_percent_define_get3): New. (b4_final_if, b4_strictfp_if): New. * data/lalr1.java (final, strictfp, extends, implements): Support. * doc/bison.texinfo (final, strictfp, extends, implements): Add documentation. * tests/java.at (AT_CHECK_JAVA_MINIMAL): New. (AT_CHECK_JAVA_MINIMAL_W_LEXER): New. (AT_CHECK_JAVA_GREP): New. (Java parser class modifiers): New test. (Java parser class extends and implements): New test. Model exception propagation better with throws and lex_throws. * data/java.m4 (b4_list2): New. (throws): Change default. * data/lalr1.java (yyaction): Add throws. (parse): Add lex_throws in addition to throws. * doc/bison.texinfo (throws, lex_throws): Add documentation. * tests/java.at (Java throws specifications): New test. Improve documentation for Java parsers. * doc/bison.texinfo (Java Parsers): Add subsections. Don't quote first argument of %define. (Java Bison Interface): Document output files. Move documentation of parser class and merge into Java Parser Interface. Document features that error out. Document directives with no effect. Move note about Javadoc higher. (Java Semantic Values): Explicitly mention stype. Document that generic types cannot be used. (Java Location Values): Use @deftypeivar. Document constructors. Correct return value for toString. (Java Parser Interface): List undocumented constants/fields. Move documentation of fields added by %parse-param closer to list of members. Document that token names are added as fields. Document constructors accurately. Remove error method. (Java Scanner Interface): Move note on %pure-parser to Java Bison Interface. Describe %code lexer and yylex accutately. Remove documentation that does not match the code. (Java Action Features): New. (Java Differences): Add reference. Add item on semantic values. Add note about @{ ... @}. Clarify %% epilogue placement. (Java Declarations Summary): New. Fix Java skeleton. * data/java.m4 (b4_prefix): Correct quoting for m4_define_default. (b4_remove_comma): Quote test argument. * tests/java.at (Java parser class and package names): New test. (Java %parse-param and %lex-param): New test. (Java stype, position_class and location_class): New test.