pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/bison bison: update to 3.8.1.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/6e5b537712a3
branches:  trunk
changeset: 459048:6e5b537712a3
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Wed Sep 29 08:40:14 2021 +0000

description:
bison: update to 3.8.1.

* Noteworthy changes in release 3.8.1 (2021-09-11) [stable]

  The generation of prototypes for yylex and yyerror in Yacc mode is
  breaking existing grammar files.  To avoid breaking too many grammars, the
  prototypes are now generated when `-y/--yacc` is used *and* the
  `POSIXLY_CORRECT` environment variable is defined.

  Avoid using `-y`/`--yacc` simply to comply with Yacc's file name
  conventions, rather, use `-o y.tab.c`.  Autoconf's AC_PROG_YACC macro uses
  `-y`.  Avoid it if possible, for instance by using gnulib's gl_PROG_BISON.

* Noteworthy changes in release 3.8 (2021-09-07) [stable]

** Backward incompatible changes

  In conformance with the recommendations of the Graphviz team
  (https://marc.info/?l=graphviz-devel&m=129418103126092), `-g`/`--graph`
  now generates a *.gv file by default, instead of *.dot.  A transition
  started in Bison 3.4.

  To comply with the latest POSIX standard, in Yacc compatibility mode
  (options `-y`/`--yacc`) Bison now generates prototypes for yyerror and
  yylex.  In some situations, this is breaking compatibility: if the user
  has already declared these functions but with some differences (e.g., to
  declare them as static, or to use specific attributes), the generated
  parser will fail to compile.  To disable these prototypes, #define yyerror
  (to `yyerror`), and likewise for yylex.

** Deprecated features

  Support for the YYPRINT macro is removed. It worked only with yacc.c and
  only for tokens.  It was obsoleted by %printer, introduced in Bison 1.50
  (November 2002).

  It has always been recommended to prefer `%define api.value.type foo` to
  `#define YYSTYPE foo`.  The latter is supported in C for compatibility
  with Yacc, but not in C++.  Warnings are now issued if `#define YYSTYPE`
  is used in C++, and eventually support will be removed.

  In C++ code, prefer value_type to semantic_type to denote the semantic
  value type, which is specified by the `api.value.type` %define variable.

** New features

*** A skeleton for the D programming language

  The "lalr1.d" skeleton is now officially part of Bison.

  It was originally contributed by Oliver Mangold, based on Paolo Bonzini's
  lalr1.java, and was improved by H. S. Teoh.  Adela Vais then took over
  maintenance and invested a lot of efforts to complete, test and document
  it.

  It now supports all the bells and whistles of the other deterministic
  parsers, which include: pull/push interfaces, verbose and custom error
  messages, lookahead correction, token constructors, internationalization,
  locations, printers, token and symbol prefixes, etc.

  Two examples demonstrate the D parsers: a basic one (examples/d/simple),
  and an advanced one (examples/d/calc).

*** Option -H, --header and directive %header

  The option `-H`/`--header` supersedes the option `--defines`, and the
  directive %header supersedes %defines.  Both `--defines` and `%defines`
  are, of course, maintained for backward compatibility.

*** Option --html

  Since version 2.4 Bison can be used to generate HTML reports.  However it
  was a two-step process: first bison must be invoked with option `--xml`,
  and then xsltproc must be run to the convert the XML reports into HTML.

  The new option `--html` combines these steps.  The xsltproc program must
  be available.

*** A C++ native GLR parser

  A new version of the C++ GLR parser was added: "glr2.cc".  It generates
  "true C++11", instead of a C++ wrapper around a C parser as does the
  existing "glr.cc" parser.  As a first significant consequence, it supports
  `%define api.value.type variant`, contrary to glr.cc.

  It should be upward compatible in terms of interface, feature and
  performance to "glr.cc". To try it out, simply use

  %skeleton "glr2.cc"

  It will eventually replace "glr.cc".  However we need user feedback on
  this skeleton.  _Please_ report your results and comments about it.

*** Counterexamples

  Counterexamples now show the rule numbers, and always show ε for rules
  with an empty right-hand side.  For instance

    exp
    ↳ 1: e1       e2     "a"
         ↳ 3: ε • ↳ 1: ε

  instead of

    exp
    ↳ e1  e2  "a"
      ↳ • ↳ ε

*** Lookahead correction in Java

  The Java skeleton (lalr1.java) now supports LAC, via the `parse.lac`
  %define variable.

*** Abort parsing for memory exhaustion (C)

  User actions may now use `YYNOMEM` (similar to `YYACCEPT` and `YYABORT`)
  to abort the current parse with memory exhaustion.

*** Printing locations in debug traces (C)

  The `YYLOCATION_PRINT(File, Loc)` macro prints a location.  It is defined
  when (i) locations are enabled, (ii) the default type for locations is
  used, (iii) debug traces are enabled, and (iv) `YYLOCATION_PRINT` is not
  already defined.

  Users may define `YYLOCATION_PRINT` to cover other cases.

*** GLR traces

  There were no debug traces for deferred calls to user actions.  They are
  logged now.

diffstat:

 devel/bison/Makefile                  |   5 ++---
 devel/bison/PLIST                     |  13 +++++++++----
 devel/bison/distinfo                  |  11 +++++------
 devel/bison/patches/patch-Makefile.in |  15 ---------------
 4 files changed, 16 insertions(+), 28 deletions(-)

diffs (98 lines):

diff -r 34278f54c843 -r 6e5b537712a3 devel/bison/Makefile
--- a/devel/bison/Makefile      Wed Sep 29 08:34:02 2021 +0000
+++ b/devel/bison/Makefile      Wed Sep 29 08:40:14 2021 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.121 2021/05/24 19:49:53 wiz Exp $
+# $NetBSD: Makefile,v 1.122 2021/09/29 08:40:14 wiz Exp $
 
-DISTNAME=      bison-3.7.6
-PKGREVISION=   1
+DISTNAME=      bison-3.8.1
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GNU:=bison/}
 EXTRACT_SUFX=  .tar.xz
