summaryrefslogtreecommitdiff
path: root/etc
Commit message (Collapse)AuthorAgeFilesLines
...
| * Convert underscores to dashes in some %define variable names.Joel E. Denny2009-04-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | tests: fix regressions.Akim Demaille2012-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | Exit status 63 is documented for version-mismatch. * bootstrap.conf (gnulib_modules): Remove sysexits. * src/system.h (EX_MISMATCH): Define. * src/parse-gram.y (version_check): Use it instead of EX_CONFIG. Missing includes. * tests/calc.at, tests/named-refs.at: Include assert.h.
* | maint: avoid "magic number exit".Akim Demaille2012-02-181-2/+1
| | | | | | | | | | | | | | | | | | * cfg.mk (local-checks-to-skip): No longer skip it. * bootstrap.conf (gnulib_modules): Add sysexits. * doc/bison.texinfo, etc/bench.pl.in, src/parse-gram.y, * src/system.h, tests/calc.at, tests/named-refs.at: Use assert where appropriate instead of "if (...) exit". Use symbolic exit status elsewhere.
* | maint: remove obsolete file.Akim Demaille2012-02-141-16/+0
| | | | | | | | | | * etc/make-ChangeLogs: Remove (used for rcs to cvs migration!). Reported by Tys Lefering.
* | build: generalize etc/prefix-gnulib-mkJim Meyering2012-01-231-4/+72
| | | | | | | | | | | | | | | | | | This script hard-coded "libbison" and lib/gnulib.mk. Adjust the script to require a --lib-name=$gnulib_name option and a FILE argument like lib/$gnulib_mk. Also add support for --help and --version. * etc/prefix-gnulib-mk: Generalize. * bootstrap.conf (bootstrap_post_import_hook): Update its invocation.
* | build: manually update bootstrap from gnulib, and adaptJim Meyering2012-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating to the latest bootstrap from gnulib involves more of a change than usual, and updating to the latest gnulib would involve its own set of challenges with the upcoming quoting changes, so we update bootstrap manually and separately. * bootstrap: Update from gnulib. * Makefile.am: Initialize more variables to empty, so that gnulib.mk can append to them with "+=". * bootstrap.conf (gnulib_mk_hook): Remove. No longer honored. (bootstrap_post_import_hook): Instead, run the same command, etc/prefix-gnulib-mk lib/$gnulib_mk, via slightly different API. Temporarily disable "bootstrap_sync=true". * etc/prefix-gnulib-mk: Don't prepend "lib/" to tokens like -I$(... or "\".
* | maint: run "make update-copyright".Jim Meyering2012-01-133-3/+3
| |
* | global: remove unnecessary horizontal tabs.Joel E. Denny2011-07-242-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change was made by applying emacs' untabify function to nearly all files in Bison's repository. Required tabs in make files, ChangeLog, regexps, and test code were manually skipped. Other notable exceptions and changes are listed below. * bootstrap: Skip because we sync this with gnulib. * data/m4sugar/foreach.m4 * data/m4sugar/m4sugar.m4: Skip because we sync these with Autoconf. * djgpp: Skip because I don't know how to test djgpp properly, and this code appears to be unmaintained anyway. * README-hacking (Hacking): Specify that tabs should be avoided where not required.
* | maint: run "make update-copyright".Joel E. Denny2011-01-023-3/+3
| |
* | Adjust to recent changes to gnulib bootstrap.Paul Eggert2010-10-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * .cvsignore, build-aux/.cvsignore, doc/.cvsignore, etc/.cvsignore: * examples/calc++/.cvsignore, lib/.cvsignore, m4/.cvsignore: * po/.cvsignore, runtime-po/.cvsignore, src/.cvsignore: * tests/.cvsignore: Remove; I don't use CVS to maintain Bison anymore and don't know of anybody else who does. If someone needs these files, they can resurrect them. * .gitignore, build-aux/.gitignore, doc/.gitignore, lib/.gitignore: * m4/.gitignore, po/.gitignore, runtime-po/.gitignore: Omit leading '/', since bootstrap omits it. Adjust file names to match current contents better. * bootstrap: Sync from gnulib: this contains the new gnulib_mk_hook installed just for us. * bootstrap.conf (excluded_files): Don't exclude codeset.m4, glibc21.m4, inttypes_h.m4, size_max.m4, xsize.m4, as they are now needed somehow. Don't have time to look into why. (gnulib_modules): Change malloc to malloc-gnu. Do we really assume the GNU malloc behavior, where malloc (0) != NULL unless we're out of storage? If not, we can omit malloc-gnu; but for now I left it in to be safe. (vc_ignore): Remove. (gnulib_mk_hook): New function. * README-hacking: Renamed from HACKING, since gnulib bootstrap now uses that convention.
* | Do not use date ranges in copyright notices.Paul Eggert2010-06-173-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/local.mk, data/location.cc: * data/stack.hh, data/variant.hh, 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/local.mk, djgpp/subpipe.c, djgpp/subpipe.h: * djgpp/testsuite.sed, doc/bison.texinfo, doc/local.mk: * doc/refcard.tex, etc/README, etc/bench.pl.in, etc/local.mk: * examples/calc++/Makefile.am, examples/extexi: * examples/local.mk, 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/local.mk, 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/local.mk: * 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/local.mk, 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: 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.
* | portability: fix spawning on at least FreeBSD 8 and FreeBSD 9.Joel E. Denny2010-03-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Johan van Selst at <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00014.html>. * NEWS (2.4.3): New. * THANKS (Johan van Selst): Add. * etc/prefix-gnulib-mk (prefix): Adjust regex for makefile targets so that gnulib's new c++defs.h is matched. * gnulib: Update to latest. (cherry picked from commit 311b2e56eaad952fc7908336e3aeb019dd8bf1ee) Conflicts: NEWS
* | maint: run "make update-copyright"Joel E. Denny2010-01-043-3/+3
| |
* | gnulib: update for fix of fprintf-posix, which we'll use soon.Joel E. Denny2009-12-151-1/+1
| | | | | | | | | | | | | | * etc/prefix-gnulib-mk (prefix): Adjust regex for make file targets so that gnulib's new arg-nonnull.h and link-warning.h are matched. * gnulib: Update.
* | benchmarks: use %debug consistently among grammars.Joel E. Denny2009-10-041-1/+6
| | | | | | | | | | | | | | * etc/bench.pl.in (generate_grammar_triangular): Do not activate %debug by default. It can affect the timings even if yydebug=0. (generate_grammar_calc): For consistency with other grammars, use YYDEBUG environment variable to set yydebug.
* | gnulib: improve prefixing.Akim Demaille2009-08-121-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (gl_PREFIXED_LIBOBJS): Don't rename it, rather, change the value of... (gl_LIBOBJS): this. Adjust more variables. * etc/prefix-gnulib-mk (prefix_assignment): Don't rename gl_LIBOBJS. (prefix): Also transform rules whose targets have slashes. Use $prefix liberally. Map @MKDIR_P@ to $(MKDIR_P). Prefix directories that are mkdir'd.
* | maint: run "make update-copyright"Joel E. Denny2009-08-062-2/+2
| |
* | Convert underscores to dashes in some %define variable names.Joel E. Denny2009-04-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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_push_parser): 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. (cherry picked from commit 812775a0391e122eff1983afea2da96c600c7307) Conflicts: data/c.m4 etc/bench.pl.in src/parse-gram.c src/parse-gram.h tests/conflicts.at
* | gnulib: update.Akim Demaille2009-03-271-1/+1
| | | | | | | | | | | | | | | | * gnulib: Update to latest. * src/local.mk (AM_CFLAGS): Move to... * Makefile.am: here. * etc/prefix-gnulib-mk (prefix_assignment): Also transform AM_CFLAGS.
* | Style changes.Akim Demaille2009-02-251-6/+5
| | | | | | | | | | * etc/bench.pl.in (generate_grammar_list): Consitently use location_type, not yy::location.
* | Convert lib/Makefile.am into lib/local.mk.Akim Demaille2008-11-261-0/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The real problem is rather gnulib.mk, which itself is extracted from a Makefile.am that gnulib expects to the "recursive". The tool prefix-gnulib-mk converts such a gnulib.mk to be non-recursive. Also, some AC_SUBST variables need to be adjusted. * etc/prefix-gnulib-mk: New. * bootstrap (slurp): Use it to convert further gnulib.mk. * lib/Makefile.am: Rename as... * lib/local.mk: this. Adjust to be prefixed. * Makefile.am, configure.ac: Adjust. * src/local.mk (AM_CPPFLAGS): Extend it, don't define it.
* | Get rid of lalr1-split.cc.Akim Demaille2008-11-261-25/+0
| | | | | | | | | | | | | | | | It was no longer maintainer. * data/lalr1-split.cc: Remove. * etc/bench.pl.in (bench_fusion_parser): Remove. Adjust.
* | Update ignores.Akim Demaille2008-11-162-4/+0
| | | | | | | | | | | | | | | | | | | | * data/.cvsignore, data/.gitignore, examples/.cvsignore, * examples/.gitignore: Remove. * build-aux/.cvsignore, build-aux/.gitignore, doc/.cvsignore, * doc/.gitignore, etc/.cvsignore, etc/.gitignore, src/.cvsignore, * src/.gitignore, tests/.cvsignore, tests/.gitignore: Remove MAkefile and Makefile.in.
* | Simplify code for variants bench marks.Akim Demaille2008-11-151-17/+14
| | | | | | | | | | | | * etc/bench.pl.in (&generate_grammar_list): Define and use location_type. Factor the common code in yylex.
* | Comment changes.Akim Demaille2008-11-151-12/+12
| | | | | | | | | | * data/local.mk, etc/local.mk, examples/local.mk: Use Automake comments for the license.
* | Remove etc/Makefile.am.Akim Demaille2008-11-151-2/+2
| | | | | | | | | | | | | | * etc/Makefile.am: Rename as... * etc/local.mk: this. Adjust. * Makefile.am, configure.ac: Adjust.
* | Instead of using make_symbol<TOK_FOO>, generate make_FOO for each token type.Akim Demaille2008-11-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using template buys us nothing, and makes it uselessly complex to construct a symbol. Besides, it could not be generalized to other languages, while make_FOO would work in C/Java etc. * data/lalr1.cc (b4_symbol_): New. (b4_symbol): Use it. (b4_symbol_constructor_declaration_) (b4_symbol_constructor_definition_): Instead of generating specializations of an overloaded template function, just generate several functions whose names are forged from the token names without the token.prefix. (b4_symbol_constructor_declarations): Generate them for all the symbols, not just by class of symbol type, now that instead of specializing a function template by the token, we generate a function named after the token. (b4_symbol_constructor_specialization_) (b4_symbol_constructor_specializations): Remove. * etc/bench.pl.in: Adjust to this new API.
* | Make it possible to return a symbol_type from yylex.Akim Demaille2008-11-111-31/+52
| | | | | | | | | | | | | | | | | | * data/lalr1.cc (b4_lex_symbol_if): New. (parse): When lex_symbol is defined, expected yylex to return the complete lookahead. * etc/bench.pl.in (generate_grammar_list): Extend to support this yylex interface. (bench_variant_parser): Exercise it.
* | Remove useless bench case.Akim Demaille2008-11-111-2/+0
| | | | | | | | | | * etc/bench.pl.in (bench_variant_parser): VARIANT_DESTROY is no longer used.
* | Improve display of directives.Akim Demaille2008-11-111-1/+1
| | | | | | | | * etc/bench.pl.in (parse_term): Don't add useless eol.
* | Use string_cast in the bench.Akim Demaille2008-11-111-11/+13
| | | | | | | | | | * etc/bench.pl.in (generate_grammar_list): Define and use string_cast.
* | Bench: syntactic sugar for %define/#define.Akim Demaille2008-11-111-25/+40
| | | | | | | | | | | | | | * etc/bench.pl.in (parse_dirs): Support %d and #d with arguments. (&bench_push_parser, bench_variant_parser): Use this feature. (&eat): New. Use it.
* | Less memory pressure on the "list" bench.Akim Demaille2008-11-111-7/+7
| | | | | | | | | | * etc/bench.pl.in (generate_grammar_list): Do not accumulate all the values, to limit memory pressure.
* | Shortcuts in bench directives.Akim Demaille2008-11-101-21/+59
| | | | | | | | | | | | | | * etc/bench.pl.in (parse_dirs): New. Use it. (bench_variant_parser, bench_fusion_parser): Use %s and %d. Create the benches in "benches/".
* | Adjust verbose message to using emacs.Akim Demaille2008-11-101-2/+3
| | | | | | | | | | | | | | * etc/bench.pl.in: Inform compilation-mode when we change the directory. (generate_grammar_list): Recognize %define "variant" in addition to %define variant.
* | Make benches in a sub dirs.Akim Demaille2008-11-091-31/+70
| | | | | | | | | | | | | | * etc/bench.pl.in ($dir): New. Use it. Check the use of constructors with an argument. (bench_variant_parser): Fix.
* | fix eof conditionAkim Demaille2008-11-091-3/+5
| |
* | Fix --help.Akim Demaille2008-11-091-1/+1
| |
* | Enhance bench.pl.Akim Demaille2008-11-091-102/+199
| | | | | | | | | | | | | | | | | | | | | | | | * etc/bench.pl.in (parse, parse_expr, parse_term, parse_fact) (@token, $grammar, $bench): New. (generate_grammar_variant): Rename as... (generate_grammar_list): this. (generate_grammar): Adjust. (bench_grammar): Rename as... (bench): this. Use it in the various bench-marking routines. (-b, -g): New options.
* | bench.pl -d, --directive.Akim Demaille2008-11-091-6/+54
| | | | | | | | | | | | | | | | | | * etc/bench.pl.in (@directive): New. (&bench_grammar): Use it. (&bench_list_grammar): New, to provide access to the "variant" grammar. Use it. (getopts): Support -d, --directive.
* | The single-stack C++ parser is now the standard one.Akim Demaille2008-11-071-10/+10
| | | | | | | | | | | | | | | | * data/lalr1.cc: Rename as... * data/lalr1-split.cc: this. * data/lalr1-fusion.cc: Rename as... * data/lalr1.cc: this. * etc/bench.pl.in: Adjust.
* | Add "%define assert" to variants.Akim Demaille2008-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is used to help the user catch cases where some value gets ovewritten by a new one. This should not happen, as this will probably leak. Unfortunately this uncovered a bug in the C++ parser itself: the lookahead value was not destroyed between two calls to yylex. For instance if the previous lookahead was a std::string, and then an int, then the value of the std::string was correctly taken (i.e., the lookahead was now an empty string), but std::string structure itself was not reclaimed. This is now done in variant::build(other&) (which is used to take the value of the lookahead): other is not only stolen from its value, it is also destroyed. This incurs a new performance penalty of a few percent, and union becomes faster again. * data/lalr1-fusion.cc (variant::build(other&)): Destroy other. (b4_variant_if): New. (variant::built): New. Use it whereever the status of the variant changes. * etc/bench.pl.in: Check the penalty of %define assert.
* | Use "%define variant" in bench.pl.Akim Demaille2008-11-071-15/+6
| | | | | | | | | | * etc/bench.pl.in: No longer use the pseudo directive %variants, just use %define variants.
* | Use strict on bench.pl.Akim Demaille2008-11-041-26/+79
| | | | | | | | | | | | | | | | * etc/bench.pl.in (&run, &generate_grammar): New. Rename the grammar generating functions for consistency. Change the interface so that the list of benches to run is passed as (optionless) arguments. (&compile): Use &run.
* | Improve the display of sizes.Akim Demaille2008-11-041-3/+5
| | | | | | | | | | * etc/bench.p.in: Higher precision. Sort by decreasing size.
* | Better defaults for bench.pl.Akim Demaille2008-11-041-8/+18
| | | | | | | | | | | | | | * etc/bench.pl.in ($verbose, $cflags, $iterations): Change the default values. Adjust &verbose uses. (-q, --quiet): New.
* | bench.pl --bench.Akim Demaille2008-11-041-13/+40
| | | | | | | | * etc/bench.pl.in (--bench, $bench): New.
* | Bench the three-stack lalr1.cc.Akim Demaille2008-11-031-1/+19
| | | | | | | | | | * etc/bench.pl.in: Bench the three-stack lalr1.cc vs. the one-stack one.
* | bench: Improve output.Akim Demaille2008-11-031-1/+7
| | | | | | | | * etc/bench.pl.in (bench_grammar): Tune the printf format.
* | bench: check impact of %debug on variants.Akim Demaille2008-11-031-22/+27
| | | | | | | | | | | | | | | | | | | | * etc/bench.pl.in (variant_grammar): Fix the computation of $variant. Generate a grammar file that can work with or without %debug. Do use the @directive. (bench_variant_parser): Check impact of %debug. (@directives): Rename all the occurrences to... (@directive): this, for consistency.