1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-25 04:43:33 +00:00

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>
This commit is contained in:
Martin Wilke 2007-02-11 12:30:38 +00:00
parent e9c645ef8a
commit 9284de6ed8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=184874
9 changed files with 165 additions and 0 deletions

View File

@ -96,6 +96,7 @@
SUBDIR += bison2
SUBDIR += bisongen
SUBDIR += bnf
SUBDIR += bnfc
SUBDIR += boaconstructor
SUBDIR += boehm-gc
SUBDIR += bonobo

37
devel/bnfc/Makefile Normal file
View File

@ -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>

3
devel/bnfc/distinfo Normal file
View File

@ -0,0 +1,3 @@
MD5 (BNFC_2.3b.tgz) = 1c31e0ef06ed27032a0f50d1b0ea860d
SHA256 (BNFC_2.3b.tgz) = 502245ca5624a1458f0a5ca1c928329a56e4da31c9fee496c327f0849f7361f7
SIZE (BNFC_2.3b.tgz) = 338176

15
devel/bnfc/pkg-descr Normal file
View File

@ -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/

27
devel/bnfc/pkg-plist Normal file
View File

@ -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%%

37
devel/hs-BNFC/Makefile Normal file
View File

@ -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>

3
devel/hs-BNFC/distinfo Normal file
View File

@ -0,0 +1,3 @@
MD5 (BNFC_2.3b.tgz) = 1c31e0ef06ed27032a0f50d1b0ea860d
SHA256 (BNFC_2.3b.tgz) = 502245ca5624a1458f0a5ca1c928329a56e4da31c9fee496c327f0849f7361f7
SIZE (BNFC_2.3b.tgz) = 338176

15
devel/hs-BNFC/pkg-descr Normal file
View File

@ -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/

27
devel/hs-BNFC/pkg-plist Normal file
View File

@ -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%%