diff -r 34278f54c843 -r 6e5b537712a3 devel/bison/PLIST
--- a/devel/bison/PLIST Wed Sep 29 08:34:02 2021 +0000
+++ b/devel/bison/PLIST Wed Sep 29 08:40:14 2021 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.33 2020/08/24 07:50:19 wiz Exp $
+@comment $NetBSD: PLIST,v 1.34 2021/09/29 08:40:14 wiz Exp $
 bin/bison
 info/bison.info
 man/man1/bison.1
@@ -7,7 +7,6 @@
 share/bison/bison-default.css
 share/bison/m4sugar/foreach.m4
 share/bison/m4sugar/m4sugar.m4
-share/bison/skeletons/README-D.txt
 share/bison/skeletons/bison.m4
 share/bison/skeletons/c++-skel.m4
 share/bison/skeletons/c++.m4
@@ -18,6 +17,7 @@
 share/bison/skeletons/d.m4
 share/bison/skeletons/glr.c
 share/bison/skeletons/glr.cc
+share/bison/skeletons/glr2.cc
 share/bison/skeletons/java-skel.m4
 share/bison/skeletons/java.m4
 share/bison/skeletons/lalr1.cc
@@ -58,6 +58,9 @@
 share/doc/bison/examples/c/calc/Makefile
 share/doc/bison/examples/c/calc/README.md
 share/doc/bison/examples/c/calc/calc.y
+share/doc/bison/examples/c/glr/Makefile
+share/doc/bison/examples/c/glr/README.md
+share/doc/bison/examples/c/glr/c++-types.y
 share/doc/bison/examples/c/lexcalc/Makefile
 share/doc/bison/examples/c/lexcalc/README.md
 share/doc/bison/examples/c/lexcalc/parse.y
