aboutsummaryrefslogtreecommitdiffstats
path: root/devel/hs-BNFC
diff options
context:
space:
mode:
authormiwi <miwi@FreeBSD.org>2007-02-11 20:30:38 +0800
committermiwi <miwi@FreeBSD.org>2007-02-11 20:30:38 +0800
commitad640136e2eaf09f54f1def1fb4d01f39cda7844 (patch)
treec9207850092eec0164b651592c76f074dfe270cf /devel/hs-BNFC
parentc2da20348420cf0ad789ab93a63dbd4236960c48 (diff)
downloadfreebsd-ports-gnome-ad640136e2eaf09f54f1def1fb4d01f39cda7844.tar.gz
freebsd-ports-gnome-ad640136e2eaf09f54f1def1fb4d01f39cda7844.tar.zst
freebsd-ports-gnome-ad640136e2eaf09f54f1def1fb4d01f39cda7844.zip
The BNF Converter is a compiler construction tool generating a
compiler front-end from a Labelled BNF grammar. It was originally written to generate Haskell, but starting from Version 2.0, it can also be used for generating Java, C++, and C. Given a Labelled BNF grammar the tool produces: * an abstract syntax as a Haskell/C++/C module or Java directory * a case skeleton for the abstract syntax in the same language * an Alex, JLex, or Flex lexer generator file * a Happy, CUP, or Bison parser generator file * a pretty-printer as a Haskell/Java/C++/C module * a Latex file containing a readable specification of the language WWW: http://www.cs.chalmers.se/~markus/BNFC/ PR: ports/109038 Submitted by: Kai Wang <kaiw27 at gmail.com>
Diffstat (limited to 'devel/hs-BNFC')
-rw-r--r--devel/hs-BNFC/Makefile37
-rw-r--r--devel/hs-BNFC/distinfo3
-rw-r--r--devel/hs-BNFC/pkg-descr15
-rw-r--r--devel/hs-BNFC/pkg-plist27
4 files changed, 82 insertions, 0 deletions
diff --git a/devel/hs-BNFC/Makefile b/devel/hs-BNFC/Makefile
new file mode 100644
index 000000000000..3bd6fe2a9cf8
--- /dev/null
+++ b/devel/hs-BNFC/Makefile
@@ -0,0 +1,37 @@
+# New ports collection makefile for: bnfc
+# Date created: 2007-02-11
+# Whom: Kai Wang <kaiw27@gmail.com>
+#
+# $FreeBSD$
+#
+
+PORTNAME= bnfc
+PORTVERSION= 2.3b
+CATEGORIES= devel
+MASTER_SITES= http://www.cs.chalmers.se/~markus/BNFC/ \
+ http://www.cs.chalmers.se/Cs/Grundutb/Kurser/komp/current/resources/
+DISTNAME= BNFC_${PORTVERSION}
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= kaiw27@gmail.com
+COMMENT= A Labelled BNF converter
+
+BUILD_DEPENDS= ghc:${PORTSDIR}/lang/ghc
+
+USE_GMAKE= yes
+
+.include <bsd.port.pre.mk>
+
+do-install:
+ ${INSTALL_DATA} ${WRKSRC}/bnfc ${PREFIX}/bin
+
+.if !defined(NOPORTDOCS)
+post-install:
+ ${RM} -f ${WRKSRC}/examples/haskell-core/.cvsignore
+ ${MKDIR} ${EXAMPLESDIR}
+ ${CP} -pR ${WRKSRC}/examples/* ${EXAMPLESDIR}
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/LBNF-report.tex ${DOCSDIR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/devel/hs-BNFC/distinfo b/devel/hs-BNFC/distinfo
new file mode 100644
index 000000000000..ebe527068d2d
--- /dev/null
+++ b/devel/hs-BNFC/distinfo
@@ -0,0 +1,3 @@
+MD5 (BNFC_2.3b.tgz) = 1c31e0ef06ed27032a0f50d1b0ea860d
+SHA256 (BNFC_2.3b.tgz) = 502245ca5624a1458f0a5ca1c928329a56e4da31c9fee496c327f0849f7361f7
+SIZE (BNFC_2.3b.tgz) = 338176
diff --git a/devel/hs-BNFC/pkg-descr b/devel/hs-BNFC/pkg-descr
new file mode 100644
index 000000000000..643baed2d898
--- /dev/null
+++ b/devel/hs-BNFC/pkg-descr
@@ -0,0 +1,15 @@
+The BNF Converter is a compiler construction tool generating a
+compiler front-end from a Labelled BNF grammar. It was originally
+written to generate Haskell, but starting from Version 2.0, it can
+also be used for generating Java, C++, and C.
+
+Given a Labelled BNF grammar the tool produces:
+
+ * an abstract syntax as a Haskell/C++/C module or Java directory
+ * a case skeleton for the abstract syntax in the same language
+ * an Alex, JLex, or Flex lexer generator file
+ * a Happy, CUP, or Bison parser generator file
+ * a pretty-printer as a Haskell/Java/C++/C module
+ * a Latex file containing a readable specification of the language
+
+WWW: http://www.cs.chalmers.se/~markus/BNFC/
diff --git a/devel/hs-BNFC/pkg-plist b/devel/hs-BNFC/pkg-plist
new file mode 100644
index 000000000000..e74a5547a228
--- /dev/null
+++ b/devel/hs-BNFC/pkg-plist
@@ -0,0 +1,27 @@
+bin/bnfc
+%%PORTDOCS%%%%DOCSDIR%%/LBNF-report.tex
+%%PORTDOCS%%%%EXAMPLESDIR%%/C4.cf
+%%PORTDOCS%%%%EXAMPLESDIR%%/JavaletteLight.cf
+%%PORTDOCS%%%%EXAMPLESDIR%%/OCL.cf
+%%PORTDOCS%%%%EXAMPLESDIR%%/Prolog.cf
+%%PORTDOCS%%%%EXAMPLESDIR%%/fstStudio.cf
+%%PORTDOCS%%%%EXAMPLESDIR%%/haskell-core/AbsCore.hcr
+%%PORTDOCS%%%%EXAMPLESDIR%%/haskell-core/Core.cf
+%%PORTDOCS%%%%EXAMPLESDIR%%/haskell-core/Hello.hcr
+%%PORTDOCS%%%%EXAMPLESDIR%%/haskell-core/ParCore.hcr
+%%PORTDOCS%%%%EXAMPLESDIR%%/haskell-core/README
+%%PORTDOCS%%%%EXAMPLESDIR%%/haskell-core/TopCore.hs
+%%PORTDOCS%%%%EXAMPLESDIR%%/haskell-core/notes.txt
+%%PORTDOCS%%%%EXAMPLESDIR%%/koe.jll
+%%PORTDOCS%%%%EXAMPLESDIR%%/koe2.c
+%%PORTDOCS%%%%EXAMPLESDIR%%/multi/Arithm.cf
+%%PORTDOCS%%%%EXAMPLESDIR%%/multi/TestArithm.hs
+%%PORTDOCS%%%%EXAMPLESDIR%%/multi/types/Types.cf
+%%PORTDOCS%%%%EXAMPLESDIR%%/multi/types/ex.old
+%%PORTDOCS%%%%EXAMPLESDIR%%/prolog.pl
+%%PORTDOCS%%%%EXAMPLESDIR%%/small.pl
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/multi/types
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/multi
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/haskell-core
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%