summaryrefslogtreecommitdiff
path: root/THANKS
Commit message (Collapse)AuthorAgeFilesLines
* tests: ignore messages from the JVMAkim Demaille2022-09-031-0/+1
| | | | | | | Reported by Giorgos Pap. <https://lists.gnu.org/r/bug-bison/2022-08/msg00002.html> * examples/test: Discard "Picked up _JAVA_OPTIONS:" messages.
* diagnostics: Windows compatibility issuesAkim Demaille2022-09-031-0/+1
| | | | | | | | | | Suggested by Bruno Haible <https://lists.gnu.org/r/bug-bison/2022-08/msg00006.html> following a report from Andrei Malashkin <https://lists.gnu.org/r/bug-bison/2022-08/msg00003.html> * src/location.c (caret_set_file): Read the file in binary. We already deal with CRLF in caret_getc_internal.
* yacc.c, lalr1.cc: fix warnings about yynerrsAkim Demaille2022-08-021-2/+3
| | | | | | | | | | | | | | | | | | | | Most often yynerrs is not used. Clang 15 now complains about such variables. Bison itself does not compile: ``` src/parse-gram.c:1797:9: error: variable 'gram_nerrs' set but not used [-Werror,-Wunused-but-set-variable] int yynerrs = 0; ^ src/parse-gram.c:79:25: note: expanded from macro 'yynerrs' ^ 1 error generated. ``` Reported by Nikita Popov. Fixes https://github.com/akimd/bison/issues/89. * data/skeletons/yacc.c (yynerrs): Flag with YY_ATTRIBUTE_UNUSED. * data/skeletons/lalr1.cc (yynerrs_): Likewise.
* package: bump copyrights to 2022Paul Eggert2022-01-151-1/+1
| | | | Run "make update-copyright".
* warnings: be less picky about occurrences of m4_/b4_ in the outputAkim Demaille2021-11-061-0/+1
| | | | | | | | Reported by Marko Mäkelä. <https://lists.gnu.org/r/bug-bison/2021-10/msg00026.html> * src/scan-skel.l: It is ok to have foob4_ or foom4_. * tests/skeletons.at (Suspicious sequences): New.
* Update URLs to prefer https: to http:Paul Eggert2021-01-291-1/+1
| | | | Also, fix a few http: URLs that were no longer working.
* package: bump copyrights to 2021Akim Demaille2021-01-161-1/+1
| | | | Run 'make update-copyright'.
* glr2.cc: example: use objects (not pointers) to represent the ASTAkim Demaille2020-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | Currently we are using pointers. The whole point of glr2.cc (vs. glr.cc) is precisely to allow genuine C++ objects to be semantic values. Let's make that work. * data/skeletons/glr2.cc (glr_state::glr_state): Be sure to initialize yysval. (glr_state): Add copy-ctor, assignment and dtor. (glr_state::copyFrom): Be sure to initialize the destination if it was not. (glr_state::~glr_state): Destroy the semantic value. * examples/c++/glr/ast.hh: Rewrite so that we use genuine objects, rather than a traditional OOP hierarchy that requires to deal with pointers. With help from Bruno Belanyi <bruno.belanyi@epita.fr>. * examples/c++/glr/c++-types.yy: Remove memory management. Use true objects. (main): Don't reach yydebug directly. * examples/c++/glr/local.mk: We need C++11.
* portability: use INT_LITERAL instead of INT because MSVC defines INTMaarten De Braekeleer2020-08-021-0/+1
| | | | | | | It is defined as a typedef, not a macro. https://lists.gnu.org/r/bison-patches/2020-08/msg00001.html * src/parse-gram.y, src/scan-gram.l: here.
* libtextstyle: be sure to have ostream_printf and hyperlink supportAkim Demaille2020-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | Older versions of libtextstyle do not support them, rule them out. Reported by Lars Wendler https://lists.gnu.org/r/bug-bison/2020-07/msg00030.html and by Arnold Robbins https://lists.gnu.org/r/bug-bison/2020-07/msg00041.html and https://lists.gnu.org/mailman/private/gawk-devel/2020-July/003988.html and by Nelson H. F. Beebe https://lists.gnu.org/mailman/private/gawk-devel/2020-July/003993.html With support from Bruno Haible in gnulib https://lists.gnu.org/r/bug-gnulib/2020-08/msg00000.html thread starting at https://lists.gnu.org/r/bug-gnulib/2020-07/msg00148.html * configure.ac: Require libtextstyle 0.20.5. * gnulib: Update.
* scanner: don't crash on strings containing a NUL byteAkim Demaille2020-07-281-0/+1
| | | | | | | | | | | | We crash if the input contains a string containing a NUL byte. Reported by Suhwan Song. https://lists.gnu.org/r/bug-bison/2020-07/msg00051.html * src/flex-scanner.h (STRING_FREE): Avoid accidental use of last_string. * src/scan-gram.l: Don't call STRING_FREE without calling STRING_FINISH first. * tests/input.at (Invalid inputs): Check that case.
* cex: more colorsAkim Demaille2020-07-151-0/+1
| | | | | | Provided by Daniela Becker. * data/bison-default.css: More colors.
* news: fixesAkim Demaille2020-06-271-0/+1
| | | | | | Reported by Jacob L. Mandelson. * NEWS: here.
* c++: by default, use const std::string for file namesAkim Demaille2020-06-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | Reported by Martin Blais and Yuriy Solodkyy. https://lists.gnu.org/r/help-bison/2020-05/msg00011.html https://lists.gnu.org/r/bug-bison/2020-06/msg00038.html While at it, modernize filename_type as api.filename.type and document it properly. * data/skeletons/c++.m4 (filename_type): Rename as... (api.filename.type): this. Default to const std::string. * data/skeletons/location.cc (position, location): Expose the filename_type type. Use api.filename.type. * doc/bison.texi (%define Summary): Document api.filename.type. (C++ Location Values): Document position::filename_type. * src/muscle-tab.c (muscle_percent_variable_update): Ensure backward compatibility. * tests/c++.at: Check that using const file names is ok. tests/input.at: Check backward compat.
* ielr: fix crash on memory managementAkim Demaille2020-06-271-0/+1
| | | | | | | | | | | Reported by Dwight Guth. https://lists.gnu.org/r/bug-bison/2020-06/msg00037.html * src/AnnotationList.c (AnnotationList__computePredecessorAnnotations): Beware that SBITSET__FOR_EACH nests _two_ for-loops, so "break" does not actually break out of it. That was the only occurrence in the code. * src/Sbitset.h (SBITSET__FOR_EACH): Warn passersby.
* build: check -Wmissing-prototypesAkim Demaille2020-06-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pstate_clear is lacking a prototype. Reported by Ryan https://lists.gnu.org/r/bug-bison/2020-05/msg00101.html Besides, none of the C examples were compiled with the warning flags. * configure.ac (warn_c): Add -Wmissing-prototypes. * data/skeletons/yacc.c (pstate_clear): Make it static. * examples/local.mk (TEST_CFLAGS): New. * examples/c/bistromathic/local.mk, examples/c/calc/local.mk, * examples/c/lexcalc/local.mk, examples/c/mfcalc/local.mk, * examples/c/pushcalc/local.mk, examples/c/reccalc/local.mk, * examples/c/rpcalc/local.mk: Use it. GCC's warn_unused_result is not silenced by a cast to void, so we have to "use" scanf's result. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425 Flex generated code produces too many warnings, including things such as, with ICC: examples/c/lexcalc/scan.c(1088): error #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem) 2259 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 2260 ^ 2261 2262 I am tired of trying to fix Flex's output. The project does not seem maintained. We ought to avoid it. So, for the time being, don't try to enable warnings with Flex. * examples/c/bistromathic/parse.y, examples/c/reccalc/scan.l: Fix warnings. * doc/bison.texi: Discard scanf's return value to defeat -Werror=unused-result.
* doc: clarify what a location isAkim Demaille2020-05-031-0/+1
| | | | | | | Reported by Arthur Schwarz <aschwarz1309@att.net> https://lists.gnu.org/r/help-bison/2013-12/msg00009.html * doc/bison.texi (Location Type): here.
* c++: provide backward compatibility on by_typeAkim Demaille2020-05-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To write unit tests for their scanners, some users depended on symbol_type::token(): Lexer lex("12345"); symbol_type t = lex.nextToken(); assert(t.token() == token::INTLIT); assert(t.value.as<int>() == 12345); But symbol_type::token() was removed in Bison 3.5 because it relied on a conversion table. So users had to find other patterns, such as assert(t.type_get() == by_type(token::INTLIT).type_get()); which relies on several private implementation details. As part of transitioning from "token type" to "token kind", and making this a public and documented interface, "by_type" was renamed "by_kind" and "type_get()" was renamed as "kind()". The latter had backward compatibility mechanisms, not the former. In Bison 3.6 none of this should be used, but rather assert(t.kind() == symbol_kind::S_INTLIT); Reported by Pramod Kumbhar. https://lists.gnu.org/r/bug-bison/2020-05/msg00012.html * data/skeletons/c++.m4 (by_type): Make it an alias to by_kind.
* c++: use modern idioms to make classes non-copyableAkim Demaille2020-05-011-0/+1
| | | | | | | | | Reported by Don Macpherson. https://lists.gnu.org/r/bug-bison/2019-05/msg00015.html https://github.com/akimd/bison/issues/36 * data/skeletons/lalr1.cc, data/skeletons/stack.hh, * data/skeletons/variant.hh: Delete the copy-ctor and the copy operator.
* Merge branch 'maint'Akim Demaille2020-04-051-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: maint: post-release administrivia version 3.5.4 examples: reccalc: really compile cleanly in C99 news: announce that Bison 3.6 drops YYERROR_VERBOSE news: update for 3.5.4 style: fix spellos typo: succesful -> successful package: improve the readme java: check and fix support for api.token.raw java: style: prefer 'int[] foo' to 'int foo[]' build: fix syntax-check issues tests: recheck: work properly when the test suite was interrupted doc: c++: promote api.token.raw build: fix compatibility with old compilers examples: reccalc: compile cleanly in C99
| * build: fix compatibility with old compilersAkim Demaille2020-04-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 4.2 dies with src/InadequacyList.c: In function 'InadequacyList__new_conflict': src/InadequacyList.c:37: error: #pragma GCC diagnostic not allowed inside functions src/InadequacyList.c:37: error: #pragma GCC diagnostic not allowed inside functions src/InadequacyList.c:40: error: #pragma GCC diagnostic not allowed inside functions Reported by Evan Lavelle. See https://lists.gnu.org/r/bug-bison/2020-03/msg00021.html and https://trac.macports.org/ticket/59927. * src/system.h (GCC_VERSION): New. Use it to control IGNORE_TYPE_LIMITS_BEGIN and IGNORE_TYPE_LIMITS_END.
* | examples: don't use yysyntax_error_argumentsAkim Demaille2020-03-281-0/+1
|/ | | | | | | | | | | | | | | | Suggested by Adrian Vogelsgesang. https://lists.gnu.org/archive/html/bison-patches/2020-02/msg00069.html * data/skeletons/lalr1.java (Context.EMPTY, Context.getToken): New. (Context.yyntokens): Rename as... (Context.NTOKENS): this. Because (i) all the Java coding styles recommend upper case for constants, and (ii) the Java Skeleton exposes Lexer.EOF, not Lexer.YYEOF. * data/skeletons/yacc.c (yyparse_context_token): New. * examples/c/bistromathic/parse.y (yyreport_syntax_error): Don't use yysyntax_error_arguments. * examples/java/calc/Calc.y (yyreportSyntaxError): Likewise.
* code: be robust to reference with invalid tagsAkim Demaille2020-03-061-1/+2
| | | | | | | | | | Because we want to support $<a->b>$, we must accept -> in type tags, and reject $<->$, as it is unfinished. Reported by Ahcheong Lee. * src/scan-code.l (yylex): Make sure "tag" does not end with -, since -> does not close the tag. * tests/input.at (Stray $ or @): Check this.
* examples: be more robust to spaces in pathsAkim Demaille2020-01-211-0/+1
| | | | | | | | | Reported by Nikki Valen. https://lists.gnu.org/r/bug-bison/2020-01/msg00032.html * examples/test ($prog): Remove, replaced by... (prog): This new function, which pays attention to quoting shell variables.
* CI: use ICC againAkim Demaille2020-01-191-0/+2
| | | | | | | | See https://github.com/nemequ/icc-travis/issues/15. Thanks to Jeff Hammond and Evan Nemerson for their help. * configure.ac (warn_common): Disable dubious warnings. * .travis.yml: Use ICC again.
* package: bump copyrights to 2020Akim Demaille2020-01-101-1/+1
| | | | Run 'make update-copyright'.
* tests: avoid creating files whose name collide with standard headersAkim Demaille2019-11-261-1/+2
| | | | | | | | | Having a file named "exception" is risky: the compiler might use that file in #include. Reported by 马俊 <majun123@whu.edu.cn>. * tests/local.at (AT_SKIP_IF_EXCEPTION_SUPPORT_IS_POOR): Generate 'exceptions', not 'exception'.
* examples: fix missing dependenciesAkim Demaille2019-10-241-0/+1
| | | | | | | | | | | Reported by Thomas Petazzoni. https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00000.html * examples/c/reccalc/local.mk: Complete dependencies, including for earlier versions of Automake (for sake of our CI, on top of Ubuntu Xenial/Bionic, which feature only Automake 1.15). (%D%/scan.c %D%/scan.h): Upgrade to the full version provided in Automake's documentation.
* style: update comment in reader.cYuichiro Kaneko2019-10-231-0/+1
| | | | | | rrhs and rlhs were removed by b2ed6e5826e772162719db595446b2c58e4ac5d6. * src/reader.c (packgram): Update comment.
* glr: display line numbers in tracesAkim Demaille2019-10-111-1/+2
| | | | | | | Suggested by Lars Maier. * data/skeletons/glr.c: Also display rule locations when rules are deferred, and rejected.
* yacc: use the most appropriate integral type for state numbersAkim Demaille2019-09-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Currently we properly use the "best" integral type for tables, including those storing state numbers. However the variables for state numbers used in yyparse (and its dependencies such as yy_stack_print) still use int16_t invariably. As a consequence, very large models overflow these variables. Let's use the "best" type for these variables too. It turns out that we can still use 16 bits for twice larger automata: stick to unsigned types. However using 'unsigned' when 16 bits are not enough is troublesome and generates tons of warnings about signedness issues. Instead, let's use 'int'. Reported by Tom Kramer. https://lists.gnu.org/archive/html/bug-bison/2019-09/msg00018.html * data/skeletons/yacc.c (b4_state_num_type): New. (yy_state_num): Be computed from YYNSTATES. * tests/linear: New. * tests/torture.at (State number type): New. Use it.
* c++: add copy ctors for compatibility with the IAR compilerAkim Demaille2019-09-271-0/+1
| | | | | | | | Reported by Andreas Damm. https://savannah.gnu.org/support/?110032 * data/skeletons/lalr1.cc (stack_symbol_type::operator=): New overload, const, to please the IAR C++ compiler (version ca 2013).
* quotearg: avoid leaksAkim Demaille2019-09-221-0/+1
| | | | | | | Reported by Tomasz Kłoczko. https://lists.gnu.org/archive/html/bug-bison/2019-09/msg00008.html * src/main.c (main): Free quotearg's memory later.
* fix: don't die when EOF token is defined twiceAkim Demaille2019-09-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | With %token EOF 0 EOF 0 we get input.y:3.14-16: warning: symbol EOF redeclared [-Wother] 3 | %token EOF 0 EOF 0 | ^~~ input.y:3.8-10: previous declaration 3 | %token EOF 0 EOF 0 | ^~~ Assertion failed: (nsyms == ntokens + nvars), function check_and_convert_grammar, file /Users/akim/src/gnu/bison/src/reader.c, line 839. Reported by Marc Schönefeld. * src/symtab.c (symbol_user_token_number_set): Register only the first definition of the end of input token. * tests/input.at (Symbol redeclared): Check that case.
* check for memory exhaustionAkim Demaille2019-09-081-0/+1
| | | | | | | | | | | hash_initialize returns NULL when out of memory. Check for it, and die cleanly instead of crashing. Reported by 江 祖铭 (Zu-Ming Jiang). https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00015.html * src/muscle-tab.c, src/state.c, src/symtab.c, src/uniqstr.c: Check the value returned by hash_initialize.
* diagnostics: fix invalid error message indentationLászló Várady2019-09-081-0/+1
| | | | | | | | | | | | | https://lists.gnu.org/archive/html/bison-patches/2019-08/msg00007.html When Bison is started with a flag that suppresses warning messages, the error_message() function can produce a few gigabytes of indentation because of a dangling pointer. * src/complain.c (error_message): Don't reset indent_ptr here, but... (complain_indent): here. * tests/diagnostics.at (Indentation with message suppression): Check this case.
* thanks: fix an addressAkim Demaille2019-05-221-1/+1
|
* doc: avoid Texinfo portability issuesAkim Demaille2019-05-201-0/+1
| | | | | | | | | | Reported by Bruno Haible. http://lists.gnu.org/archive/html/bug-bison/2019-05/msg00024.html Fixed by Karl Berry. http://lists.gnu.org/archive/html/bug-bison/2019-05/msg00034.html * doc/bison.texi: Don't specify the langage, rely on the default. Avoid blank pages.
* diagnostics: don't crash when libtextstyle is installedAkim Demaille2019-05-191-0/+1
| | | | | | | | | Reported by neok m4700. https://lists.gnu.org/archive/html/bison-patches/2019-05/msg00025.html https://github.com/akimd/bison/pull/11 * src/complain.c (complain_init_color): style_file_prepare _needs_ a string as second argument.
* diagnostics: %pure-parser is obsoleteAkim Demaille2019-05-191-0/+1
| | | | | | | | | | | Reported by Uxio Prego. http://lists.gnu.org/archive/html/bug-bison/2018-12/msg00029.html * src/scan-gram.l, src/parse-gram.y (PERCENT_PURE_PARSER) (handle_pure_parser): New. Issue a deprecation/update notice for %pure-parser. * doc/bison.texi (Java Bison Interface): Don't mention %pure-parser. * tests/actions.at, tests/input.at: Adjust.
* CI: use a pipeline: first build the tarball, then check itAkim Demaille2019-05-191-0/+1
| | | | | | | | | | | | Build the tarball in one job, check it in many. Unfortunately no real gain in overall duration. With help from Clément Démoulins. * .travis.yml: here. Remove all the tricks that were used to be able to boostrap on old distros. (before_install): Merge into 'script', because before_install applies to all the jobs, and we don't want to run it for the 'compile' job.
* doc: use colors for diagnostics in TeX tooAkim Demaille2019-05-091-0/+2
| | | | | | | | | Thanks to Gavin Smith and Patrice Dumas. http://lists.gnu.org/archive/html/help-texinfo/2019-04/msg00015.html * doc/bison.texi (@colorWarning, @colorError, @colorNotice) (@colorOff): Define for TeX and HTML. (@dwarning, @derror, @dnotice): Use them.
* diagnostics: don't try to quote special filesAkim Demaille2019-04-231-0/+1
| | | | | | | | | Based on a report by Todd Freed. http://lists.gnu.org/archive/html/bug-bison/2019-04/msg00000.html See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90034 * src/location.c (caret_info): Also track the file name. (location_caret): Don't quote special files.
* lalr: fix segmentation violationAkim Demaille2019-03-301-0/+1
| | | | | | | | | | | | | | | | | | | The "includes" relation [DeRemer 1982] is between gotos, so of course, for a given goto, there cannot be more that ngotos (number of gotos) images. But we manipulate the set of images of a goto as a list, without checking that an image was not already introduced. So we can "register" way more images than ngotos, leading to a crash (heap buffer overflow). Reported by wcventure. http://lists.gnu.org/archive/html/bug-bison/2019-03/msg00007.html For the records, this bug is present in the first committed version of Bison. * src/lalr.c (build_relations): Don't insert the same goto several times. * tests/sets.at (Build Relations): New.
* examples: add an example with a reentrant parser in Flex+BisonAkim Demaille2019-02-171-0/+1
| | | | | | | | | | | Suggested by Eric S. Raymond. https://lists.gnu.org/archive/html/bison-patches/2019-02/msg00066.html * examples/c/reentrant-calc/Makefile, examples/c/reentrant-calc/README.md, * examples/c/reentrant-calc/parse.y, examples/c/reentrant-calc/scan.l * examples/c/reentrant-calc/lexcalc.test, * examples/c/reentrant-calc/local.mk: New.
* gram: fix handling of nterms in actions when some are unusedAkim Demaille2019-02-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Bison 3.3, semantic values in rule actions (i.e., '$...') are passed to the m4 backend as the symbol number. Unfortunately, when there are unused symbols, the symbols are renumbered _after_ the numbers were used in the rule actions. As a result, the evaluation of the skeleton failed because it used non existing symbol numbers. Which is the happy scenario: we could use numbers of other existing symbols... Reported by Balázs Scheidler. http://lists.gnu.org/archive/html/bug-bison/2019-01/msg00044.html Translating the rule actions after the symbol renumbering moves too many parts in bison. Relying on the symbol identifiers is more troublesome than it might first seem: some don't have an identifier (tokens with only a literal string), some might have a complex one (tokens with a literal string with characters special for M4). Well, these are tokens, but nterms also have issues: "dummy" nterms (for midrule actions) are named $@32 etc. which is risky for M4. Instead, let's simply give M4 the mapping between the old numbers and the new ones. To avoid confusion between old and new numbers, always emit pre-renumbering numbers as "orig NUM". * data/README: Give details about "orig NUM". * data/skeletons/bison.m4 (__b4_symbol, _b4_symbol): Resolve the "orig NUM". * src/output.c (prepare_symbol_definitions): Pass nterm_map to m4. * src/reduce.h, src/reduce.c (nterm_map): Extract it from nonterminals_reduce, to make it public. (reduce_free): Free it. * src/scan-code.l (handle_action_dollar): When referring to a nterm, use "orig NUM". * tests/reduce.at (Useless Parts): New, based Balázs Scheidler's report.
* package: bump copyrights to 2019Akim Demaille2019-01-051-1/+1
|
* package: make bison a relocatable packageAkim Demaille2018-12-251-0/+2
| | | | | | | | | | | | | | | | | | Suggested by David Barto https://lists.gnu.org/archive/html/help-bison/2015-02/msg00004.html and Victor Zverovich. https://lists.gnu.org/archive/html/bison-patches/2018-10/msg00121.html This is very easy to do, thanks to work by Bruno Haible in gnulib. See "Supporting Relocation" in gnulib's documentation. * bootstrap.conf: We need relocatable-prog and relocatable-script (for yacc). * src/yacc.in: New. * configure.ac, src/local.mk: Instantiate it. * src/main.c, src/output.c (main, pkgdatadir): Use relocatable2. * doc/bison.texi (FAQ): Document it.
* c++: fix double free when a symbol_type was movedAkim Demaille2018-12-241-0/+1
| | | | | | | | | | | | | | | | | Currently the following piece of code crashes (with parse.assert), because we don't record that s was moved-from, and we invoke its dtor. { auto s = parser::make_INT (42); auto s2 = std::move (s); } Reported by Wolfgang Thaller. http://lists.gnu.org/archive/html/bug-bison/2018-12/msg00077.html * data/c++.m4 (by_type): Provide a move-ctor. (basic_symbol): Be sure not to read a moved-from value. * tests/c++.at (C++ Variant-based Symbols Unit Tests): Check this case.
* d: add skeleton for the D languageAkim Demaille2018-12-041-0/+1
| | | | | | | Contributed by Oliver Mangold. https://lists.gnu.org/archive/html/help-bison/2012-01/msg00000.html * README-D.txt, d-skel.m4, d.m4, lalr1.d: New.