summaryrefslogtreecommitdiff
path: root/devel/bison
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2012-12-16 10:46:17 +0000
committerwiz <wiz@pkgsrc.org>2012-12-16 10:46:17 +0000
commit063fbc1195f2d40e6fe1416005ae12ecc96da5e2 (patch)
tree54f37b3e9f2d0e203ffa60b942bf49e0ad941df9 /devel/bison
parentf12cc1d436cc5de4d08cef4308840aae178cb5eb (diff)
downloadpkgsrc-063fbc1195f2d40e6fe1416005ae12ecc96da5e2.tar.gz
Update to 2.7:
* Noteworthy changes in release 2.7 (2012-12-12) [stable] ** Bug fixes Warnings about uninitialized yylloc in yyparse have been fixed. Restored C90 compliance (yet no report was ever made). ** Diagnostics are improved *** Changes in the format of error messages This used to be the format of many error reports: input.y:2.7-12: %type redeclaration for exp input.y:1.7-12: previous declaration It is now: input.y:2.7-12: error: %type redeclaration for exp input.y:1.7-12: previous declaration *** New format for error reports: carets Caret errors have been added to Bison: input.y:2.7-12: error: %type redeclaration for exp %type <sval> exp ^^^^^^ input.y:1.7-12: previous declaration %type <ival> exp ^^^^^^ or input.y:3.20-23: error: ambiguous reference: '$exp' exp: exp '+' exp { $exp = $1 + $3; }; ^^^^ input.y:3.1-3: refers to: $exp at $$ exp: exp '+' exp { $exp = $1 + $3; }; ^^^ input.y:3.6-8: refers to: $exp at $1 exp: exp '+' exp { $exp = $1 + $3; }; ^^^ input.y:3.14-16: refers to: $exp at $3 exp: exp '+' exp { $exp = $1 + $3; }; ^^^ The default behaviour for now is still not to display these unless explictly asked with -fcaret (or -fall). However, in a later release, it will be made the default behavior (but may still be deactivated with -fno-caret). ** New value for %define variable: api.pure full The %define variable api.pure requests a pure (reentrant) parser. However, for historical reasons, using it in a location-tracking Yacc parser resulted in a yyerror function that did not take a location as a parameter. With this new value, the user may request a better pure parser, where yyerror does take a location as a parameter (in location-tracking parsers). The use of "%define api.pure true" is deprecated in favor of this new "%define api.pure full". ** New %define variable: api.location.type (glr.cc, lalr1.cc, lalr1.java) The %define variable api.location.type defines the name of the type to use for locations. When defined, Bison no longer generates the position.hh and location.hh files, nor does the parser will include them: the user is then responsible to define her type. This can be used in programs with several parsers to factor their location and position files: let one of them generate them, and the others just use them. This feature was actually introduced, but not documented, in Bison 2.5, under the name "location_type" (which is maintained for backward compatibility). For consistency, lalr1.java's %define variables location_type and position_type are deprecated in favor of api.location.type and api.position.type. ** Exception safety (lalr1.cc) The parse function now catches exceptions, uses the %destructors to release memory (the lookahead symbol and the symbols pushed on the stack) before re-throwing the exception. This feature is somewhat experimental. User feedback would be appreciated. ** Graph improvements in DOT and XSLT The graphical presentation of the states is more readable: their shape is now rectangular, the state number is clearly displayed, and the items are numbered and left-justified. The reductions are now explicitly represented as transitions to other diamond shaped nodes. These changes are present in both --graph output and xml2dot.xsl XSLT processing, with minor (documented) differences. ** %language is no longer an experimental feature. The introduction of this feature, in 2.4, was four years ago. The --language option and the %language directive are no longer experimental. ** Documentation The sections about shift/reduce and reduce/reduce conflicts resolution have been fixed and extended. Although introduced more than four years ago, XML and Graphviz reports were not properly documented. The translation of mid-rule actions is now described.
Diffstat (limited to 'devel/bison')
-rw-r--r--devel/bison/Makefile4
-rw-r--r--devel/bison/distinfo10
-rw-r--r--devel/bison/patches/patch-doc_Makefile.in10
3 files changed, 12 insertions, 12 deletions
diff --git a/devel/bison/Makefile b/devel/bison/Makefile
index c9a6d0bd60b..b6068d1733b 100644
--- a/devel/bison/Makefile
+++ b/devel/bison/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.88 2012/12/08 23:53:09 wiz Exp $
+# $NetBSD: Makefile,v 1.89 2012/12/16 10:46:17 wiz Exp $
-DISTNAME= bison-2.6.5
+DISTNAME= bison-2.7
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GNU:=bison/}
EXTRACT_SUFX= .tar.xz
diff --git a/devel/bison/distinfo b/devel/bison/distinfo
index 8d4e2d971e1..d2d93944a18 100644
--- a/devel/bison/distinfo
+++ b/devel/bison/distinfo
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.34 2012/12/08 23:53:09 wiz Exp $
+$NetBSD: distinfo,v 1.35 2012/12/16 10:46:17 wiz Exp $
-SHA1 (bison-2.6.5.tar.xz) = eaa806c062973577c683ddf446dea2d9d02ac04c
-RMD160 (bison-2.6.5.tar.xz) = 7fb140a2f646ace783af49be33d4d1a7cce1b29e
-Size (bison-2.6.5.tar.xz) = 1669260 bytes
-SHA1 (patch-doc_Makefile.in) = 11371a773019ada76396d36334abc6c8cac75ec6
+SHA1 (bison-2.7.tar.xz) = 245467c56663ec80fc3e80c38cc1ff18c59d7ecc
+RMD160 (bison-2.7.tar.xz) = bf26adc50fdbd7a9f157df1f5b648a3802bf5f15
+Size (bison-2.7.tar.xz) = 1776640 bytes
+SHA1 (patch-doc_Makefile.in) = dc3dd7ee66dfe5995abd3a34973cbebdb7fed7fb
SHA1 (patch-lib_isnan.c) = c5d2603447064c95e8bbc75a24c09366b752bad6
SHA1 (patch-src_Makefile.in) = 6baa8ff8b8f4f0aa9c8efee60e172584c68eac7c
diff --git a/devel/bison/patches/patch-doc_Makefile.in b/devel/bison/patches/patch-doc_Makefile.in
index 4f32e148420..c90d1ac2361 100644
--- a/devel/bison/patches/patch-doc_Makefile.in
+++ b/devel/bison/patches/patch-doc_Makefile.in
@@ -1,15 +1,15 @@
-$NetBSD: patch-doc_Makefile.in,v 1.1 2011/08/06 17:15:43 wiz Exp $
+$NetBSD: patch-doc_Makefile.in,v 1.2 2012/12/16 10:46:17 wiz Exp $
Do not install yacc(1).
---- doc/Makefile.in.orig 2011-05-14 22:24:27.000000000 +0000
+--- doc/Makefile.in.orig 2012-12-12 15:08:52.000000000 +0000
+++ doc/Makefile.in
-@@ -1133,7 +1133,7 @@ remove_time_stamp = \
+@@ -1429,7 +1429,7 @@ remove_time_stamp = \
MOSTLYCLEANFILES = $(srcdir)/*.t
- SUFFIXES = .x .1
+ SUFFIXES = .x .1 .dot .eps .pdf .png
PREPATH = $(top_builddir)/src
-nodist_man_MANS = yacc.1
+nodist_man_MANS =
+ FIGS_DOT = figs/example.dot figs/example-reduce.dot figs/example-shift.dot
DOXYGEN = doxygen
edit = sed -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
- -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \