X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/1bb2bd75f0185ca53c92f1c63cdc0b5ceef3f1f2..7020f1e9e255c63d468b5b1591ea2475e40fca28:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 741f68ed..caa65b62 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,295 @@ +2008-02-28 Akim Demaille + + * src/getargs.c (short_options): Split and sort for readability. + -g and -x take optional arguments, just like their long options. + * build-aux/cross-options.pl: Use /x to make the regexp easier to + understand. + Fix the handling of $opt which resulted in all the argument to be + considered as optional. + +2008-02-22 Joel E. Denny + + * NEWS (2.3a+): Don't say %language is experimental. Mention Java and + say its interface is experimental. + * doc/bison.texinfo (Decl Summary): In the %language entry, mention + Java. + (Bison Options): In the -L and --language entry, mention Java. + (Java Bison Interface): Say the interface is experimental. + * src/getargs.c (usage): Mention -L and --language. + + * NEWS (2.3a+): Say the push parsing interface is experimental. + * doc/bison.texinfo (Push Decl): Likewise. + (Decl Summary): Likewise in the "%define api.push_pull" entry. + (Push Parser Function): Likewise. + (Pull Parser Function): Likewise. + (Parser Create Function): Likewise. + (Parser Delete Function): Likewise. + (Table of Symbols): Likewise in the yypstate_delete, yypstate_new, + yypull_parse, and yypush_parse entries. + + * NEWS (2.3a+): Mention XML support, and say the schema is + experimental. + * doc/bison.texinfo (Bison Options): Mention -x and --xml. + * src/getargs.c (usage): Say the XML schema is experimental. + + * NEWS (2.3a+): Say option instead of flag. + +2008-02-21 Wojciech Polak + + * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Change footer + text. + +2008-02-20 Joel E. Denny + + Fix impure push parser compile error reported by Bob Rossi at + . + * data/yacc.c: Clean up whitespace in the output a little. + (yypstate_allocated): Define for impure push parsers regardless of + whether the pull interface is also requested. + * tests/push.at (Push Parsing: Multiple impure instances): Extend to + check impure push parsers without the pull interface. + + * data/yacc.c (yypstate_new): Don't try to invoke yyerror since + yyerror takes arguments specified by %parse-param while yypstate_new + does not. + * doc/bison.texinfo (Parser Create Function): Document that + yypstate_new returns 0 for multiple impure parser instances. + * tests/push.at (Push Parsing: Multiple impure instances): Update + expected stderr output. + +2008-02-19 Joel E. Denny + + * runtime-po/POTFILES.in (push.c): Remove. + +2008-02-17 Joel E. Denny + + * data/Makefile.am (dist_pkgdata_DATA): Remove push.c. + * data/push.c: Rename to... + * data/yacc.c: ... this, overwriting it. + * etc/bench.pl.in (bench_grammar): `%pure-parser'-> `%define api.pure'. + `%push-pull-parser' -> `%define api.push_pull "both"'. + Remove old yacc.c tests, and update push.c tests to yacc.c. + +2008-02-17 Joel E. Denny + + * data/bison.m4 (b4_percent_code_get): Output %code block comments like + `"%code top" blocks' instead of `%code "top" blocks'. + * data/push.c: Import yacc.c changes from 2008-01-09 and 2007-08-03. + Clean up whitespace in the output a little. + +2008-02-16 Joel E. Denny + + Fix documentation problems reported by Tim Josling at + . + * NEWS (2.3a+): Mention removal of --no-parser, -n, and %no-parser. + * doc/bison.texinfo (Token Decl): Token numbers are *nonnegative* + integers. Explain the effect of literal string aliases on error + messages. Copy token 0 documentation from the C++ skeleton + documentation. + +2008-02-16 Joel E. Denny + + Accept a token number in a %left, %right, or %nonassoc for POSIX + conformance. Reported by Tim Josling at + . + * NEWS (2.3a+): Mention. + * doc/bison.texinfo (Precedence Decl): Describe how literal strings + and code numbers are treated by precedence declarations. + * src/parse-gram.y (precedence_declaration): Use symbols.prec instead + of symbols.1. + (symbols.prec): New, just like symbols.1 but uses symbol.prec instead + of symbol. + (symbol.prec): New, just like symbol but allows INT. + * src/symtab.c (symbol_user_token_number_set): Remove an aver that no + longer holds. + * tests/regression.at (Token number in precedence declaration): New + test case. + +2008-02-06 Juan Manuel Guerrero + + DJGPP specific issues. + * djgpp/config.bat: Add filenames that are not 8.3 clean and that must + be changed. Copyright timestamp adjusted. + * djgpp/config.sed: Add filenames that are not 8.3 clean and that must + be changed. Copyright timestamp adjusted. + * djgpp/config.site: Copyright timestamp adjusted. + * djgpp/config_h.sed: Copyright timestamp adjusted. + * djgpp/djunpack.bat: Copyright timestamp adjusted. + * djgpp/fnchnage.lst: Add filenames that are not 8.3 clean to the + filename translation list. + * djgpp/subpipe.c (init_subpipe): Check the environment variables + TMPDIR, TMP and TEMP, in that order, to determinate where the temp + files shall be created. Before trying to use the temp dir where the + environment variable points to check that the dir really exists. If + not default to the cwd as temp dir. Copyright timestamp adjusted. + * djgpp/subpipe.h: Copyright timestamp adjusted. + * djgpp/testsuite.sed: Copyright timestamp adjusted. + +2008-01-30 Paul Eggert + + * doc/bison.texinfo: Update Back-Cover text to reflect new GNU wording. + +2008-01-09 Paul Eggert + + * data/yacc.c (yyparse): Correct the comment when locations aren't used. + Problem reported by Claudio Saavedra in + . + +2008-01-05 Wojciech Polak + + * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Precede an XHTML + document's title with the input grammar file name. + +2007-12-22 Joel E. Denny + + Automate regression testing of the XML/XSLT implementation. Discussed + starting at + . + * configure.ac (XSLTPROC): New substitution. + * Makefile.am (maintainer-xml-check): New phony target invoking... + * tests/Makefile.am (maintainer-xml-check): ... this new phony target + invoking make maintainer-check with BISON_TEST_XML=1. + * tests/atlocal.in (XSLTPROC): New. + * tests/local.at (AT_BISON_CHECK): New macro to (1) instruct Valgrind + not to report reachable memory when Bison is expected to have a + non-zero exit status and (2) to compare XML/XSLT output with --graph + and --report=all output for every working grammar when + BISON_TEST_XML=1. + (AT_BISON_CHECK_NO_XML): Likewise, but skip XML checks. + (AT_BISON_CHECK_XML): New. + (AT_QUELL_VALGRIND): New. + * tests/testsuite.at (ORIGINAL_AT_CHECK): Remove this and... + (AT_CHECK): ... don't redefine this since this was the old way to + quell Valgrind. + * tests/actions.at: Rewrite all AT_CHECK invocations for bison as + AT_BISON_CHECK invocations. + * tests/c++.at: Likewise. + * tests/calc.at: Likewise. + * tests/conflicts.at: Likewise. + * tests/cxx-type.at: Likewise. + * tests/existing.at: Likewise. + * tests/glr-regression.at: Likewise. + * tests/headers.at: Likewise. + * tests/input.at: Likewise. + * tests/java.at: Likewise. + * tests/output.at: Likewise. + * tests/push.at: Likewise. + * tests/reduce.at: Likewise. + * tests/regression.at: Likewise. + * tests/sets.at: Likewise. + * tests/skeletons.at: Likewise. + * tests/synclines.at: Likewise. + * tests/torture.at: Likewise. + (Big triangle): Use AT_BISON_CHECK_NO_XML instead since this grammar + tends to hang xsltproc. + (Big horizontal): Likewise. + +2007-12-08 Joel E. Denny + + In XML output, remove redundant class attribute on symbol element. + * data/xslt/bison.xsl (xsl:key name="bison:symbolByName"): New. + * data/xslt/xml2xhtml.xsl (xsl:template match="symbol"): Use it to + look up a symbol to determine whether it's a nonterminal or terminal. + * src/gram.c (rule_rhs_print_xml): Remove class attribute. + * src/state.c (state_rule_lookahead_tokens_print_xml): Likewise. + + Add prec/assoc information to XML output. + * src/gram.c (grammar_rules_print_xml): For each rule that has a + %prec, add a percent_prec attribute. + * src/print-xml.c (print_grammar): For each terminal that has a + precedence or associativity, add a prec or assoc attribute. + (xml_indent): New. + (xml_puts): Use xml_indent. + (xml_printf): Use xml_indent. + * src/print-xml.h (xml_indent): Prototype. + + * tests/existing.at (GNU pic Grammar): Fix a rule miscopied from + . + +2007-12-08 Joel E. Denny + + * data/xslt/bison.xsl (bison:ruleNumber): Rename to... + (bison:ruleByNumber): ... this for clarity. + * data/xslt/xml2dot.xsl (xsl:template match="item"): Update. + * data/xslt/xml2text.xsl (xsl:template match="item"): Update. + (xsl:template match="reduction"): Update. + (xsl:template match="item"): Update. + (xsl:template match="reduction"): Update. + + In the XML output, don't print the list of rules where symbols appear. + Compute it in XSLT instead. Discussed at + . + * data/xslt/bison.xsl (bison:ruleByLhs): New. + (bison:ruleByRhs): New. + * data/xslt/xml2text.xsl (xsl:template match="terminal"): Use + bison:ruleByRhs. + (xsl:template match="terminal/rule"): Remove. + (xsl:template match="nonterminal"): Use bison:ruleByLhs and + bison:ruleByRhs. + (xsl:template match="nonterminal/left/rule|nonterminal/right/rule"): + Remove. + * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Use + bison:ruleByRhs and mode="number-link" for rule template. + (xsl:template match="terminal/rule"): Remove. + (xsl:template match="nonterminal"): Use bison:ruleByLhs and + bison:ruleByRhs and mode="number-link" for rule template. + (xsl:template match="nonterminal/left/rule|nonterminal/right/rule"): + Rewrite as... + (xsl:template match="rule" mode="number-link"): ... this. + * src/print-xml.c (print_grammar): Don't print the list of rules. + +2007-12-01 Joel E. Denny + + Don't let --report affect XML output; always print all information. + Discussed at + . + * src/conflicts.c (log_resolution): Implement. + * src/print-xml.c (print_core): Implement. + (print_state): Implement. + (print_xml): Implement. + + * NEWS (2.3a+): Fix quotes. + * src/parse-gram.y (prologue_declaration): For consistency with -v, + don't let %verbose clear the list specified by --report. + +2007-11-26 Akim Demaille + + * data/Makefile.am (dist_pkgdata_DATA): Ship and install bison.xsl. + +2007-11-24 Joel E. Denny + + In the XML output, list useless and unused symbols and rules with the + useful ones and add a "usefulness" attribute. Discussed starting at + . + * src/gram.c (grammar_rules_partial_print_xml): Remove. + (grammar_rules_print_xml): Print all rules instead of just those + useful in the grammar, and add a "usefulness" attribute. + * src/gram.h (grammar_rules_partial_print_xml): Remove prototype. + * src/print-xml.c (print_rules_useless_in_parser): Remove. + (print_grammar): Print all nonterminals instead of just useful ones, + and add a "usefulness" attribute to nonterminals and terminals. + (print_xml): Don't print a separate "reductions" or + "rules-useless-in-parser" element. + * src/reduce.c (reduce_output): Use reduce_token_unused_in_grammar. + (reduce_xml): Remove. + (reduce_token_unused_in_grammar): New. + (reduce_nonterminal_useless_in_grammar): New. + * src/reduce.h (reduce_xml): Remove prototype. + (reduce_token_unused_in_grammar): Add prototype. + (reduce_nonterminal_useless_in_grammar): Add prototype. + * data/xslt/xml2text.xsl: Update for XML changes. + * data/xslt/xml2xhtml.xsl: Update for XML changes. + * tests/reduce.at (Useless Terminals): Update output. + (Useless Rules): Update output. + (Reduced Automaton): Update output. + + Say "Terminals unused in grammar" instead of "Unused terminals". + * NEWS (2.3a+): Update. + * doc/bison.texinfo (Understanding): Update example output. + * src/reduce.c (reduce_output): Implement. + * data/xslt/xml2text.xsl: Implement. + * data/xslt/xml2xhtml.xsl: Implement. + 2007-11-18 Joel E. Denny Accept --report-file=FILE to override the default `.output' filename. @@ -146,7 +438,7 @@ glr.cc has already defined b4_pure_flag. * data/push.c: Define b4_pure_if based on `%define api.pure'. Remove YYPUSH and YYPULL since they're back in b4_identification again. - * data/yacc.c Define b4_pure_if based on `%define api.pure'. + * data/yacc.c: Define b4_pure_if based on `%define api.pure'. * doc/bison.texinfo (Pure Decl): Update. (Push Decl): Update. (Decl Summary): Add api.pure to %define entry. @@ -216,7 +508,7 @@ * data/xslt/xml2dot.xsl (xsl:template match="automaton/state"): After 2007-10-11 change, the child elements here are items not rules. - (