Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package happy for openSUSE:Factory checked in at 2023-04-04 21:25:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/happy (Old) and /work/SRC/openSUSE:Factory/.happy.new.19717 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "happy" Tue Apr 4 21:25:15 2023 rev:29 rq:1076151 version:1.20.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/happy/happy.changes 2022-08-01 21:31:38.209869548 +0200 +++ /work/SRC/openSUSE:Factory/.happy.new.19717/happy.changes 2023-04-04 21:25:29.866922422 +0200 @@ -1,0 +2,20 @@ +Thu Mar 30 17:09:16 UTC 2023 - Peter Simons <psim...@suse.com> + +- Updated spec file to conform with ghc-rpm-macros-2.5.2. + +------------------------------------------------------------------- +Tue Feb 7 23:08:04 UTC 2023 - Peter Simons <psim...@suse.com> + +- Update happy to version 1.20.1.1. + Upstream has not updated the file "ChangeLog.md" since the last + release. + +------------------------------------------------------------------- +Mon Feb 6 22:21:29 UTC 2023 - Peter Simons <psim...@suse.com> + +- Update happy to version 1.20.1 revision 1. + Upstream has renamed and modified the change log file(s) in this + release. Unfortunately, the automatic updater cannot reliable + determine relevant entries for this release. + +------------------------------------------------------------------- Old: ---- happy-1.20.0.tar.gz happy.cabal New: ---- happy-1.20.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ happy.spec ++++++ --- /var/tmp/diff_new_pack.5fIKXR/_old 2023-04-04 21:25:30.390925397 +0200 +++ /var/tmp/diff_new_pack.5fIKXR/_new 2023-04-04 21:25:30.394925419 +0200 @@ -1,7 +1,7 @@ # # spec file for package happy # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,26 +18,31 @@ %bcond_with tests Name: happy -Version: 1.20.0 +Version: 1.20.1.1 Release: 0 Summary: Happy is a parser generator for Haskell License: BSD-2-Clause URL: https://hackage.haskell.org/package/%{name} Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz -Source1: https://hackage.haskell.org/package/%{name}-%{version}/revision/1.cabal#/%{name}.cabal BuildRequires: autoconf BuildRequires: docbook-dtd BuildRequires: docbook-xsl-stylesheets BuildRequires: ghc-Cabal-devel BuildRequires: ghc-array-devel +BuildRequires: ghc-array-prof +BuildRequires: ghc-base-devel +BuildRequires: ghc-base-prof BuildRequires: ghc-containers-devel +BuildRequires: ghc-containers-prof BuildRequires: ghc-mtl-devel +BuildRequires: ghc-mtl-prof BuildRequires: ghc-rpm-macros BuildRequires: libxml2 BuildRequires: libxslt ExcludeArch: %{ix86} %if %{with tests} BuildRequires: ghc-process-devel +BuildRequires: ghc-process-prof %endif %description @@ -47,7 +52,6 @@ %prep %autosetup -cp -p %{SOURCE1} %{name}.cabal find . -type f -exec chmod -x {} + %build @@ -70,7 +74,7 @@ %files %license LICENSE -%doc CHANGES README.md TODO doc examples +%doc ChangeLog.md doc examples %{_bindir}/%{name} %dir %{_datadir}/%{name}-%{version} %{_mandir}/man1/* ++++++ happy-1.20.0.tar.gz -> happy-1.20.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/happy-1.20.0/ANNOUNCE new/happy-1.20.1.1/ANNOUNCE --- old/happy-1.20.0/ANNOUNCE 2001-09-09 03:46:40.000000000 +0200 +++ new/happy-1.20.1.1/ANNOUNCE 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -ANNOUNCING Happy 1.16 - The LALR(1) Parser Generator for Haskell - -I'm pleased to announce version 1.16 of Happy, the parser generator -system for Haskell. - -Changes from version 1.15 to 1.16 - - * Switch to a Cabal build system: you need a recent version of Cabal - (1.1.6 or later). If you have GHC 6.4.2, then you need to upgrade - Cabal before building Happy. GHC 6.6 is fine. - - * New %error directive - - * New production forms: {%% .. } and {%^ .. } - - * Added Attribute Grammar support, by Robert Dockins - -NOTE: Happy version 1.16 is required for building GHC version 6.6 and -later. - -Happy is available in source form (GHC 6.4.x or later and Cabal 1.1.6 -required), and we also provide binaries for some architectures. The -Happy homepage with links to the various distributions lives at: - - http://www.haskell.org/happy/ - -Please send any bug reports and comments to simon...@microsoft.com. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/happy-1.20.0/CHANGES new/happy-1.20.1.1/CHANGES --- old/happy-1.20.0/CHANGES 2001-09-09 03:46:40.000000000 +0200 +++ new/happy-1.20.1.1/CHANGES 1970-01-01 01:00:00.000000000 +0100 @@ -1,266 +0,0 @@ ------------------------------------------------------------------------------ -1.20.0 - - * Fix #121: the -i flag produces an .info file even if - the %expect pragma is violated - * Fix #131: qualify uses of Prelude functions in generated code - * Fix #161: drop fewer parse items when generating an .info file - * Introduce the %shift directive to resolve shift/reduce - conflicts explicitly, useful in conjunction with %expect 0 - * Remove the deprecated build configuration flag 'small_base' - ------------------------------------------------------------------------------ -1.19.12 - - * Fix for building with GHC 8.8.x - * Move custom Setup preprocessing steps into a separate - executable, like Alex - ------------------------------------------------------------------------------ -1.19.11 - - * Fix for building with GHC 8.6.x - ------------------------------------------------------------------------------ -1.19.10 - - * Fix polymorphic (rank-n) non-terminals - * Fix for GHC 8.8.1 - ------------------------------------------------------------------------------ - -1.19.9 - - * Fix cabal warnings - * Bump upper bounds - * Fix build with GHC 8.4.1-alpha - ------------------------------------------------------------------------------ -1.19.8 - - * Fix issue #94 (some grammars don't compile due to new type - signatures introduced to allow overloading to be used) - ------------------------------------------------------------------------------ -1.19.7 - - * Fix missing test suite files in the sdist - ------------------------------------------------------------------------------ -1.19.6 - * Manually generate Parser.hs using Makefile before sdist, - to fix bootstrapping problems with cabal sandboxes & new-build - * Documentation fixes - * Fixed GLR support - * new option -p/--pretty prints the grammar rules (only) to a file - * Added generation of additional type signatures to enable use - of typeclasses in monadic parsers. - ------------------------------------------------------------------------------ -1.19.5 - * fixes for GHC 7.10 - * Code cleanups (thanks Index Int <vlad.z.4...@gmail.com>) - ------------------------------------------------------------------------------ -1.19.4 - * fix for GHC 7.10 (Applicative/Monad, #19, #21) - ------------------------------------------------------------------------------ -1.19.3 - * fix for GHC 7.2 (#16) - ------------------------------------------------------------------------------ -1.19.2 - * fixes for clang (XCode 5) - ------------------------------------------------------------------------------ -1.19.1 - * repackaged to build with GHC 7.7+ - ------------------------------------------------------------------------------ -1.19 - * necessary changes to work with GHC 7.8 - ------------------------------------------------------------------------------ -1.18.10 - * Fix build with GHC 7.6 - ------------------------------------------------------------------------------ -1.18.8 - * Fix a packaging bug (cabal-install-0.10.2 didn't put the - Happy-generated files in the sdist) - ------------------------------------------------------------------------------ -1.18.7 - - * Fix a bug in error handling when using %monad without %lexer - ------------------------------------------------------------------------------ -Changes from version 1.17 to 1.18 - - * New feature: EBNF-style paramterized macros, thanks to - Iavor Diatchki. - * Works with Cabal 1.2, 1.4 and 1.6 - * A few minor bugfixes - ------------------------------------------------------------------------------ -Changes from version 1.16 to 1.17 - - * Cabal 1.2 is required - * Works with upcoming GHC 6.8.1 - * Fix the 'parE' bug (poor error message for errors in the grammar) - * Some performance improvements to Happy itself - ------------------------------------------------------------------------------ -Changes from version 1.15 to 1.16 - - * Switch to a Cabal build system: you need a recent version of Cabal - (1.1.6 or later). If you have GHC 6.4.2, then you need to upgrade - Cabal before building Happy. GHC 6.6 is fine. - - * New %error directive - - * New production forms: {%% .. } and {%^ .. } - - * Added Attribute Grammar support, by Robert Dockins - ------------------------------------------------------------------------------ -Changes from version 1.14 to 1.15 - - * New %expect directive - * the list of tokens passed to happyError now includes the current - token (not %lexer). - * added support for ambiguous grammars via Generalized LR parsing - * added %partial to indicate a parser that can return a result - before EOF is reached. - ------------------------------------------------------------------------------ -Changes from version 1.13 to 1.14 - - * New meta-variable $> represents the rightmost token. - - * Happy's OPTIONS pragma is merged with an existing one in - the grammar file, if any. - ------------------------------------------------------------------------------ -Changes from version 1.11 to 1.13 - - * Support for newer versions of GHC (>= 5.04). - - * Addition of an experimental flag: --strict. - ------------------------------------------------------------------------------ -Changes from version 1.10 to 1.11 - - * tokens no longer have a default precedence - if you - want a token to have a precedence, you have to declare it. - - * bugfix to templates for GHC on 64-bit platforms. - ------------------------------------------------------------------------------ -Changes from version 1.9 to 1.10 - - * bugfixes, and minor performance improvements, - - * most of the examples work again. - ------------------------------------------------------------------------------ -Changes from version 1.8 to 1.9 - - * A grammar may now contain several entry points, allowing - several parsers to share parts of the grammar. - - * Some bugfixes. - ------------------------------------------------------------------------------ -Changes from version 1.6 to 1.8 - - * Parser table compression, and more efficient - table encoding when used with GHC. Large grammars - can now be compiled in much less time/space than - before using GHC. - - * Yacc-style operator precedence, thanks to patches - from Hermann Oliveira Rodrigues <herm...@dcc.ufmg.br> - and Josef Svenningsson <jos...@cs.chalmers.se>. - - * A debug option which causes the generated parser to - print tracing information at each step during parsing. - ------------------------------------------------------------------------------ -Changes from version 1.5 to 1.6 - -* Now written in, and generates, Haskell 98. - -* Several bug fixes. - -* A new option, -c, generates parsers that use GHC's unsafeCoerce# - primitive to speed up parsing and cut down the binary size. - The -c option can only be used with the -g (GHC extensions) option. - -* Parsers generated with the -g option will compile to smaller binaries - now - some sources of parser-bloat were identified and squished. - -* Happy has a new Open Source license, based on the BSD license. - -* A sample Haskell parser using Happy is included. - ------------------------------------------------------------------------------ -Changes from version 1.2 to version 1.5 - -* Many bug fixes to the error recovery support, found by experimenting - with the Haskell grammar and layout. - -* Happy is about 5 times faster on large examples, due to some - changes in the LALR(1) algorithms. - ------------------------------------------------------------------------------ -Changes from version 0.9a to version 1.2 - -* Supports Haskell 1.4 - -* Lots of bugs fixed - -* Performance: the parser generator is at least 20% faster, and - generated parsers should be faster due to the replacement of a - data type with a newtype. - -* Simple error recovery: designed to be enough to implement the - Haskell layout rule. - -* Revamped monad support: the monad can now be threaded through - the lexer, enabling passing of state between the parser and the - lexer (handy for the Haskell layout rule), and consistent error - handling. - -* The %newline feature is removed, the same effect can be achieved - using the new monad support. - ------------------------------------------------------------------------------ -Changes from version 0.8 to 0.9: - -* Happy should be much faster than before. - -* Generated parsers will be 5-10% smaller. - -* Happy now compiles with ghc-0.26. - -* Support for monadic parsers via %monad (see the documentation). - -* New syntax: previously - - f :: { <type> } - f : ... - | ... - etc. - - can now be written - - f :: { <type> } - : ... - | ... - etc. - - (i.e. omit the extra 'f'. It was always ignored anyway :-) - -* Miscellaneous bug fixes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/happy-1.20.0/ChangeLog.md new/happy-1.20.1.1/ChangeLog.md --- old/happy-1.20.0/ChangeLog.md 1970-01-01 01:00:00.000000000 +0100 +++ new/happy-1.20.1.1/ChangeLog.md 2001-09-09 03:46:40.000000000 +0200 @@ -0,0 +1,264 @@ +# Revision history for Happy + +## 1.20.1 + +* Fix for building with mtl-2.3.1 (GHC 9.6) + +## 1.20.0 + +* Fix #121: the -i flag produces an .info file even if the `%expect` + pragma is violated +* Fix #131: qualify uses of Prelude functions in generated code +* Fix #161: drop fewer parse items when generating an .info file +* Introduce the `%shift` directive to resolve shift/reduce conflicts + explicitly, useful in conjunction with `%expect 0` +* Remove the deprecated build configuration flag `small_base` + +## 1.19.12 + +* Fix for building with GHC 8.8.x +* Move custom Setup preprocessing steps into a separate executable, like + Alex + +## 1.19.11 + +* Fix for building with GHC 8.6.x + +## 1.19.10 + +* Fix polymorphic (rank-n) non-terminals +* Fix for GHC 8.8.1 + + +## 1.19.9 + +* Fix cabal warnings +* Bump upper bounds +* Fix build with GHC 8.4.1-alpha + +## 1.19.8 + +* Fix issue #94 (some grammars don't compile due to new type signatures + introduced to allow overloading to be used) + +## 1.19.7 + +* Fix missing test suite files in the sdist + +## 1.19.6 + +* Manually generate Parser.hs using Makefile before sdist, to fix + bootstrapping problems with cabal sandboxes & new-build +* Documentation fixes +* Fixed GLR support +* New option `-p`/`--pretty` prints the grammar rules (only) to a file +* Added generation of additional type signatures to enable use of + typeclasses in monadic parsers. + +## 1.19.5 + +* Fixes for GHC 7.10 +* Code cleanups (thanks Index Int <vlad.z.4...@gmail.com>) + +## 1.19.4 + +* Fix for GHC 7.10 (Applicative/Monad, #19, #21) + +## 1.19.3 + +* Fix for GHC 7.2 (#16) + +## 1.19.2 + +* Fixes for clang (XCode 5) + +## 1.19.1 + +* Repackaged to build with GHC 7.7+ + +## 1.19 + +* Necessary changes to work with GHC 7.8 + +## 1.18.10 + +* Fix build with GHC 7.6 + +## 1.18.8 + +* Fix a packaging bug (cabal-install-0.10.2 didn't put the + Happy-generated files in the sdist) + +## 1.18.7 + +* Fix a bug in error handling when using `%monad` without `%lexer` + +## 1.18.5 --- 17 Jun 2010 + +## 1.18.4 --- 23 April 2009 + +## 1.18.2 --- 5 November 2008 + +## 1.18.1 --- 14 October 2008 + +## 1.18 --- 13 October 2008 + +* New feature: EBNF-style paramterized macros, thanks to + Iavor Diatchki. +* Works with Cabal 1.2, 1.4 and 1.6 +* A few minor bugfixes + +## 1.17 --- 22 October 2007 + +* Cabal 1.2 is required +* Works with upcoming GHC 6.8.1 +* Fix the `parE` bug (poor error message for errors in the grammar) +* Some performance improvements to Happy itself + +## 1.16 --- 8 January 2007 + +* Switch to a Cabal build system: you need a recent version of Cabal + (1.1.6 or later). If you have GHC 6.4.2, then you need to upgrade + Cabal before building Happy. GHC 6.6 is fine. + +* New `%error` directive + +* New production forms: `{%% .. }` and `{%^ .. }` + +* Added Attribute Grammar support, by Robert Dockins + +## 1.15 --- 14 January 2005 + +* New `%expect` directive +* The list of tokens passed to happyError now includes the current + token (not `%lexer`). +* Added support for ambiguous grammars via Generalized LR parsing +* Added `%partial` to indicate a parser that can return a result + before EOF is reached. + +## 1.14 --- 14 April 2004 + +* New meta-variable `$>` represents the rightmost token. + +* Happy's OPTIONS pragma is merged with an existing one in + the grammar file, if any. + +## 1.13 --- 19 June 2002 + +* Support for newer versions of GHC (>= 5.04). + +* Addition of an experimental flag: `--strict`. + +## 1.11 --- 25 September 2001 + +* Tokens no longer have a default precedence --- if you + want a token to have a precedence, you have to declare it. + +* Bugfix to templates for GHC on 64-bit platforms. + +## 1.10 + +* Bugfixes, and minor performance improvements, + +* Most of the examples work again. + +## 1.9 + +* A grammar may now contain several entry points, allowing + several parsers to share parts of the grammar. + +* Some bugfixes. + +## 1.8 + +* Parser table compression, and more efficient table encoding when used + with GHC. Large grammars can now be compiled in much less time/space + than before using GHC. + +* Yacc-style operator precedence, thanks to patches from Hermann + Oliveira Rodrigues <herm...@dcc.ufmg.br> and Josef Svenningsson + <jos...@cs.chalmers.se>. + +* A debug option which causes the generated parser to print tracing + information at each step during parsing. + +## 1.6 + +* Now written in, and generates, Haskell 98. + +* Several bug fixes. + +* A new option, `-c`, generates parsers that use GHC's `unsafeCoerce#` + primitive to speed up parsing and cut down the binary size. The `-c` + option can only be used with the -g (GHC extensions) option. + +* Parsers generated with the -g option will compile to smaller binaries + now --- some sources of parser-bloat were identified and squished. + +* Happy has a new Open Source license, based on the BSD license. + +* A sample Haskell parser using Happy is included. + +## 1.5 + +* Many bug fixes to the error recovery support, found by experimenting + with the Haskell grammar and layout. + +* Happy is about 5 times faster on large examples, due to some + changes in the LALR(1) algorithms. + +As of version 1.5, Happy is capable of parsing full Haskell. +We have a Haskell parser that uses Happy, which will shortly be part of the library collection distributed with GHC. + +## 1.2 + +* Supports Haskell 1.4 + +* Lots of bugs fixed + +* Performance: the parser generator is at least 20% faster, and + generated parsers should be faster due to the replacement of a + data type with a newtype. + +* Simple error recovery: designed to be enough to implement the + Haskell layout rule. + +* Revamped monad support: the monad can now be threaded through + the lexer, enabling passing of state between the parser and the + lexer (handy for the Haskell layout rule), and consistent error + handling. + +* The `%newline` feature is removed, the same effect can be achieved + using the new monad support. + +## 0.9 + +* Happy should be much faster than before. + +* Generated parsers will be 5-10% smaller. + +* Happy now compiles with ghc-0.26. + +* Support for monadic parsers via `%monad` (see the documentation). + +* New syntax: previously + + ```haskell + f :: { <type> } + f : ... + | ... + etc. + ``` + + can now be written + + ```haskell + f :: { <type> } + : ... + | ... + etc. + ``` + + (i.e. omit the extra `f`. It was always ignored anyway :-) + +* Miscellaneous bug fixes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/happy-1.20.0/Makefile new/happy-1.20.1.1/Makefile --- old/happy-1.20.0/Makefile 2001-09-09 03:46:40.000000000 +0200 +++ new/happy-1.20.1.1/Makefile 2001-09-09 03:46:40.000000000 +0200 @@ -1,6 +1,6 @@ CABAL = cabal -HAPPY = happy +HAPPY = happy HAPPY_OPTS = -agc HAPPY_VER = `awk '/^version:/ { print $$2 }' happy.cabal` @@ -8,6 +8,7 @@ ALEX_OPTS = -g SDIST_DIR=dist-newstyle/sdist +TARBALL="${SDIST_DIR}/happy-$(HAPPY_VER).tar.gz" GEN = src/gen/Parser.hs src/gen/AttrGrammarParser.hs @@ -29,10 +30,10 @@ $(HAPPY) $(HAPPY_OPTS) src/AttrGrammarParser.ly -o src/AttrGrammarParser.hs mv src/Parser.ly src/Parser.ly.boot mv src/AttrGrammarParser.ly src/AttrGrammarParser.ly.boot - $(CABAL) v2-run gen-happy-sdist + $(CABAL) v2-run gen-happy-sdist cabal v2-sdist - @if [ ! -f "${SDIST_DIR}/happy-$(HAPPY_VER).tar.gz" ]; then \ - echo "Error: source tarball not found: dist/happy-$(HAPPY_VER).tar.gz"; \ + @if [ ! -f "${TARBALL}" ]; then \ + echo "Error: source tarball not found: ${TARBALL}"; \ exit 1; \ fi git checkout . @@ -42,14 +43,18 @@ @rm -rf "${SDIST_DIR}/happy-${HAPPY_VER}/" sdist-test-only :: - @if [ ! -f "${SDIST_DIR}/happy-$(HAPPY_VER).tar.gz" ]; then \ - echo "Error: source tarball not found: ${SDIST_DIR}/happy-$(HAPPY_VER).tar.gz"; \ + @if [ ! -f "${TARBALL}" ]; then \ + echo "Error: source tarball not found: ${TARBALL}"; \ exit 1; \ fi rm -rf "${SDIST_DIR}/happy-$(HAPPY_VER)/" - tar -xf "${SDIST_DIR}/happy-$(HAPPY_VER).tar.gz" -C ${SDIST_DIR}/ + tar -xf "${TARBALL}" -C ${SDIST_DIR}/ echo "packages: ." > "${SDIST_DIR}/happy-$(HAPPY_VER)/cabal.project" cd "${SDIST_DIR}/happy-$(HAPPY_VER)/" && cabal v2-test --enable-tests all @echo "" - @echo "Success! ${SDIST_DIR}/happy-$(HAPPY_VER).tar.gz is ready for distribution!" + @echo "Success! ${TARBALL} is ready for distribution!" @echo "" + +# Export name of generated tarball for e.g. use in CI. +print-tarball: + @echo ${TARBALL} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/happy-1.20.0/README.md new/happy-1.20.1.1/README.md --- old/happy-1.20.0/README.md 2001-09-09 03:46:40.000000000 +0200 +++ new/happy-1.20.1.1/README.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ -# Happy - -Happy is a parser generator for Haskell 98 (and later). - -[](http://travis-ci.org/simonmar/happy) - -* https://www.haskell.org/happy/ -* http://hackage.haskell.org/package/happy - -Happy is built using Cabal. First install GHC, then: -``` - $ cabal install -``` -If you obtained the development version from https://github.com/simonmar/happy/, -install via: -``` - $ make sdist && cabal install -``` - -Complete documentation can be found in the directory 'doc', in -DocBook XML format. To format the documentation, the DocBook-Tools -suite (see http://wiki.docbook.org/DocBookTools) -provides all the bits & pieces you need. Alternatively, pre-formatted -documentation is available from Happy's homepage (URL above). - -The directory 'examples' contains some example parsers that use Happy. - -For information on copying and distributing this program, see the file -LICENSE in this directory. - -Bugs should be reported at: https://github.com/simonmar/happy/issues - -Happy Parsing! - -Simon. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/happy-1.20.0/TODO new/happy-1.20.1.1/TODO --- old/happy-1.20.0/TODO 2001-09-09 03:46:40.000000000 +0200 +++ new/happy-1.20.1.1/TODO 1970-01-01 01:00:00.000000000 +0100 @@ -1,59 +0,0 @@ -* happyError should take the current token as an argument in %lexer mode; - it's silly not to, because it means the monad has to keep track of the - previous token in order to report it in the error message. - -* BUG in error handling without %lexer: see tests/ParGF.y - -* allow polymorphic type signatures for productions. -* allow omitted semnatic values, defaulting to $1? - -* unlit properly - -* maintain indentation in code between { } so that layout works. - --OLD------------------------------------------------------------------------- - -1. Add in a simple lexical analyser - -2. Add in choice for lexical analyis - -%lexerstyle original -- the default -%lexerstyle auto -%lexerstyle monadic - ----[1] :: [Token] -> a --------------------------------------------------------- - - As things are now :-( - ----[2] :: String -> a ---------------------------------------------------------- - - Using the special lexer, as defined using - - %macro letter ( [A-Z][a-z] ) - %autotoken - id ( {letter}({digit}|{letter}) ) - ----[3] :: ParseM Token -> ParseM a --------------------------------------------- - - This presumes the exsitance of the defintions: - - type ParseM a b c = a -> ParseR a b - data ParseR a b c = ParseSucc a b | ParseFail c - thenPM :: a -> ParseM a b c - returnPM :: ParseM a b c -> (a -> ParseM d b c) -> ParseM d b c -> - - and is intended for *serious* parsers, like our Haskell parser. - - - You need to give a %eof - ------------------------------------------------------------------------------ - -****************************************************************************** - -ToAdd: - - --magic-name Sad - - allows other names to be used as the *Magic* name, currently - only Happy. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/happy-1.20.0/happy.cabal new/happy-1.20.1.1/happy.cabal --- old/happy-1.20.0/happy.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/happy-1.20.1.1/happy.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,11 +1,11 @@ name: happy -version: 1.20.0 +version: 1.20.1.1 license: BSD2 license-file: LICENSE copyright: (c) Andy Gill, Simon Marlow author: Andy Gill and Simon Marlow -maintainer: Simon Marlow <marlo...@gmail.com> -bug-reports: https://github.com/simonmar/happy/issues +maintainer: https://github.com/haskell/happy +bug-reports: https://github.com/haskell/happy/issues stability: stable homepage: https://www.haskell.org/happy/ synopsis: Happy is a parser generator for Haskell @@ -24,7 +24,13 @@ GHC==8.2.2, GHC==8.4.4, GHC==8.6.5, - GHC==8.8.1 + GHC==8.8.4, + GHC==8.10.7, + GHC==9.0.2, + GHC==9.2.5, + GHC==9.4.4, + GHC==9.6.0 + data-dir: data/ @@ -44,11 +50,8 @@ GLR_Lib-ghc-debug extra-source-files: - ANNOUNCE - CHANGES + ChangeLog.md Makefile - README.md - TODO doc/Makefile doc/aclocal.m4 doc/config.mk.in @@ -152,7 +155,7 @@ source-repository head type: git - location: https://github.com/simonmar/happy.git + location: https://github.com/haskell/happy.git executable happy hs-source-dirs: src @@ -187,6 +190,10 @@ ParamRules PrettyGrammar + if impl(ghc >= 9.2) + ghc-options: + -Wno-incomplete-uni-patterns + test-suite tests type: exitcode-stdio-1.0 main-is: test.hs @@ -195,4 +202,3 @@ build-depends: base, process default-language: Haskell98 - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/happy-1.20.0/src/AttrGrammarParser.hs new/happy-1.20.1.1/src/AttrGrammarParser.hs --- old/happy-1.20.0/src/AttrGrammarParser.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/happy-1.20.1.1/src/AttrGrammarParser.hs 2001-09-09 03:46:40.000000000 +0200 @@ -13,7 +13,7 @@ import Control.Applicative(Applicative(..)) import Control.Monad (ap) --- parser produced by Happy Version 1.19.12 +-- parser produced by Happy Version 1.20.0 newtype HappyAbsSyn = HappyAbsSyn HappyAny #if __GLASGOW_HASKELL__ >= 607 @@ -71,14 +71,14 @@ happyExpListPerState st = token_strs_expected where token_strs = ["error","%dummy","%start_agParser","agParser","rules","rule","code","code0","\"{\"","\"}\"","\";\"","\"=\"","where","selfRef","subRef","rightRef","unknown","%eof"] - bit_start = st * 18 - bit_end = (st + 1) * 18 + bit_start = st Prelude.* 18 + bit_end = (st Prelude.+ 1) Prelude.* 18 read_bit = readArrayBit happyExpList - bits = map read_bit [bit_start..bit_end - 1] - bits_indexed = zip bits [0..17] - token_strs_expected = concatMap f bits_indexed - f (False, _) = [] - f (True, nr) = [token_strs !! nr] + bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1] + bits_indexed = Prelude.zip bits [0..17] + token_strs_expected = Prelude.concatMap f bits_indexed + f (Prelude.False, _) = [] + f (Prelude.True, nr) = [token_strs Prelude.!! nr] happyActOffsets :: HappyAddr happyActOffsets = HappyA# "\x0f\x00\x0f\x00\x00\x00\xfe\xff\x0a\x00\xff\xff\x02\x00\x19\x00\x05\x00\x0a\x00\x0a\x00\x0a\x00\x00\x00\x01\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x0a\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x0a\x00\x00\x00\x01\x00\x00\x00\x00\x00"# @@ -124,8 +124,8 @@ (23 , happyReduce_23) ] -happy_n_terms = 11 :: Int -happy_n_nonterms = 5 :: Int +happy_n_terms = 11 :: Prelude.Int +happy_n_nonterms = 5 :: Prelude.Int happyReduce_1 :: () => Happy_GHC_Exts.Int# -> AgToken -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) happyReduce_1 = happySpecReduce_1 0# happyReduction_1 @@ -375,22 +375,22 @@ happyError_ explist _ tk = happyError' (tk, explist) happyThen :: () => P a -> (a -> P b) -> P b -happyThen = (>>=) +happyThen = (Prelude.>>=) happyReturn :: () => a -> P a -happyReturn = (return) +happyReturn = (Prelude.return) happyParse :: () => Happy_GHC_Exts.Int# -> P (HappyAbsSyn ) happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) happyDoAction :: () => Happy_GHC_Exts.Int# -> AgToken -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) -happyReduceArr :: () => Happy_Data_Array.Array Int (Happy_GHC_Exts.Int# -> AgToken -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )) +happyReduceArr :: () => Happy_Data_Array.Array Prelude.Int (Happy_GHC_Exts.Int# -> AgToken -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )) happyThen1 :: () => P a -> (a -> P b) -> P b happyThen1 = happyThen happyReturn1 :: () => a -> P a happyReturn1 = happyReturn -happyError' :: () => ((AgToken), [String]) -> P a +happyError' :: () => ((AgToken), [Prelude.String]) -> P a happyError' tk = (\(tokens, explist) -> happyError) tk agParser = happySomeParser where happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (let {(HappyWrap4 x') = happyOut4 x} in x')) @@ -417,9 +417,9 @@ -- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex. #if __GLASGOW_HASKELL__ > 706 -#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool) -#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool) -#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool) +#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Prelude.Bool) +#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Prelude.Bool) +#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Prelude.Bool) #else #define LT(n,m) (n Happy_GHC_Exts.<# m) #define GTE(n,m) (n Happy_GHC_Exts.>=# m) @@ -513,7 +513,7 @@ = {- nothing -} case action of 0# -> {- nothing -} - happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Int)) i tk st + happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Prelude.Int)) i tk st -1# -> {- nothing -} happyAccept i tk st n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -} @@ -526,10 +526,10 @@ off_i = (off Happy_GHC_Exts.+# i) check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#)) then EQ(indexShortOffAddr happyCheck off_i, i) - else False + else Prelude.False action | check = indexShortOffAddr happyTable off_i - | otherwise = indexShortOffAddr happyDefActions st + | Prelude.otherwise = indexShortOffAddr happyDefActions st @@ -550,7 +550,7 @@ readArrayBit arr bit = - Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `mod` 16) + Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `Prelude.mod` 16) where unbox_int (Happy_GHC_Exts.I# x) = x @@ -694,7 +694,7 @@ -- Internal happy errors: notHappyAtAll :: a -notHappyAtAll = error "Internal Happy error\n" +notHappyAtAll = Prelude.error "Internal Happy error\n" ----------------------------------------------------------------------------- -- Hack to get the typechecker to accept our action functions @@ -712,7 +712,7 @@ -- happySeq = happyDontSeq happyDoSeq, happyDontSeq :: a -> b -> b -happyDoSeq a b = a `seq` b +happyDoSeq a b = a `Prelude.seq` b happyDontSeq a b = b ----------------------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/happy-1.20.0/src/Grammar.lhs new/happy-1.20.1.1/src/Grammar.lhs --- old/happy-1.20.0/src/Grammar.lhs 2001-09-09 03:46:40.000000000 +0200 +++ new/happy-1.20.1.1/src/Grammar.lhs 2001-09-09 03:46:40.000000000 +0200 @@ -30,7 +30,8 @@ > import Data.List > import Data.Maybe (fromMaybe) -> import Control.Monad.Writer +> import Control.Monad +> import Control.Monad.Writer (Writer, mapWriter, runWriter, tell) > type Name = Int diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/happy-1.20.0/src/Parser.hs new/happy-1.20.1.1/src/Parser.hs --- old/happy-1.20.0/src/Parser.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/happy-1.20.1.1/src/Parser.hs 2001-09-09 03:46:40.000000000 +0200 @@ -14,7 +14,7 @@ import Control.Applicative(Applicative(..)) import Control.Monad (ap) --- parser produced by Happy Version 1.19.12 +-- parser produced by Happy Version 1.20.0 newtype HappyAbsSyn = HappyAbsSyn HappyAny #if __GLASGOW_HASKELL__ >= 607 @@ -170,14 +170,14 @@ happyExpListPerState st = token_strs_expected where token_strs = ["error","%dummy","%start_ourParser","parser","rules","rule","params","comma_ids","prods","prod","term","terms","terms_rev","comma_terms","prec","tokInfos","tokInfo","optStart","tokenSpecs","tokenSpec","ids","optCode","id","spec_tokentype","spec_token","spec_name","spec_partial","spec_lexer","spec_imported_identity","spec_monad","spec_nonassoc","spec_left","spec_right","spec_prec","spec_shift","spec_expect","spec_error","spec_errorhandlertype","spec_attribute","spec_attributetype","code","int","\":\"","\";\"","\"::\"","\"%%\"","\"|\"","\"(\"","\")\"","\",\"","%eof"] - bit_start = st * 51 - bit_end = (st + 1) * 51 + bit_start = st Prelude.* 51 + bit_end = (st Prelude.+ 1) Prelude.* 51 read_bit = readArrayBit happyExpList - bits = map read_bit [bit_start..bit_end - 1] - bits_indexed = zip bits [0..50] - token_strs_expected = concatMap f bits_indexed - f (False, _) = [] - f (True, nr) = [token_strs !! nr] + bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1] + bits_indexed = Prelude.zip bits [0..50] + token_strs_expected = Prelude.concatMap f bits_indexed + f (Prelude.False, _) = [] + f (Prelude.True, nr) = [token_strs Prelude.!! nr] happyActOffsets :: HappyAddr happyActOffsets = HappyA# "\x03\x00\x03\x00\x23\x00\x00\x00\x29\x00\xff\xff\x00\x00\x3e\x00\x4f\x00\x51\x00\x52\x00\x41\x00\x00\x00\x42\x00\x55\x00\x55\x00\x55\x00\x43\x00\x45\x00\x58\x00\x59\x00\x48\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x5f\x00\x5f\x00\x00\x00\x60\x00\x50\x00\x00\x00\x00\x00\x61\x00\x0b\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\x00\x00\x56\x00\x30\x00\x63\x00\x00\x00\x00\x00\xf9\xff\x00\x00\x64\x00\x57\x00\x00\x00\x0a\x00\x00\x00\x54\x00\x00\x00\x15\x00\x67\x00\x5a\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x5c\x00\x6d\x00\x00\x00\x6f\x00\x5d\x00\x70\x00\x00\x00\x70\x00\x00\x00\x00\x00\x62\x00\x00\x00\x14\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00"# @@ -254,8 +254,8 @@ (54 , happyReduce_54) ] -happy_n_terms = 30 :: Int -happy_n_nonterms = 19 :: Int +happy_n_terms = 30 :: Prelude.Int +happy_n_nonterms = 19 :: Prelude.Int happyReduce_1 :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) happyReduce_1 = happyReduce 5# 0# happyReduction_1 @@ -825,22 +825,22 @@ happyError_ explist _ tk = happyError' (tk, explist) happyThen :: () => P a -> (a -> P b) -> P b -happyThen = (>>=) +happyThen = (Prelude.>>=) happyReturn :: () => a -> P a -happyReturn = (return) +happyReturn = (Prelude.return) happyParse :: () => Happy_GHC_Exts.Int# -> P (HappyAbsSyn ) happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) happyDoAction :: () => Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ) -happyReduceArr :: () => Happy_Data_Array.Array Int (Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )) +happyReduceArr :: () => Happy_Data_Array.Array Prelude.Int (Happy_GHC_Exts.Int# -> Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )) happyThen1 :: () => P a -> (a -> P b) -> P b happyThen1 = happyThen happyReturn1 :: () => a -> P a happyReturn1 = happyReturn -happyError' :: () => ((Token), [String]) -> P a +happyError' :: () => ((Token), [Prelude.String]) -> P a happyError' tk = (\(tokens, explist) -> happyError) tk ourParser = happySomeParser where happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (let {(HappyWrap4 x') = happyOut4 x} in x')) @@ -867,9 +867,9 @@ -- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex. #if __GLASGOW_HASKELL__ > 706 -#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool) -#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool) -#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool) +#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Prelude.Bool) +#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Prelude.Bool) +#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Prelude.Bool) #else #define LT(n,m) (n Happy_GHC_Exts.<# m) #define GTE(n,m) (n Happy_GHC_Exts.>=# m) @@ -963,7 +963,7 @@ = {- nothing -} case action of 0# -> {- nothing -} - happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Int)) i tk st + happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Prelude.Int)) i tk st -1# -> {- nothing -} happyAccept i tk st n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -} @@ -976,10 +976,10 @@ off_i = (off Happy_GHC_Exts.+# i) check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#)) then EQ(indexShortOffAddr happyCheck off_i, i) - else False + else Prelude.False action | check = indexShortOffAddr happyTable off_i - | otherwise = indexShortOffAddr happyDefActions st + | Prelude.otherwise = indexShortOffAddr happyDefActions st @@ -1000,7 +1000,7 @@ readArrayBit arr bit = - Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `mod` 16) + Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `Prelude.mod` 16) where unbox_int (Happy_GHC_Exts.I# x) = x @@ -1144,7 +1144,7 @@ -- Internal happy errors: notHappyAtAll :: a -notHappyAtAll = error "Internal Happy error\n" +notHappyAtAll = Prelude.error "Internal Happy error\n" ----------------------------------------------------------------------------- -- Hack to get the typechecker to accept our action functions @@ -1162,7 +1162,7 @@ -- happySeq = happyDontSeq happyDoSeq, happyDontSeq :: a -> b -> b -happyDoSeq a b = a `seq` b +happyDoSeq a b = a `Prelude.seq` b happyDontSeq a b = b -----------------------------------------------------------------------------