diff options
author | miwi <miwi@FreeBSD.org> | 2007-02-11 20:30:38 +0800 |
---|---|---|
committer | miwi <miwi@FreeBSD.org> | 2007-02-11 20:30:38 +0800 |
commit | ad640136e2eaf09f54f1def1fb4d01f39cda7844 (patch) | |
tree | c9207850092eec0164b651592c76f074dfe270cf /devel/hs-BNFC | |
parent | c2da20348420cf0ad789ab93a63dbd4236960c48 (diff) | |
download | freebsd-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/Makefile | 37 | ||||
-rw-r--r-- | devel/hs-BNFC/distinfo | 3 | ||||
-rw-r--r-- | devel/hs-BNFC/pkg-descr | 15 | ||||
-rw-r--r-- | devel/hs-BNFC/pkg-plist | 27 |
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%% |