@@ -74,9 +77,11 @@
 share/doc/bison/examples/c/reccalc/scan.l
 share/doc/bison/examples/c/rpcalc/Makefile
 share/doc/bison/examples/c/rpcalc/rpcalc.y
-share/doc/bison/examples/d/Makefile
 share/doc/bison/examples/d/README.md
-share/doc/bison/examples/d/calc.y
+share/doc/bison/examples/d/calc/Makefile
+share/doc/bison/examples/d/calc/calc.y
+share/doc/bison/examples/d/simple/Makefile
+share/doc/bison/examples/d/simple/calc.y
 share/doc/bison/examples/java/README.md
 share/doc/bison/examples/java/calc/Calc.y
 share/doc/bison/examples/java/calc/Makefile
diff -r 34278f54c843 -r 6e5b537712a3 devel/bison/distinfo
--- a/devel/bison/distinfo      Wed Sep 29 08:34:02 2021 +0000
+++ b/devel/bison/distinfo      Wed Sep 29 08:40:14 2021 +0000
@@ -1,8 +1,7 @@
-$NetBSD: distinfo,v 1.58 2021/03/14 08:16:02 wiz Exp $
+$NetBSD: distinfo,v 1.59 2021/09/29 08:40:14 wiz Exp $
 
-SHA1 (bison-3.7.6.tar.xz) = bbd6362383a7276cd85ed3f19cb5416aeb98e5db
-RMD160 (bison-3.7.6.tar.xz) = 97ad0da72284a606651523151ce8222d1418e1fa
-SHA512 (bison-3.7.6.tar.xz) = 6c1c9b825fbd2c94b8903f03a7e68e6832599f7bbd8d3c49864537c11b038c45a15de02fd36128d662af314334c83515bbc132df84e9acc6c651e98649c65bad
-Size (bison-3.7.6.tar.xz) = 2627180 bytes
-SHA1 (patch-Makefile.in) = e50363d642f045dafb71a9b7c8b0814995029e1c
+SHA1 (bison-3.8.1.tar.xz) = 9772ea3130d6cbddaefe29a659698775a5701394
+RMD160 (bison-3.8.1.tar.xz) = 2e86a3970b364def94fe401d75802468460f6a89
+SHA512 (bison-3.8.1.tar.xz) = f87978c41eca4db22de4f64feb3be92e44862d412f75dd84980045faf0f9e7f5a41b25bef8d4acd90743638eab61a7ac111444969d958fef5fe3535bac416921
+Size (bison-3.8.1.tar.xz) = 2800372 bytes
 SHA1 (patch-lib_isnan.c) = 5b44fc6e2e97e36f91cd784bf3a38ad459fccdab
diff -r 34278f54c843 -r 6e5b537712a3 devel/bison/patches/patch-Makefile.in
--- a/devel/bison/patches/patch-Makefile.in     Wed Sep 29 08:34:02 2021 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-$NetBSD: patch-Makefile.in,v 1.7 2020/10/21 10:04:53 wiz Exp $
-
-Fix unportable test operator.
-
---- Makefile.in.orig   2019-09-12 15:41:48.000000000 +0000
-+++ Makefile.in
-@@ -10936,7 +10936,7 @@ maintainer-check-posix: $(RUN_TESTSUITE_
- 
- .PHONY: maintainer-check-valgrind
- maintainer-check-valgrind: $(RUN_TESTSUITE_deps)
--      test 'x$(VALGRIND)' == x ||                                     \
-+      test 'x$(VALGRIND)' = x ||                                      \
-         $(RUN_TESTSUITE)                                              \
-           PREBISON='$(VALGRIND) -q' PREPARSER='$(VALGRIND) -q'        \
-           VALGRIND_OPTS="$(VALGRIND_OPTS)"


Home | Main Index | Thread Index | Old Index