initial import of happy-1.13, from Don Stewart <dons at cse.unsw.edu.au>

with minor tweaks by me.

--
Happy - The LALR(1) Parser Generator for Haskell

Happy is a parser generator system for Haskell, similar to the
tool `yacc' for C. Like `yacc', it takes a file containing an
annotated BNF specification of a grammar and produces a Haskell
module containing a parser for the grammar.

Happy is flexible: you can have several Happy parsers in the same
program, and several entry points to a single grammar. Happy can
work in conjunction with a lexical analyser supplied by the user
(either hand-written or generated by another program), or it can
parse a stream of characters directly.
This commit is contained in:
avsm 2003-07-23 19:09:34 +00:00
parent 19c0578583
commit a184708e4f
5 changed files with 141 additions and 0 deletions

40
devel/happy/Makefile Normal file
View File

@ -0,0 +1,40 @@
# $OpenBSD: Makefile,v 1.1.1.1 2003/07/23 19:09:34 avsm Exp $
COMMENT= "parser generator for Haskell 98"
V= 1.13
DISTNAME= happy-${V}
CATEGORIES= devel
HOMEPAGE= http://www.haskell.org/ghc/
MAINTAINER= Don Stewart <dons@cse.unsw.edu.au>
# BSD style w/o advertising clause
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MODULES= ghc
HASKELL= http://www.haskell.org
MASTER_SITES= ${HASKELL}/happy/dist/${V}/
MASTER_SITES0= ${HASKELL}/happy/
MASTER_SITES1= ftp://ftp.cse.unsw.edu.au/pub/users/dons/happy/
DOC_FILE= happy-${V}-html
DOC_DIR= ${PREFIX}/share/doc/happy
DISTFILES= happy-${V}-src.tar.gz \
${DOC_FILE:C/(.+)/\1.tar.gz:0/g} \
happy-regress-${V}.tar.gz:1
USE_GMAKE= Yes
CONFIGURE_STYLE=gnu dest
CONFIGURE_ENV= SGML_CATALOG_FILES=${LOCALBASE}/share/sgml/catalog
post-install:
${INSTALL_DATA_DIR} ${DOC_DIR}
@cp -R ${WRKDIR}/${DOC_FILE}/* ${DOC_DIR}
.include <bsd.port.mk>

9
devel/happy/distinfo Normal file
View File

@ -0,0 +1,9 @@
MD5 (happy-1.13-html.tar.gz) = 51efdaf608edf3a276a8ad7896eecafc
MD5 (happy-1.13-src.tar.gz) = d17619ae6e2caf883651d88be38dfd8a
MD5 (happy-regress-1.13.tar.gz) = bb89554af5dbbd72946b8c2299bd873f
RMD160 (happy-1.13-html.tar.gz) = 4d396bd921536ec0f736cdb70aad5d8c38a3a6f7
RMD160 (happy-1.13-src.tar.gz) = dd70a56632ec0419a79ac3c70d95361adfa566e4
RMD160 (happy-regress-1.13.tar.gz) = b8f72a8edcf088a3242189b66ef037d9593a12c6
SHA1 (happy-1.13-html.tar.gz) = c9360b734ed6a3a59831cf784b4db0e4d86f9116
SHA1 (happy-1.13-src.tar.gz) = 1a030727a5d5b6be45fd64e2cb308c612d1169fb
SHA1 (happy-regress-1.13.tar.gz) = 85bfb540b27a18e84d8b5d3bf29fba52cadf01ff

View File

@ -0,0 +1,26 @@
Add a nice regress target
--- Makefile.orig Wed Jun 19 23:48:31 2002
+++ Makefile Wed Jul 23 12:45:05 2003
@@ -368,3 +368,21 @@
# -----------------------------------------------------------------------------
+TEST_RESULT=actual.result
+
+check::
+ @( cd happy/tests/ ; ${MAKE} | tee ../../${TEST_RESULT}.raw )
+ @( sed '1d;$$d' ${TEST_RESULT}.raw > ${TEST_RESULT} )
+ @(if cmp -s expected.result ${TEST_RESULT} ; then \
+ echo ;\
+ echo "All is good!" ; \
+ echo ;\
+ else \
+ echo ;\
+ echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@";\
+ echo "Unexpected regress results!" ;\
+ echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@";\
+ echo ;\
+ echo "here is a diff:" ;\
+ diff -u expected.result ${TEST_RESULT} ;\
+ fi ; exit 0 )

12
devel/happy/pkg/DESCR Normal file
View File

@ -0,0 +1,12 @@
Happy - The LALR(1) Parser Generator for Haskell
Happy is a parser generator system for Haskell, similar to the
tool `yacc' for C. Like `yacc', it takes a file containing an
annotated BNF specification of a grammar and produces a Haskell
module containing a parser for the grammar.
Happy is flexible: you can have several Happy parsers in the same
program, and several entry points to a single grammar. Happy can
work in conjunction with a lexical analyser supplied by the user
(either hand-written or generated by another program), or it can
parse a stream of characters directly.

54
devel/happy/pkg/PLIST Normal file
View File

@ -0,0 +1,54 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2003/07/23 19:09:34 avsm Exp $
bin/happy
bin/happy-1.13
lib/happy-1.13/happy.bin
lib/happy-1.13/happy/HappyTemplate
lib/happy-1.13/happy/HappyTemplate-arrays
lib/happy-1.13/happy/HappyTemplate-arrays-coerce
lib/happy-1.13/happy/HappyTemplate-arrays-coerce-debug
lib/happy-1.13/happy/HappyTemplate-arrays-debug
lib/happy-1.13/happy/HappyTemplate-arrays-ghc
lib/happy-1.13/happy/HappyTemplate-arrays-ghc-debug
lib/happy-1.13/happy/HappyTemplate-coerce
lib/happy-1.13/happy/HappyTemplate-ghc
share/doc/happy/docbook.css
share/doc/happy/happy-introduction.html
share/doc/happy/happy.html
share/doc/happy/sec-compilation-time.html
share/doc/happy/sec-conflict-tips.html
share/doc/happy/sec-directives.html
share/doc/happy/sec-error.html
share/doc/happy/sec-finding-errors.html
share/doc/happy/sec-grammar-files.html
share/doc/happy/sec-grammar.html
share/doc/happy/sec-happy-ghci.html
share/doc/happy/sec-info-files.html
share/doc/happy/sec-invoking.html
share/doc/happy/sec-license.html
share/doc/happy/sec-module-header.html
share/doc/happy/sec-module-trailer.html
share/doc/happy/sec-monads.html
share/doc/happy/sec-multiple-parsers.html
share/doc/happy/sec-obtaining.html
share/doc/happy/sec-precedences.html
share/doc/happy/sec-reporting-bugs.html
share/doc/happy/sec-sequences.html
share/doc/happy/sec-tips.html
share/doc/happy/sec-type-signatures.html
share/doc/happy/sec-using.html
share/doc/happy/stylesheet-images/caution.gif
share/doc/happy/stylesheet-images/home.gif
share/doc/happy/stylesheet-images/important.gif
share/doc/happy/stylesheet-images/next.gif
share/doc/happy/stylesheet-images/note.gif
share/doc/happy/stylesheet-images/prev.gif
share/doc/happy/stylesheet-images/tip.gif
share/doc/happy/stylesheet-images/toc-blank.gif
share/doc/happy/stylesheet-images/toc-minus.gif
share/doc/happy/stylesheet-images/toc-plus.gif
share/doc/happy/stylesheet-images/up.gif
share/doc/happy/stylesheet-images/warning.gif
@dirrm share/doc/happy/stylesheet-images
@dirrm share/doc/happy
@dirrm lib/happy-1.13/happy
@dirrm lib/happy-1.13