X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/6d8e724de2f64116a2d2684fe2f84e4d02b5809b..d782395d52519fabb2cac3bd479246cc6de7efa8:/ChangeLog diff --git a/ChangeLog b/ChangeLog index c6efd1c9..ae91903b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,125 @@ +2007-09-25 Joel E. Denny + + 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. + +2007-09-24 Wojciech Polak + + Add XSLT transformations. + + * data/xslt/xml2dot.xsl: Transform XML into DOT. + * data/xslt/xml2text.xsl: Transform XML into plain text. + * data/xslt/xml2xhtml.xsl: Transform XML into XHTML. + * data/Makefile.am (xsltdir): New variable. + (dist_xslt_DATA): Add xslt/*.xsl files. + +2007-09-23 Paul Eggert + + * 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. + +2007-09-23 Joel E. Denny + + 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'. + +2007-09-21 Paul Eggert + + * 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. + +2007-09-21 Wojciech Polak + + Add Bison XML Automaton Report. + + Add support for an -x option to generate an XML report. + It is not documented yet. + * src/print-xml.c: New file. + * src/print-xml.h: Likewise. + * lib/timevar.def (TV_XML): New var. + * src/Makefile.am (bison_SOURCES): Add print-xml.c, print-xml.h. + * src/conflicts.c: Include print-xml.h. + (solved_conflicts_xml_obstack): New var. + (log_resolution, conflicts_solve, conflicts_free): + Add support for XML report. + (conflicts_output_val): New function. + * src/conflicts.h (conflicts_output_val): New decl. + * src/files.c (spec_xml_file): New var. + (compute_output_file_names, output_file_names_free): Add XML support. + * src/files.h (spec_xml_file): New decl. + * src/getargs.c (xml_flag): New var. + (usage, short_options, long_options, getargs): Add XML support. + * src/getargs.h (xml_flag): New decl. + * src/gram.c: Include print-xml.h. + (rule_lhs_print_xml, rule_rhs_print_xml): + (grammar_rules_partial_print_xml, grammar_rules_print_xml): + New functions. + * src/gram.h: Declare external ones. + * src/main.c: Include print-xml.h. + (main): Add XML support. + * src/reduce.c: Include print-xml.h. + (reduce_xml): New function. + * src/reduce.h: Declare it. + * src/state.c: Include print-xml.h. + (state_new): Add XML support. + (state_rule_lookahead_tokens_print_xml): New function. + * src/state.h: Declare it. + (struct state): New member solved_conflicts_xml. + * src/symtab.c (symbol_class_get_string): New function. + * src/symtab.h: Declare it. + 2007-09-21 Paul Eggert * GNUmakefile: Switch to coreutils's version. @@ -13,7 +135,6 @@ * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists and is a script that invokes bison. Tighten the code. Add comments. - 2007-08-28 Joel E. Denny Spell "boolean" as "Boolean". Reported by Akim Demaille.