835cbc3d42
Import of GCC head 2002-10-11
Paul Eggert
2002-10-13 04:40:03 +00:00
fa6aa7b3dd
* data/yacc.c: Reformat m4 a little for readability. * src/lalr.c (build_relations): Correct comment.
Joel E. Denny
2008-05-13 05:35:33 +00:00
013cb7f4e1
* djgpp/config.sed: Fixes required to run configure scripts generated by autoconf 2.62.
Juan Manuel Guerrero
2008-05-12 00:58:38 +00:00
d30b312dfe
DJGPP specific issue added.
Juan Manuel Guerrero
2008-05-12 00:58:17 +00:00
64f10cfe7e
* HACKING: Update copyright year.
Joel E. Denny
2008-05-07 23:48:30 +00:00
8f7e2e1ff2
* THANKS: Add Eric Blake.
Joel E. Denny
2008-05-07 05:02:12 +00:00
f55efa38ef
Revert prior patch, by working around autoconf regression. * tests/output.at (m4_expand): Add workaround for autoconf 2.62. ("Output file name: ("): Uncomment test. ("Output file name: )"): Likewise. Based on an idea from Noah Misch.
Joel E. Denny
2008-05-07 02:53:15 +00:00
2c5fa059a3
GNUmakefile: Update copyright year.
Joel E. Denny
2008-04-22 08:50:17 +00:00
f3d88f7c7a
tests/output.at: Update copyright date.
Joel E. Denny
2008-04-22 03:40:19 +00:00
096c9f9d64
Work-around an Autoconf 2.62 AT_SETUP bug that was not present in 2.61. Reported by Juan Manuel Guerrero at <http://lists.gnu.org/archive/html/bug-bison/2008-04/msg00011.html>. * tests/output.at ("Output file name: ("): Comment out test case for now. ("Output file name: )"): Likewise.
Joel E. Denny
2008-04-22 03:37:31 +00:00
0f664b89d4
* GNUmakefile: Update git-version-gen invocation so make dist succeeds.
Joel E. Denny
2008-04-21 18:16:32 +00:00
1cfe6375ce
Update to the current gnulib CVS repository, and fix trigraph handling in Bison. * bootstrap: Update gnulib CVS repository URL. (symlink_to_dir): Encapsulate the code that guarantees the destination directory exists into... (check_dst_dir): ... this new function, and... (cp_mark_as_generated): ... reuse it here so that bootstrap doesn't fail when copying files into lib/uniwidth/. * src/output.c (prepare_symbols): When writing yytname muscles, where symbol names will be encoded in C-string literals, tell quotearg to escape trigraphs. This used to be the default in gnulib. * tests/regression.at (Token definitions): Because of the change in gnulib's quotearg behavior, string_as_id in parse-gram.y no longer escapes trigraphs in symbol names. Thus, yytname no longer has trigraphs unnecessarily doubly escaped. Update test case output. Extend test case to be sure Bison's own error messages will no longer have trigraphs in symbol names unnecessarily escaped once.
Joel E. Denny
2008-04-21 06:54:39 +00:00
8452fdd914
Update copyright year, and fix whitespace.
Joel E. Denny
2008-04-21 01:03:21 +00:00
74c52fc840
Fix make dist infinite loop reported by Juan Manuel Guerrero at <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00009.html>. * .cvsignore: Add .version. * .version.in: New. * bootstrap.conf (gnulib_modules): Add git-version-gen. * configure.ac (AC_CONFIG_FILES): Add .version. * build-aux/.cvsignore: Add git-version-gen.
Joel E. Denny
2008-04-21 00:35:54 +00:00
8e55b3aac2
* NEWS (2.3a+): Mention that -g now takes an argument. * doc/bison.texinfo (Bison Options): Reword -W entry a little for consistency. Update the -g and -x entries now that they take arguments. Use brackets to indicate optional arguments. * src/getargs.c (usage): Explain the relationship between arguments of long and short options more completely. Document --defines and -d separately since the former takes an argument but, for POSIX Yacc, the latter does not. (short_options): Let -W take an optional argument like --warnings. (getargs): Sort cases.
Joel E. Denny
2008-03-08 20:49:57 +00:00
59c5ac7244
* doc/bison.texinfo: Fix a few typos.
Akim Demaille
2008-02-28 16:28:07 +00:00
118d497883
* doc/bison.texinfo (Bison Options): Document -W. Based on Joel E. Denny's NEWS entry, and Automake's documentation.
Akim Demaille
2008-02-28 16:18:37 +00:00
7020f1e9e2
* 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.
Akim Demaille
2008-02-28 16:01:16 +00:00
59da312bc7
* 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.
Joel E. Denny
2008-02-23 04:26:14 +00:00
333e670c85
Fix impure push parser compile error reported by Bob Rossi at <http://lists.gnu.org/archive/html/help-bison/2008-02/msg00023.html>. * 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.
Joel E. Denny
2008-02-20 18:23:21 +00:00
798096e1de
* runtime-po/POTFILES.in (push.c): Remove.
Joel E. Denny
2008-02-20 00:50:00 +00:00
e021811add
* src/parse-gram.c, src/parse-gram.h: Regenerate.
Joel E. Denny
2008-02-20 00:03:43 +00:00
9ca7f077a0
* 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.
Joel E. Denny
2008-02-17 19:55:48 +00:00
42ee26bb96
* 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.
Joel E. Denny
2008-02-17 19:11:21 +00:00
b1cc23c4e3
Fix documentation problems reported by Tim Josling at <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00013.html>. * 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.
Joel E. Denny
2008-02-17 02:47:53 +00:00
ab7f29f8f9
Accept a token number in a %left, %right, or %nonassoc for POSIX conformance. Reported by Tim Josling at <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00010.html>. * 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.
Joel E. Denny
2008-02-17 00:18:36 +00:00
80d2c3adcc
* THANKS: Update my email address.
Juan Manuel Guerrero
2008-02-06 10:24:07 +00:00
f8cec99b70
* README.in: List of required packages updated. Copyright timestamp adjusted.
Juan Manuel Guerrero
2008-02-06 10:11:52 +00:00
455ff80eac
* Makefile.maint: Copyright timestamp adjusted.
Juan Manuel Guerrero
2008-02-06 10:11:43 +00:00
c2a9899730
* fnchange.lst: Add filenames that are not 8.3 clean to the filename translation list.
Juan Manuel Guerrero
2008-02-06 10:00:58 +00:00
e9ab707766
* testsuite.sed: Copyright timestamp adjusted.
Juan Manuel Guerrero
2008-02-06 09:59:26 +00:00
691972493b
* subpipe.h: Copyright timestamp adjusted.
Juan Manuel Guerrero
2008-02-06 09:59:13 +00:00
988a9d670d
* 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.
Juan Manuel Guerrero
2008-02-06 09:58:56 +00:00
a6580aa38b
* djunpack.bat: Copyright timestamp adjusted.
Juan Manuel Guerrero
2008-02-06 09:58:41 +00:00
21449d7337
* djgpp/config_h.sed: Copyright timestamp adjusted.
Juan Manuel Guerrero
2008-02-06 09:58:32 +00:00
5c70666cf7
* config.site: Copyright timestamp adjusted.
Juan Manuel Guerrero
2008-02-06 09:58:23 +00:00
38b5fb0c18
* config.sed: Add filenames that are not 8.3 clean and that must be changed. Copyright timestamp adjusted.
Juan Manuel Guerrero
2008-02-06 09:58:13 +00:00
f3a4495d67
* config.bat: Add filenames that are not 8.3 clean and that must be changed. Copyright timestamp adjusted.
Juan Manuel Guerrero
2008-02-06 09:58:03 +00:00
a924ef368d
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.
Juan Manuel Guerrero
2008-02-06 09:57:35 +00:00
389c8cfd1c
* doc/bison.texinfo: Update Back-Cover text to reflect new GNU wording.
Paul Eggert
2008-01-31 00:53:21 +00:00
29b6015c38
* data/yacc.c: Update copyright for recent commit.
Joel E. Denny
2008-01-19 21:19:24 +00:00
5d1cfef46d
* data/yacc.c (yyparse): Correct the comment when locations aren't used.
Paul Eggert
2008-01-10 00:58:14 +00:00
e2dcf9964a
2008-01-05 Wojciech Polak <polak@gnu.org>
Wojciech Polak
2008-01-05 22:29:56 +00:00
3a74df7a5b
data/xslt/xml2xhtml.xsl (xsl:template match="/"): Precede an XHTML document's title with the input grammar file name.
Wojciech Polak
2008-01-05 22:28:44 +00:00
327cd1f209
* src/parse-gram.c: Make timestamp later than parse-gram.y.
Joel E. Denny
2008-01-05 20:38:06 +00:00
247b8c214c
* tests/local.at (AT_BISON_CHECK_XML): Fix quoting in previous patch.
Joel E. Denny
2007-12-22 19:43:27 +00:00
da730230ce
Automate regression testing of the XML/XSLT implementation. Discussed starting at <http://lists.gnu.org/archive/html/bison-patches/2007-11/msg00021.html>. * 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.
Joel E. Denny
2007-12-22 18:35:03 +00:00
408476bca9
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.
Joel E. Denny
2007-12-15 02:08:02 +00:00
d4a26c4832
* 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.
Joel E. Denny
2007-12-08 16:05:38 +00:00
ef1b427325
Don't let --report affect XML output; always print all information. Discussed at <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00020.html>. * src/conflicts.c (log_resolution): Implement. * src/print-xml.c (print_core): Implement. (print_state): Implement. (print_xml): Implement.
Joel E. Denny
2007-12-01 19:44:36 +00:00
d80fb37a26
In the XML output, list useless and unused symbols and rules with the useful ones and add a "usefulness" attribute. Discussed starting at <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00017.html>. * 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.
Joel E. Denny
2007-11-24 19:41:25 +00:00
1bb2bd75f0
Accept --report-file=FILE to override the default `.output' filename. * NEWS (2.3a+): Mention. * doc/bison.texinfo (Bison Options): Add an entry. * src/files.c (compute_output_file_names): Don't override spec_verbose_file if already set. * src/getargs.c (usage): Document --report-file. (REPORT_FILE_OPTION): New anonymous enum member. (long_options): Add entry for it. (getargs): Add case for it setting spec_verbose_file.
Joel E. Denny
2007-11-18 06:40:41 +00:00
a005a9c4dc
* doc/yacc.1.in: New. * configure.ac, doc/Makefile.am: Adjust. * configure.ac (PACKAGE_COPYRIGHT_YEAR): New substitution, and new config.h symbol. Use AC_SUBST for assignments too. * src/getargs.c (version): Use PACKAGE_COPYRIGHT_YEAR.
Akim Demaille
2007-11-14 13:18:44 +00:00
cff03fb2b9
* src/gram.c: Remove comments that duplicate comments in gram.h.
Joel E. Denny
2007-11-10 03:42:37 +00:00
66f0441da3
* data/bison.m4 (b4_cat): Put a newline after the end delimiter of the here document and before the EOF so that BSD's implementation of Bourne shell doesn't parse the delimiter as part of the here document. * doc/.cvsignore: Add cross-options.texi. * src/getargs.c (usage): Add a blank line after the warning categories.
Joel E. Denny
2007-11-10 01:36:54 +00:00
e8b1fb9b99
Remove Id: from bison.1. * doc/Makefile.am (remove_time_stamp): Include the sed invocation. (perl -0777 -pi -e 's/.PPnId): New. (.x.1): Use it to ignore the version control revision.
Akim Demaille
2007-11-05 16:10:09 +00:00
2f7a96b58f
* build-aux/Makefile.am: Ship cross-options.pl. * doc/Makefile.am: Always refer to cross-options.texi with $(srcdir). (MAINTAINERCLEANFILES): Add it.
Akim Demaille
2007-11-05 06:38:00 +00:00
f4101aa612
Generate the long/short option cross-table. * build-aux/cross-options.pl: New. * doc/Makefile.am (cross-options.texi): New. * doc/bison.texinfo: Use it.
Akim Demaille
2007-11-04 21:15:11 +00:00
727a14014b
Generate bison.1 using help2man. * doc/common.x, doc/bison.x: New. * doc/Makefile.am (bison.1, .x.1): New. The code is taken from autoconf-2.61/man/Makefile.am. * configure.ac: Look for help2man.
Akim Demaille
2007-11-04 21:13:21 +00:00
6aeb9c579b
Complete --help. * src/getargs.c (usage): Document -W, make it clear that -d, -g and -x have optional arguments.
Akim Demaille
2007-11-04 20:45:32 +00:00
d7be408576
Find sha1sum when named gsha1sum. * bootstrap (find_tool): New. ($SHA1SUM): New.
Akim Demaille
2007-11-04 20:40:50 +00:00
d9df47b656
Deprecate %pure-parser and add %define api.pure'. Discussed starting at <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00006.html>. * NEWS (2.3a+): Mention. * data/bison.m4 (b4_pure_if): Don't define it here. * data/c.m4 (b4_identification): Depend on individual skeletons to define b4_pure_flag, b4_push_flag, or b4_pull_flag if they use the values of the %define variables api.pure or api.push_pull. Define YYPURE, YYPUSH, and YYPULL accordingly. * data/glr.c: Define b4_pure_if based on %define api.pure' unless 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'. * doc/bison.texinfo (Pure Decl): Update. (Push Decl): Update. (Decl Summary): Add api.pure to %define entry. In %pure-parser entry, say it's deprecated and reference %define. (Pure Calling): Update. (Error Reporting): Update. (C++ Scanner Interface): Update. (How Can I Reset the Parser): Update. (Table of Symbols): In %pure-parser entry, say it's deprecated and reference %define. * src/getargs.c (pure_parser): Remove global variable. * src/getargs.h (pure_parser): Remove extern. * src/output.c (prepare): Don't define pure_flag muscle. * src/parse-gram.y (prologue_declaration): Implement %pure-parser as a wrapper around `%define api.pure'. * tests/calc.at (Simple LALR Calculator): Update. (Simple GLR Calculator): Update. * tests/cxx-type.at (GLR: Resolve ambiguity, pure, no locations): Update. (GLR: Resolve ambiguity, pure, locations): Update. (GLR: Merge conflicting parses, pure, no locations): Update. (GLR: Merge conflicting parses, pure, locations): Update. * tests/glr-regression.at (Uninitialized location when reporting ambiguity): Update * tests/input.at (Unused %define api.pure): New test case. * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Update definition for AT_PURE_IF and AT_PURE_AND_LOC_IF. * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update.
Joel E. Denny
2007-10-29 17:36:40 +00:00
c373bf8bb8
%define push_pull -> %define api.push_pull. Discussed starting at <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00005.html>. * data/push.c: Expect the new name. * data/yacc.c: Likewise. * doc/bison.texinfo (Push Decl): Update. (Decl Summary): Update %define entry. (Push Parser Function): Update. (Pull Parser Function): Update. (Parser Create Function): Update. (Parser Delete Function): Update. * tests/calc.at (Simple LALR Calculator): Update. * tests/input.at (%define enum variables): Update. * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update. (Push Parsing: Multiple impure instances): Update. (Push Parsing: Unsupported Skeletons): Update. * tests/torture.at (Exploding the Stack Size with Alloca): Update. (Exploding the Stack Size with Malloc): Update.
Joel E. Denny
2007-10-28 20:11:35 +00:00
32f19b6b47
For the XML output's terminal element, rename @number to @token-number, and add @symbol-number. In the nonterminal element, rename @number to @symbol-number. Discussed starting at <http://lists.gnu.org/archive/html/bison-patches/2007-10/msg00040.html>. * data/xslt/xml2text.xsl (xsl:template match="terminal"): Update for renames. (xsl:template match="nonterminal"): Likewise. * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Likewise. (xsl:template match="nonterminal"): Likewise. * src/print-xml.c (print_grammar): Implement.
Joel E. Denny
2007-10-28 00:24:22 +00:00
255a6b901a
* data/xslt/xml2dot.xsl (xsl:template match="automaton/state"): After 2007-10-11 change, the child elements here are items not rules. (<xsl:template match="item"): New. (xsl:template match="rule"): Update for new reduced itemset. (xsl:template match="point"): Remove. (xsl:template match="empty"): For consistency with --graph, don't output "/* empty */". * data/xslt/xml2text.xsl (xsl:template match="terminal"): When invoking line-wrap, don't pass a negative value as first-line-length since this won't work with the following changes. (xsl:template name="line-wrap"): Simplify slightly. (xsl:template name="ws-search"): Eliminate recursion. * src/print_graph.c (print_core): Don't print a reduction's lookahead set next to an item whose dot is not at the end of the RHS even if it happens to be associated with the same rule.
Joel E. Denny
2007-10-21 15:34:08 +00:00
31984206a7
Add %define lr.keep_unreachable_states. * NEWS (2.3a+): Mention it in the entry for unreachable state removal. * doc/bison.texinfo (Decl Summary): Mention it in the %define entry. * src/main.c (main): Implement it. * tests/conflicts.at (Unreachable States After Conflict Resolution): Extend to test it, and fix a typo.
Joel E. Denny
2007-10-19 06:14:44 +00:00
88c7874756
* NEWS: Add entry for recent .output file lookahead set fix. * doc/bison.texinfo (Understanding): Remove a bogus lookahead set in the example .output text. * tests/regression.at (Extra lookahead sets in report): Improve wording of comments.
Joel E. Denny
2007-10-19 02:46:21 +00:00
b7a7016204
2007-10-17 Wojciech Polak <polak@gnu.org>
Wojciech Polak
2007-10-17 18:13:53 +00:00
36c48187a6
(xsl:template match="terminal"): Use new attribute names. (xsl:template match="nonterminal"): Likewise.
Wojciech Polak
2007-10-17 18:12:20 +00:00
cd4a9a598f
src/print-xml.c (print_grammar): Renamed <terminal> and <nonterminal> attributes: "type" to "number" and "symbol" to "name".
Wojciech Polak
2007-10-17 18:11:03 +00:00
a0de5091fc
* doc/bison.texinfo (Bison Options): Add entry for --print-datadir. (Option Cross Key): Likewise.
Joel E. Denny
2007-10-17 04:35:35 +00:00
4c20d18dc1
* src/print-xml.c (print_core): Remove item set redundancy. * data/xslt/bison.xsl (bison:ruleNumber): New key. Improve processing time. Suggested by Joel E. Denny. * data/xslt/xml2dot.xsl (xsl:template name="escape"): Write xsl:param "required" attribute as comment. * data/xslt/xml2text.xsl (xsl:template match="item"): New. (xsl:template match="rule"): Support new reduced itemset. (xsl:template match="point"): Remove. * data/xslt/xml2xhtml.xsl: Likewise.
Wojciech Polak
2007-10-11 16:40:08 +00:00
95134bc179
(xsl:template match="item"): New. (xsl:template match="rule"): Support new reduced itemset. (xsl:template match="point"): Remove.
Wojciech Polak
2007-10-11 16:38:42 +00:00
85a6eb13f8
(xsl:template name="escape"): Write xsl:param "required" attribute as comment.
Wojciech Polak
2007-10-11 16:37:59 +00:00
fc8b70bf14
(bison:ruleNumber): New key. Improve processing time. Suggested by Joel E. Denny.
Wojciech Polak
2007-10-11 16:37:38 +00:00
25f6da67d3
(print_core): Remove item set redundancy.
Wojciech Polak
2007-10-11 16:36:49 +00:00
f506ad1cbf
* src/getargs.c (version): Update copyright year.
Joel E. Denny
2007-10-09 08:57:14 +00:00
21f1b063d8
Make xml2dot.xsl and --graph produce the same output. * data/xslt/xml2dot.xsl (xsl:template match="rule"): Use a ' instead of a \n'. That is, don't add escapes yet or they'll be doubly escaped later. (xsl:template name="output-node"): Use the new escape template instead of the string-replace template directly. (xsl:template name="output-edge"): Likewise. (xsl:template name="escape"): New, escapes backslashes and newlines in addition to quotation marks. * src/graphviz.c (start_graph, output_node, output_edge): Add whitespace to output for legibility.
Joel E. Denny
2007-10-09 08:48:43 +00:00
793fbca50a
Improve C++ namespace support. Discussed starting at <http://lists.gnu.org/archive/html/help-bison/2007-09/msg00016.html>. * data/c++.m4: (b4_namespace_ref, b4_namespace_open, b4_namespace_close): New macros that interpret the %define variable "namespace" so its value can contain "::" to indicate nested namespaces. * data/glr.cc (b4_namespace): Don't define, and replace all uses with the above macros. * data/lalr1.cc (b4_namespace): Likewise. * data/location.cc (b4_namespace): Likewise. * doc/bison.texinfo (Decl Summary): Move %define push_pull' entry inside a new table in the general %define entry. Document %define namespace' there as well. Point the %name-prefix entry to it since it explains it more completely in the case of C++. (C++ Bison Interface): Mention %define namespace' instead of %name-prefix. (Table of Symbols): Remove the %define push_pull' entry. The %define entry suffices. * tests/c++.at (Relative namespace references): New test case. (Absolute namespace references): New test case. (Syntactically invalid namespace references): New test case. * tests/input.at (C++ namespace reference errors): New test case.
Joel E. Denny
2007-10-08 10:09:07 +00:00
35b8730d01
Add syncline support and location accessor to internal %define interfaces. * data/bison.m4 (b4_percent_define_get_loc): New. (b4_percent_define_get_syncline): New. (b4_percent_define_flag_if): Use b4_percent_define_get_loc. (b4_percent_define_default): Record defining location as line 1 rather than 0 for the sake of synchronizing #line's, and define b4_percent_define_syncline(VARIABLE). (b4_percent_define_check_values): Use b4_percent_define_get_loc. * src/muscle_tab.c (muscle_syncline_grow): New. (muscle_code_grow): Use muscle_syncline_grow. (muscle_percent_define_insert): Use muscle_percent_define_get_loc, and define b4_percent_define_syncline(VARIABLE). (muscle_percent_define_get_loc): New. (muscle_percent_define_get_syncline): New. (muscle_percent_define_flag_if): Use muscle_percent_define_get_loc, and remove some unused variables. (muscle_percent_define_default): Record defining location as line 1 rather than 0 for the sake of synchronizing #line's, and define b4_percent_define_syncline(VARIABLE). (muscle_percent_define_check_values): Use muscle_percent_define_get_loc. * src/muscle_tab.h (muscle_percent_define_get_loc): Prototype. (muscle_percent_define_get_syncline): Prototype. * tests/skeletons.at (%define Boolean variables: invalid skeleton defaults): Update output for location change. (Complaining during macro argument expansion): Extend to test b4_percent_define_get_loc and b4_percent_define_get_syncline errors.
Joel E. Denny
2007-10-08 04:00:13 +00:00
7dc4a6940c
Fix some error-reporting macro bugs. * data/bison.m4 (b4_cat): New. (b4_error, b4_error_at): Use b4_cat to send error directives directly to stdout so they don't become arguments to other macros. Update comments and add examples. (b4_warn, b4_warn_at, b4_complain, b4_complain_at): Update comments and add examples. (b4_fatal, b4_fatal_at): Likewise, and invoke m4_exit(1) immediately after printing the error directive so that M4 doesn't report subsequent problems that are induced by this problem. * src/scan-skel.l: Recognize @` digraph outside of directive arguments instead of just in them. Recognize @\n in both places. Both expand to the empty string. Needed by b4_cat. * tests/skeletons.at (Complaining during macro argument expansion): New test case. (Fatal errors make M4 exit immediately): New test case.
Joel E. Denny
2007-10-08 01:53:08 +00:00
d4bd229569
Implement --print-datadir. * src/getargs.c (usage): Mention. (PRINT_DATADIR_OPTION): New anonymous enum member. (long_options): Add entry for it. (getargs): Add case for it calling compute_pkgdatadir. * src/output.c (output_skeleton): Encapsulate data directory computation from here... (prepare): ... and from here... (compute_pkgdatadir): ... into this new function. * src/output.h (compute_pkgdatadir): Prototype.
Joel E. Denny
2007-10-05 02:54:33 +00:00
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