Commit Graph

  • 34cdeddfa5 * src/print-xml.c (escape_bufs): New static global variable replacing... (xml_escape_n): ... the static local variable buf here. (print_xml): Free memory for escape_bufs. * src/reduce.c (reduce_xml): XML-escape terminal symbol tags. Joel E. Denny 2007-09-29 22:36:38 +00:00
  • d782395d52 Replace %push-parser' and %push-pull-parser' with %define push_pull "push"' and %define push_pull "both"'. `%define push_pull "pull"' is the default. * doc/bison.texinfo (Push Decl, Push Parser Function, Pull Parser Function, Parser Create Function, Parser Delete Function): Update declarations. (Decl Summary, Table of Symbols): Replace %push-parser and %push-pull-parser entries with a %define push_pull entry. * data/bison.m4 (b4_percent_define_check_values): New macro. (b4_pull_if, b4_push_if, b4_use_push_for_pull_if): Move these definitions... * data/c.m4 (b4_identification): ... and the YYPUSH and YYPULL cpp definitions... * data/push.c: ... to here and compute them from the value of the %define variable push_pull. * data/c-skel.m4: Instead of choosing the push.c skeleton for push parsing requests here... * data/yacc.c: ... hack this to switch to push.c any time b4_use_push_pull_flag or the %define variable push_pull is set. This will go away when we mv push.c yacc.c. * data/c++-skel.m4, data/glr.c, data/java-skel.m4: Don't report that push parsing is not supported since unused %define variables are reported anyway. * src/getargs.c, src/getargs.h (pull_parser, push_parser): Remove. * src/muscle_tab.h (muscle_percent_define_check_values): Update comments for consistency with b4_percent_define_check_values. * src/output.c (prepare): Don't insert b4_pull_flag and b4_push_flag muscles. * src/parse-gram.y (PERCENT_PUSH_PARSER, PERCENT_PUSH_PULL_PARSER): Remove. (prologue_declaration): Remove %push-parser and %push-pull-parser rules. * src/scan-gram.l (%push-parser, %push-pull-parser): Remove rules. * tests/calc.at: Update declarations. * tests/input.at (%define enum variables): New test case. * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update declaration. (Push Parsing: Multiple impure instances): Update declaration. (Push Parsing: Unsupported Skeletons): New test case. * tests/torture.at (Exploding the Stack Size with Alloca): Update declaration. (Exploding the Stack Size with Malloc): Update declaration. Joel E. Denny 2007-09-25 05:47:27 +00:00
  • 3f999f78be Updated Wojciech Polak 2007-09-24 19:35:08 +00:00
  • ca2cc7aeec data/Makefile.am (xsltdir): New variable. (dist_xslt_DATA): Add xslt/*.xsl files. Wojciech Polak 2007-09-24 19:32:02 +00:00
  • bbeff19643 Transform XML into XHTML. Wojciech Polak 2007-09-24 19:31:08 +00:00
  • 9fb1f8d8f7 Transform XML into plain text. Wojciech Polak 2007-09-24 19:30:49 +00:00
  • dc6025ffeb Transform XML into DOT. Wojciech Polak 2007-09-24 19:30:17 +00:00
  • a4f75309f2 * src/conflicts.c (log_resolution): Fix indenting bugs I introduced. Problem reported by Wojciech Polak. * src/print-xml.c (xml_puts): Work even if LEVEL exceeds INT_MAX/2. (xml_printf): Undo change I made on 21 September; that is, indent 2 spaces, not 1. Paul Eggert 2007-09-24 06:34:44 +00:00
  • ad5feac4e2 Pacify ./configure --enable-gcc-warnings. * src/print-xml.c, src/print-xml.h (xml_puts): Make third argument char const *' instead of char *'. * src/state.c (state_rule_lookahead_tokens_print_xml): Remove unused local variable `sep'. Joel E. Denny 2007-09-24 01:41:35 +00:00
  • 41d7a5f24d * src/gram.c (rule_rhs_print_xml): Now static, since it isn't used elsewhere. * src/print-xml.c: Prefer "const" after types; that's more consistent. (xml_printf): Indent just 1 space for level. (e_char, xlate_char): Remove. (xml_escape_string): Rewrite to avoid undefined behavior (used storage that was freed from the stack). (xml_escape_n): Don't bother checking for subscript error. Paul Eggert 2007-09-21 22:53:58 +00:00
  • 6d8e724de2 * GNUmakefile: Switch to coreutils's version. * bootstrap: Likewise. * Makefile.cfg: Adjust to new GNUmakefile. * README-hacking: Likewise. Paul Eggert 2007-09-21 21:26:14 +00:00
  • 922bdd7ffa Spell "boolean" as "Boolean". Reported by Akim Demaille. * data/bison.m4 (b4_percent_define_flag_if): Fix complaint. * doc/bison.texinfo (Decl Summary): Fix. * src/muscle_tab.c (muscle_percent_define_flag_if): Fix complaint. * tests/input.at (Boolean %define variables): Update output. * tests/skeletons.at (%define boolean variables: invalid skeleton defaults): Rename to... (%define Boolean variables: invalid skeleton defaults): ... this and update output. Joel E. Denny 2007-08-28 07:14:11 +00:00
  • 1b17b01d0f In impure push mode, don't allow more than one yypstate to be allocated since multiple impure parsers would corrupt yynerrs. * data/push.c (yypstate_allocated): New static global variable initialized to 0. (yypull_parse): If yypstate_new returns 0, don't report it as memory exhaustion if yypstate_allocated is 1, but still return 2. (yypstate_new): Invoke yyerror and return 0 if yypstate_allocated is already 1. Otherwise, set it to 1. (yypstate_delete): Set it to 0. * tests/push.at (Push Parsing: Multiple impure instances): New test case. Joel E. Denny 2007-08-18 00:45:52 +00:00
  • 9987d1b3cc * doc/bison.texinfo (Push Decl): Document the push parser. (Table of Symbols): Ditto. (Pure Decl): Ditto. (Decl Summary): Ditto. (Multiple Parsers, Push Parser Function, Pull Parser Function, Parser Create Function, Parser Delete Function): Add new push parser symbols. (Table of Symbols): Document push-parser, push-pull-parser, yypush_parse, yypull_parse, yypstate_new and yypstate_delete. Joel E. Denny 2007-08-18 00:07:01 +00:00
  • f16b08196c Update to GPLv3. * doc/gpl-3.0.texi: New file. * doc/gpl.texi: Remove. * COPYING, GNUmakefile, HACKING, Makefile.am, Makefile.cfg: * Makefile.maint, NEWS, PACKAGING, README, README-alpha: * README-hacking, TODO, bootstrap, bootstrap.conf: * configure.ac, data/Makefile.am, 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/push.c, data/yacc.c, data/m4sugar/m4sugar.m4: * 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/Makefile.am, doc/bison.texinfo: * doc/fdl.texi, doc/refcard.tex, etc/Makefile.am, etc/README: * etc/bench.pl.in, examples/Makefile.am, examples/extexi: * examples/calc++/Makefile.am, lib/Makefile.am, 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/subpipe.c, lib/subpipe.h: * lib/timevar.c, lib/timevar.def, lib/timevar.h: * lib/vbitset.c, lib/vbitset.h, lib/yyerror.c: * m4/c-working.m4, m4/cxx.m4, m4/m4.m4, m4/subpipe.m4: * m4/timevar.m4, src/LR0.c, src/LR0.h, src/Makefile.am: * 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/lalr.c, src/lalr.h, src/location.c, src/location.h: * src/main.c, src/muscle_tab.c, src/muscle_tab.h: * src/nullable.c, src/nullable.h, src/output.c, src/output.h: * src/parse-gram.c, src/parse-gram.h, src/parse-gram.y: * 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/revision.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/Makefile.am, tests/actions.at, 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/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: Update to GPLv3. Paul Eggert 2007-08-15 20:21:33 +00:00
  • 728c4be290 Get rid of broken %no-parser, -n, and --no-parser implementation and documentation. * TODO: Don't mention them. * doc/bison.1: Likewise. * doc/bison.texinfo (Decl Summary): Likewise. (Bison Options): Likewise. (Option Cross Key): Likewise. * src/getargs.c (no_parser_flag): Remove global variable. (usage): Don't print description of -n and --no-parser. (long_options): Remove --no-parser entry here. (getargs): Remove -n case in the switch here. * src/getargs.h (no_parser_flag): Remove extern. * tests/regression.at (Web2c Actions): Remove comment that mentions --no-parser. Joel E. Denny 2007-08-12 02:12:30 +00:00
  • 5d31a2162d * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Do not name user variables starting with yy'. Just pass NULL instead of a dummy local &yylval to yypush_parse. * tests/torture.at (AT_DATA_STACK_TORTURE): Do not name user variables starting with yy'. Joel E. Denny 2007-08-11 23:08:04 +00:00
  • 91661ebbe3 * ChangeLog: For changes in doc/bison.texinfo, consistently reference node names: say "Decl Summary" not "Bison Declaration Summary". Joel E. Denny 2007-08-03 23:24:25 +00:00
  • a2ea208d82 * data/yacc.c (yyexhaustedlab): Define it when YYERROR_VERBOSE is true since it's then always used regardless of whether yyoverflow is defined. Reported by Christian Burger at <http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00031.html>. * THANKS: Add Christian Burger. Joel E. Denny 2007-08-03 04:51:23 +00:00
  • cbd5054909 * src/muscle_tab.c (muscle_percent_define_flag_if): In order to determine whether this function has already complained about an invalid value for a %define boolean variable, don't check whether Bison has ever examined the value. As written, the check was a tautology. Instead, record and check for this complaint using a separate muscle. Joel E. Denny 2007-07-29 01:17:40 +00:00
  • eb1b07409f Fix push parsing memory leak reported by Brandon Lucia at <http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00032.html>. * THANKS: Add Brandon Lucia. * data/push.c (yypstate_delete): Free the stack if it was reallocated but the parse never completed and thus freed it. * tests/Makefile.am (TESTSUITE_AT): Add push.at. * tests/testsuite.at: Include push.at. * test/push.at: New. (Push Parsing: Memory Leak for Early Deletion): New test case. Joel E. Denny 2007-07-28 04:27:32 +00:00
  • 9d774affba Improve handling of multiple S/R conflicts in the same state and of S/R conflicts involving multiple reductions. * src/conflicts.c (resolve_sr_conflict): Don't assign the error action set for a state here or Bison will abort if it is reassigned on a later conflicted reduction in the same state. Similarly, don't finalize and assign the solved conflicts report here or it will be lost if it is reassigned on a later conflicted reduction in the same state. (set_conflicts): Instead, assign them both here after all S/R conflicts in the state have been fully examined. * src/print.c (shift_set): Rename to... (no_reduce_set): ... this. (print_reductions): Update for rename, and add %nonassoc error action tokens to no_reduce_set so that, when printing the first remaining reduction on an error action token, the reduction is enclosed in brackets. (print_results): Update for rename. * tests/conflicts.at (Solved conflicts report for multiple reductions in a state): New test case. (%nonassoc error actions for multiple reductions in a state): New test case. Joel E. Denny 2007-07-17 06:56:36 +00:00
  • b541ffdf2c * lib/.cvsignore: Add charset.alias. Joel E. Denny 2007-07-17 05:12:11 +00:00
  • 10159d2a67 * build-aux/.cvsignore: Add compile. * lib/.cvsignore: Add ref-add.sed, ref-del.sed, and uniwidth. Joel E. Denny 2007-07-17 03:19:37 +00:00
  • 953b39351a * bootstrap (slurp): Create target directories that don't exist. Specifically, we need lib/uniwidth/ because of recent Gnulib changes. Joel E. Denny 2007-07-17 02:28:28 +00:00
  • 6ce2d93a9b * LR0.c (new_itemsets): Fix wording in comments: say item index rather than item number. * closure.c (closure): Likewise. * state.h (reductions): Comment sorting of rules. (state): Comment sorting of items. Joel E. Denny 2007-07-10 02:57:31 +00:00
  • ce3448d5b9 Fix C++ test cases after recent Gnulib changes. Discussed starting at <http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00000.html>. * examples/calc++/Makefile.am (DEFAULT_INCLUDES): Override Automake's definition in order to avoid Gnulib headers since we don't use config.h here. * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Use AT_DATA_GRAMMAR rather than AT_DATA so that config.h is included. Joel E. Denny 2007-07-03 14:08:29 +00:00
  • 8a86eef0fa * data/glr.c (yy_yypstack, yypstates, yypdumpstack): Use YYFPRINTF instead of fprintf. Guard these functions with #if YYDEBUG instead of #ifdef YYDEBUG for consistency with all other uses of YYDEBUG in Bison and so that YYFPRINTF is guaranteed to be defined here. Joel E. Denny 2007-07-02 02:07:20 +00:00
  • 71b61d4db5 Improve some comments in parser table construction. * src/LR0.c (new_itemsets): Explain sorting of itemset and kernel_base. (generate_states): Don't mention ruleset, which is internal to closure. * src/closure.c (closure): Explain sorting of core and itemset, which is required for this function to behave correctly. * src/closure.h (closure): Mention sorting. Joel E. Denny 2007-05-29 04:24:17 +00:00
  • b1a8161341 * src/muscle_tab.c (muscle_percent_define_invalid_value): Replace with... (muscle_percent_define_check_values): ... this more helpful function. Again, it's not used yet, but it will be. * src/muscle_tab.h: Likewise. Joel E. Denny 2007-05-29 03:06:34 +00:00
  • 2a6b783def * src/lalr.c (state_lookahead_tokens_count): For code readability, move the check for disabled transitions to an aver since conflict resolution hasn't happened yet. Joel E. Denny 2007-05-28 04:14:18 +00:00
  • 14462c2b1b Don't depend on C99 features. * src/conflicts.c (conflicts_update_state_numbers): Fix for-loop. * src/lalr.c (lalr_update_state_numbers): Fix for-loop. * src/reader.c (check_and_convert_grammar): Fix for-loop. * src/state.c (state_mark_reachable_states): Fix for-loop. (state_remove_unreachable_states): Fix for-loop. Joel E. Denny 2007-05-28 01:09:11 +00:00
  • efa02545e0 Update copyright date. Joel E. Denny 2007-05-26 23:56:55 +00:00
  • 61fee93ecb * NEWS (2.3a+): In the %code entry, reference section `Bison Declaration Summary' from the manual now since the %code summary has moved there. * doc/bison.texinfo (Prologue Alternatives): Mention that directives in the rules section must be terminated by semicolons. Joel E. Denny 2007-05-26 20:08:18 +00:00
  • 0c650a2027 * data/glr.c (yylval): As in yacc.c, don't extern in the header for the case of pure parsers. Reported by Frans Englich at <http://lists.gnu.org/archive/html/help-bison/2007-05/msg00018.html>. * THANKS: Add Frans Englich. Joel E. Denny 2007-05-26 19:10:43 +00:00
  • 5a43d4184f * src/Makefile.am (yacc): Quote target action commands properly so that the yacc script isn't corrupt. Reported by Hans Aberg at <http://lists.gnu.org/archive/html/bug-bison/2007-05/msg00003.html>. Joel E. Denny 2007-05-26 18:19:34 +00:00
  • f124d4233f Extend the front-end API for %define variables to more completely mirror the back-end. This will be useful in the future. * data/bison.m4 (b4_percent_define_get, b4_percent_define_ifdef): Update comments to mention the new front-end counterparts of these macros. * src/muscle_tab.c (MUSCLE_COMMON_DECODE): New macro with common code for muscle_string_decode and muscle_location_decode. (muscle_string_decode): New static function. (muscle_location_decode): Use MUSCLE_COMMON_DECODE. (muscle_percent_define_get, muscle_percent_define_ifdef): New functions. (muscle_percent_define_flag_if): Use muscle_percent_define_ifdef and muscle_percent_define_get to mimic the b4_percent_define_flag_if implementation more closely. (muscle_percent_define_invalid_value): New function. * src/muscle_tab.h (muscle_percent_define_get, muscle_percent_define_ifdef, muscle_percent_define_invalid_value): Prototype. Joel E. Denny 2007-05-20 05:01:53 +00:00
  • 75ad86eebd * NEWS (2.3a+): Mention yesterday's state-removal change. (2.3a): Remove the %language entry, which was added after 2.3a. * src/LR0.c, src/closure.c, src/closure.h, src/conflicts.c, src/conflicts.h, src/lalr.c, src/lalr.h, src/print.c, src/print_graph.c, src/state.c, src/state.h, tests/conflicts.at, tests/existing.at: Update copyright date. Joel E. Denny 2007-05-08 05:03:53 +00:00
  • 5967f0cf59 If conflict resolution makes states unreachable, remove those states, report rules that are then unused, and don't report conflicts in those states. * src/conflicts.c, src/conflicts.h (conflicts_update_state_numbers): New global function. * src/lalr.c, src/lalr.h (lalr_update_state_numbers): New global function. * src/main.c (main): After conflict resolution, remove the unreachable states and update all data structures that reference states by number. * src/state.c (state_new): Initialize each state's reachable member to false. (state_mark_reachable_states): New static function. (state_remove_unreachable_states): New global function. * src/state.h (struct state): Add member bool reachable. (state_remove_unreachable_states): Prototype. * tests/conflicts.at (Unreachable States After Conflict Resolution): New test case. * tests/existing.at (GNU pic Grammar): Update test case output now that an unused rule is discovered. Joel E. Denny 2007-05-07 02:56:56 +00:00
  • b09f4f4851 Minor code cleanup in parser table construction. * src/LR0.c (new_itemsets): Use item_number_is_symbol_number. (new_itemsets, save_reductions): Update for rename to nitemset. * src/closure.c (nritemset): Rename to... (nitemset): ... this since the "r" appears to meaningless and isn't used in the comments. (closure): Update for rename. * src/closure.h (nritemset): Update extern to... (nitemset): ... this. * src/lalr.c (LA): Fix a typo in comments. * src/print.c (print_core): Update for rename to nitemset. * src/print_graph.c (print_graph): Likewise. * src/state.h: Fix some typos in header comments. Joel E. Denny 2007-05-07 02:28:42 +00:00
  • 9b33de72cd Use ASCII for Sebastien Fricker's name. Paul Eggert 2007-04-04 22:41:58 +00:00
  • bbb44d83f8 * README-hacking: New file, taken mostly from coreutils, with changes for Bison. Contains much of the contents of: * README-cvs: Remove. * bootstrap: Sync from gnulib. * build-aux/.cvsignore: Remove *.t, mkinstalldirs. * lib/.cvsignore: Add wchar.h, wctype.h. Remove exit.h. Paul Eggert 2007-04-04 22:36:54 +00:00
  • 2955354793 * doc/bison.texinfo (Destructor Decl): Fix typo reported by Sebastian Setzer. (Java Differences): Fix some typos. * THANKS: Add Sebastian Setzer. Joel E. Denny 2007-03-10 21:05:24 +00:00
  • 01b477c6b6 2007-03-07 Paolo Bonzini <[email protected]> Paolo Bonzini 2007-03-09 09:13:43 +00:00
  • 7cfc1553a3 * fnchange.lst: Reflect the renaming of c++ into cxx. Juan Manuel Guerrero 2007-03-08 01:47:29 +00:00
  • a7309d7d90 * config.sed: Reflect the renaming of c++-skel.m4 into cxx-skel.m4. Juan Manuel Guerrero 2007-03-08 01:47:19 +00:00
  • 0d1c1cab3c * config.bat: Reflect the renaming of c++-skel.m4 into cxx-skel.m4. Juan Manuel Guerrero 2007-03-08 01:47:08 +00:00
  • 7ac22ca61d * config.bat: Inhibit the use of disallowed characters. Juan Manuel Guerrero 2007-03-07 21:58:17 +00:00
  • 90f09655c1 * testsuite.sed: Inhibit the use of disallowed characters. Juan Manuel Guerrero 2007-03-07 21:58:05 +00:00
  • 122bea3ab9 DJGPP spefic issue. Inhibit the use of disallowed characters for file name genertion on Win98, WinXP, etc. These are |<>":?*and concern testsuite case 46. * Makefile.am: djgpp/testsuite.sed added to EXTRA_DIST * djgpp/testsuite.sed: Inhibit the use of disallowed characters. * djgpp/config.bat: Inhibit the use of disallowed characters. Juan Manuel Guerrero 2007-03-07 21:57:35 +00:00
  • ea3bcc0fcb * Makefile.am: djgpp/testsuite.sed added to EXTRA_DIST Juan Manuel Guerrero 2007-03-07 21:56:39 +00:00
  • c4d505179a * djgpp/config.bat: Rename arguments to args. Avoids 8.3 alias difficulty. Juan Manuel Guerrero 2007-03-07 07:24:23 +00:00
  • 50a843778a * djgpp/config.sed: Fix that inttypes.h and inttypes_.h map on the same 8.3 alias. Juan Manuel Guerrero 2007-03-07 06:33:37 +00:00
  • 7b30971d7b * djgpp/config.bat: Fix that inttypes.h and inttypes_.h map on the same 8.3 alias. Juan Manuel Guerrero 2007-03-07 06:33:27 +00:00
  • 9611cfa20b Miscellaneous %define and %code cleanup. * data/bison.m4 (b4_percent_define_flag_if): Correct comments on how values are interpreted. * doc/bison.texinfo (Decl Summary): Clean up and extend %define documentation a little more. * src/muscle_tab.c (MUSCLE_USER_NAME_CONVERT, muscle_percent_define_insert, muscle_percent_code_grow): New functions/macros. * src/muscle_tab.h (muscle_percent_define_insert, muscle_percent_code_grow): Prototype. * src/parse-gram.y (prologue_declaration): Use muscle_percent_define_insert and muscle_percent_code_grow when parsing %define and %code directives. Joel E. Denny 2007-03-02 06:26:28 +00:00
  • 0bf9249152 * src/print.c (lookahead_set, state_default_rule): Remove. (print_reductions): Replace state_default_rule invocation with equivalent use of yydefact, which was computed in token_actions in tables.c. (print_results): Don't allocate lookahead_set. Joel E. Denny 2007-03-01 03:40:18 +00:00
  • d3b129885f 2007-02-27 Paolo Bonzini <[email protected]> Paolo Bonzini 2007-02-27 07:31:19 +00:00
  • 28b806cbd5 lib/.cvsignore: Update. Joel E. Denny 2007-02-24 22:40:59 +00:00
  • f57a753663 Use YYFPRINTF instead of fprintf where appropriate. Reported by S�bastien Fricker at <http://lists.gnu.org/archive/html/bug-bison/2007-02/msg00035.html>. * THANKS: Add S�bastien Fricker. * data/glr.c, data/push.c, data/yacc.c (yy_reduce_print): Implement. * doc/bison.texinfo (Tracing): Make it clearer that YYFPRINTF must accept a variable number of arguments. Joel E. Denny 2007-02-24 05:43:35 +00:00
  • 6404a5bf3f * bootstrap: Remove occurrences of .#bootmp from lib/Makefile. Joel E. Denny 2007-02-19 06:06:55 +00:00
  • 1ab41b2a2e * djgpp/README.in: More generic description of required packages for compiling the sources. Juan Manuel Guerrero 2007-02-16 10:48:21 +00:00
  • c7c8ecd1df * djgpp/config.site: Adjustments concerning the use of autoconf 2.61. Juan Manuel Guerrero 2007-02-14 01:20:37 +00:00
  • 2c061cb015 * djgpp/config.sed: Adjustments concerning the use of autoconf 2.61. Juan Manuel Guerrero 2007-02-14 01:20:26 +00:00
  • 12ab1c9dd1 * djgpp/config.bat: Adjustments concerning the use of autoconf 2.61. Juan Manuel Guerrero 2007-02-14 01:20:06 +00:00
  • e4e0963996 * DJGPP specific adjustments concerning the use of autoconf 2.61. Juan Manuel Guerrero 2007-02-14 01:19:42 +00:00
  • d7e0a1a776 Undo my 2007-02-07 change, switching back to the c-strcase module introduced in the 2007-02-03 change. Bruno Haible reported that the 2007-02-07 change would be dangerous in Turkish if we add a language whose name contains "i", since "i" is not lowercase "I" in Turkish. * bootstrap.conf (gnulib_modules): Add c-strcase. Remove strcase. * lib/.cvsignore: Add c-ctype.c, c-ctype.h, c-strcase.h, c-strcasecomp.c, c-strncasecmp.c. Remove strcasecmp.c, strncasecmp.c. * m4/.cvsignore: Remove strcase.m4. * src/getargs.c: Revert 2007-02-07 change, as follows. Include c-strcase.h. (language_argmatch): Use c_strcasecmp rather than strcasecmp. Paul Eggert 2007-02-12 06:11:39 +00:00
  • deee93a132 Enable the Java related testsuite tests when the only Java compiler found is a gcj < 4.3. Discussed at <http://lists.gnu.org/archive/html/bug-bison/2007-02/msg00016.html>. * configure.ac (gt_JAVACOMP): Don't specify a target_version. Joel E. Denny 2007-02-11 18:44:57 +00:00
  • 574add857a * data/Makefile.am: Update copyright date. * data/push.c (yypull_parse): Report memory exhaustion and return 2 if yypstate_new returns NULL. (yypstate_new): Return NULL if malloc does. * src/reader.c (packgram): Move translation of rule actions from the beginning of packgram to... (check_and_convert_grammar): ... here right before packgram is invoked so it's easier to write more complete comments, and remove redundant code. Joel E. Denny 2007-02-11 07:34:26 +00:00
  • e785ccf715 As in semantic actions, make @$ in %initial-action, %destructor, and %printer imply %locations. * src/scan-code.l (SC_SYMBOL_ACTION): Set locations_flag = true when scanning @$. * tests/actions.at (AT_CHECK_ACTION_LOCATIONS): New macro supporting... (@$ in %initial-action implies %locations, @$ in %destructor implies %locations, @$ in %printer implies %locations): ... these new test cases. Joel E. Denny 2007-02-10 22:28:23 +00:00
  • 1cfe1ed7c8 Undo most of the 2007-02-03 change, switching to the strcase module now that gnulib strcase has been fixed. * bootstrap.conf (gnulib_modules): Remove c-strcase. Add strcase. * lib/.cvsignore: Remove c-ctype.c, c-ctype.h, c-strcase.h, c-strcasecomp.c, c-strncasecmp.c. Add strcasecmp.c, strncasecmp.c * m4/.cvsignore: Add strcase.m4. * src/getargs.c: Revert 2007-02-03 change, as follows. Don't include c-strcase.h. (language_argmatch): Use strcasecmp rather than c_strcasecmp. strcasecmp has "unspecified behavior" outside the POSIX locale, but it works fine in practice if at least one argument is ASCII, as is the case in Bison. Paul Eggert 2007-02-07 20:37:29 +00:00
  • 0049ec8628 2007-02-07 Paolo Bonzini <[email protected]> Paolo Bonzini 2007-02-07 17:03:10 +00:00
  • 8a93f8e60c 2007-02-05 Paolo Bonzini <[email protected]> Paolo Bonzini 2007-02-05 09:58:04 +00:00
  • 2c2b72205a * .cvsignore: Add javacomp.sh, javaexec.sh. Is this really the right spot for these files? * bootstrap.conf (gnulib_modules): Add c-strcase. * lib/.cvsignore: Add c-ctype.c c-ctype.h, c-strcasecomp.c, c-strncasecmp.c. * src/getargs.c: Include c-strcase.h. (language_argmatch): Use c_strcasecmp rather than strcasecmp, to avoid unspecified behavior. Paul Eggert 2007-02-04 07:19:10 +00:00
  • b2b81dae23 * doc/bison.texinfo (Decl Summary): Correct typo. Joel E. Denny 2007-02-01 06:39:43 +00:00
  • c1d19e10c3 2007-01-30 Paolo Bonzini <[email protected]> Paolo Bonzini 2007-01-30 08:01:29 +00:00
  • 8405b70c05 2007-01-29 Paolo Bonzini <[email protected]> Paolo Bonzini 2007-01-29 10:54:42 +00:00
  • 87b0a37597 * src/scan-skel.l (at_directive_perform): Fix switch statements for last patch. Joel E. Denny 2007-01-28 15:10:56 +00:00
  • 3eb82471fa Clean up. * src/scan-skel.l (at_directive_perform): Add at_directive_argc and at_directive_argv arguments so these no longer have to be global variables. Also, update the implementation for the following changes. (fail_for_at_directive_too_many_args, fail_for_at_directive_too_few_args): Add at_directive_name argument. (at_directive_name): Remove as at_directive_argv[0] will be used for this now. (AT_DIRECTIVE_ARGC_MAX): Increment to make space in at_directive_argv for the directive name. (at_directive_argc, at_directive_argv): Make these local within skel_lex instead of global. (INITIAL): Update directive start action for above changes. (SC_AT_DIRECTIVE_ARG): Rename to... (SC_AT_DIRECTIVE_ARGS): ... this, and update for above changes. (SC_AT_DIRECTIVE_SKIP_WS): Update. (scan_skel): Move yylex_destroy to... (skel_scanner_free): ... here. * tests/skeletons.at (installed skeleton file name): Rename to... (installed skeleton file names): ... this. Joel E. Denny 2007-01-28 14:31:56 +00:00
  • 148d66d861 * ChangeLog: For changes in doc/bison.texinfo, consistently reference node names: say "Table of Symbols" not "Bison Symbols", and say "Decl Summary" not "Directives". * doc/bison.texinfo (Decl Summary, Calc++ Parser): Cross-reference the %code entry in "Decl Summary" rather than the one in "Table of Symbols" since the former is now the more complete one. (Prologue Alternatives): Likewise and do the same for %defines. (Table of Symbols): Add summary of %code, add summary of %define, and move full %code documentation to... (Decl Summary): ... here for consistency with other entries in these sections. Move %define entry in order to keep this list alphabetized. Reword %define entry a little to put less emphasis on the skeleton concept, which most users shouldn't have to think about. Joel E. Denny 2007-01-27 23:34:16 +00:00
  • 665f0c2454 Adjust to recent gnulib changes. * lib/.cvsignore: Remove stpcpy.h, strndup.h, strnlen.h. Add string.h, string_.h, unistd_.h, wchar_.h. * m4/.cvsignore: Add gnulib-common.m4, string_h.m4, wchar.m4. * src/system.h: Don't include <stpcpy.h>; this is now done by <string.h>. Paul Eggert 2007-01-26 23:11:59 +00:00
  • 592d0b1eb5 2007-01-23 Paolo Bonzini <[email protected]> Paolo Bonzini 2007-01-23 12:24:27 +00:00
  • 5f340b4884 Back out previous patch. Joel E. Denny 2007-01-18 08:32:33 +00:00
  • d4bdb91677 Implement @gettext<...@> directive to call gettext from skeletons. It can be used anywhere including inside arguments of directives of the form @foo(...@). Eventually, it should be possible to write an xgettext-like utility to extract @gettext<...@> text from skeletons. * data/bison.m4 (b4_check_user_names): Use @gettext<...@> when invoking b4_warn_at since b4_warn_at doesn't invoke gettext anymore. * data/glr.cc, data/lalr1.cc: Likewise but for b4_fatal and b4_complain reporting a push-parsing request or a missing %defines. * src/scan-skel.l (INITIAL): Recognize @gettext<' to start... (SC_AT_GETTEXT_ARG): ... this new start condition where gettext is invoked. (SC_AT_DIRECTIVE_ARG): Rename to... (SC_AT_DIRECTIVE_ARGS): ... this, and recognize @gettext<' to start SC_AT_GETTEXT_ARG. (at_directive_perform): Don't invoke gettext for @warn(...@), @warn_at(...@), etc. Instead, let the skeletons decide what should be passed to @gettext<...@>. * tests/skeletons.at (@gettext<...@>): New test case. Joel E. Denny 2007-01-18 05:14:59 +00:00
  • a7867f53b3 Implement support for relative and absolute skeleton file names. Discussed starting at <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00071.html>. * doc/bison.texinfo (Decl Summary): Document in %skeleton entry. (Bison Options): Document in --skeleton entry. * src/output.c (output_skeleton): Use strncpy rather than strcpy since full_skeleton can't necessarily hold all of pkgdatadir. If the specified skeleton file name contains a /', don't prepend pkgdatadir. * src/parse-gram.y (prologue_declaration): If the specified skeleton file name contains a /', prepend the grammar file directory. * tests/Makefile.am (TESTSUITE_AT): Add skeletons.at. * skeletons.at: New file. (relative skeleton file names): New test case. (installed skeleton file names): New test case. * tests/testsuite.at: Include skeletons.at. Joel E. Denny 2007-01-18 02:18:17 +00:00
  • 830c9b1847 2007-01-17 Paolo Bonzini <[email protected]> Paolo Bonzini 2007-01-17 18:28:30 +00:00
  • db89d400f2 Back out previous commit, which was unintended. Joel E. Denny 2007-01-17 09:20:34 +00:00
  • a8c2e813f2 * doc/bison.texinfo (Calc++ Parser): Don't try to alias nonterminals. Use per-type %printer. Akim Demaille 2007-01-17 08:44:55 +00:00
  • 279cabb657 * NEWS, data/c++-skel.m4, data/c++.m4, data/c-skel.m4, data/c.m4, data/glr.c, data/glr.cc, data/lalr1.cc, data/location.cc, djgpp/config.site, src/files.c, src/files.h, src/main.c, src/muscle_tab.c, src/muscle_tab.h, src/parse-gram.y, src/reader.h, src/scan-skel.h, src/scan-skel.l, tests/actions.at, tests/calc.at, tests/glr-regression.at, tests/input.at, tests/local.at, tests/output.at, tests/torture.at: Update copyright to 2007. Joel E. Denny 2007-01-17 08:36:07 +00:00
  • bb32f4f284 * doc/bison.texinfo (Calc++ Parsing Driver): Let "parse" return an error code. (Calc++ Scanner): Exit with failure if we can't open the input file. Accept "-" standing for stdin. (Calc++ Top Level): Print the result only if the parsing was successful. Akim Demaille 2007-01-16 13:11:30 +00:00
  • 7cff04b572 * data/lalr1.cc (yy_reduce_print_): Add a missing end-of-line. Akim Demaille 2007-01-16 12:27:19 +00:00
  • a4e25e1dec Clean up %define and %code implementation in M4 some. Most importantly, rename all related macros to be in the b4_percent_define and b4_percent_code namespaces. Also, complete support for .' in %define variable names and %code qualifiers. * data/bison.m4 (b4_check_user_names): Check for special "SKELETON-NAMESPACE(name)" macros instead of using two nested m4_foreach loops. (b4_get_percent_define, b4_get_percent_code): Rename to... (b4_percent_define_get, b4_percent_code_get): ... these. Extend documentation with examples. For SKELETON-NAMESPACE (as documented for b4_check_user_names), use b4_percent_define_skeleton_variables and b4_percent_code_skeleton_qualifiers. Expect any value for the %define variable foo' to be stored in the macro named b4_percent_define(foo)'; expect any %code blocks for the qualifier foo' to be stored in a macro named b4_percent_code(foo)'; expect any unqualified %code blocks to be stored in a macro named b4_percent_code_unqualified'. Use m4_indir so that %define variable names and %code qualifiers can contain `.', which is allowed by the grammar parser. (b4_percent_define_default): New macro to set a default value for a %define variable. (m4_wrap): Update wrapped code, and fix some underquoting. (b4_check_user_names_wrap): Update and define outside the m4_wrap. Expect grammar uses of %define variables and %code qualifiers to be defined in b4_percent_define_user_variables and b4_percent_code_user_qualifiers. * data/c++.m4: Use b4_percent_define_default rather than m4_define_default. Fix some underquoting. Skeleton usage of %define variable define_location_comparison now implies skeleton usage of %define variable filename_type. * data/glr.c, data/glr.cc, data/lalr1.cc, data/location.cc, data/push.c, data/yacc.c: Update macro names. * src/parse-gram.y (prologue_declaration, grammar_declaration): Update muscle names. Joel E. Denny 2007-01-16 06:16:04 +00:00
  • e37c665c41 * djgpp/config.site: Set ac_cv_path_mkdir to a sane DJGPP specific default. Set gl_cv_absolute_wctype_h to a sane DJGPP specific default. Juan Manuel Guerrero 2007-01-14 22:22:26 +00:00
  • 7d2d521fb8 * tests/glr-regression.at: Use AT_PARSER_CHECK rather than AT_CHECK to run parsers in all tests so that Valgrind is invoked during maintainer-check-valgrind. (Duplicate representation of merged trees): Free all semantic values. (Duplicated user destructor for lookahead): Likewise. Joel E. Denny 2007-01-10 03:47:50 +00:00
  • e0ac9b4bb0 * tests/local.at (AT_PARSER_CHECK): Add a PRE argument to specify a command-line prefix. * tests/torture.at (Exploding the Stack Size with Alloca): Stderr is ignored, so use that PRE to set --log-fd=1 in VALGRIND_OPTS so we don't miss Valgrind messages. (Exploding the Stack Size with Malloc): Likewise. Joel E. Denny 2007-01-10 02:55:19 +00:00
  • 78143faa16 Ignore YYSTACK_USE_ALLOCA for push parsers since the stacks can't be locals. Reported by Juan Manuel Guerrero at <http://lists.gnu.org/archive/html/bug-bison/2007-01/msg00000.html>. * data/push.c: Enclose the #ifdef YYSTACK_USE_ALLOCA in b4_push_if. Fix some indentation also. * tests/torture.at (Exploding the Stack Size with Alloca): Add comment explaining this issue. Joel E. Denny 2007-01-10 00:50:55 +00:00
  • 8f7ebfc81f Regenerate. Joel E. Denny 2007-01-09 05:36:40 +00:00
  • 5c80250c8d Clarify last entry a little. Joel E. Denny 2007-01-09 05:32:14 +00:00
  • 7ecec4ddf9 Simplify union and prologue handling, and escape union and lex/parse params with digraphs. * data/bison.m4 (b4_pre_prologue, b4_post_prologue): Set their default values to the empty string since these are no longer guaranteed initialized by the front-end. * data/glr.c, data/glr.cc, data/lalr1.cc, data/push.c, data/yacc.c: Add braces around b4_user_stype since this is no longer done by the front-end. * src/files.c, src/files.h (pre_prologue_obstack, post_prologue_obstack): Remove. * src/muscle_tab.c (muscle_pair_list_grow): Don't duplicate header comments here. Use MUSCLE_OBSTACK_SGROW so that values are escaped with digraphs. This fixes lex params and parse params. * src/muscle_tab.h (muscle_pair_list_grow): Update comments. * src/output.c (prepare): Remove muscle insertion of the prologues. (output): Remove freeing of pre_prologue_obstack and post_prologue_obstack. * src/parse-gram.y (prologue_declaration): Use muscle_code_grow rather than prologue_augment for prologue parsing so you don't need prologue obstacks. (grammar_declaration): Use `braceless' instead of "{...}" so that braces are already stripped and code is escaped with digraphs. * src/reader.c (prologue_augment): Remove. (reader): Remove initialization of pre_prologue_obstack and post_prologue_obstack. * src/reader.h (prologue_augment): Remove. Joel E. Denny 2007-01-09 05:24:11 +00:00
  • 16dc6a9ebf Remove quotes from variables names in %define directives and from qualifiers in %code directives, and restrict the characters that are allowed in them to M4-friendly ones. For %define, continue to support the quoted form as a deprecated feature. Discussed starting at <http://lists.gnu.org/archive/html/bison-patches/2007-01/msg00023.html>. * NEWS (2.3a+): Add entry for the change to %define. Update entry for %code. * doc/bison.texinfo (Prologue Alternatives): Update. (Bison Declaration Summary): In %defines entry, update mention of %code requires' and %code provides'. (C++ Location Values): Update %define uses. (Calc++ Parser Interface): Likewise. (Calc++ Parser): Likewise, and update %code requires' uses. (Bison Symbols): Update %code documentation. * src/parse-gram.y (prologue_declaration): For %define variables, use variable' instead of STRING'. (grammar_declaration): For %code qualifiers, use ID' instead of STRING'. (variable): New nonterminal that takes an ID' or a `STRING'. * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Update %code and %define uses. * tests/calc.at (_AT_DATA_CALC_Y): Update %define use. * tests/input.at (Reject unused %code qualifiers): Update %code uses. (%define errors): Update %define uses. Joel E. Denny 2007-01-09 01:17:51 +00:00
  • e9813cd4f8 * src/parse-gram.y (prologue_declaration): Use MUSCLE_INSERT_STRING instead of muscle_insert for %define values so that M4-special characters are replaced with digraphs. * tests/input.at (%define errors): Extend to check weird values. Joel E. Denny 2007-01-08 22:06:55 +00:00