Menhir is a LR(1) parser generator for the OCaml programming language.

It is 90% compatible to ocamlyacc (included with the OCaml distribution), and
it has some advantages over ocamlyacc, such as limited EBNF support, LR(1)
generation instead of LALR(1), better conflict explanation and production of
reentrant parsers (amongst others).

WWW: http://cristal.inria.fr/~fpottier/menhir

PR:		ports/109910
Submitted by:	Jaap Boender <jaapb at kerguelen.org>
This commit is contained in:
Martin Wilke 2007-03-06 19:17:44 +00:00
parent 6f1e8de2b8
commit 94b3d16759
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=186707
6 changed files with 91 additions and 0 deletions

View File

@ -683,6 +683,7 @@
SUBDIR += maven
SUBDIR += maven2
SUBDIR += memcheck
SUBDIR += menhir
SUBDIR += mercator
SUBDIR += mercurial
SUBDIR += meta-cvs

24
devel/menhir/Makefile Normal file
View File

@ -0,0 +1,24 @@
# New ports collection makefile for: menhir
# Date created: 5 March 2007
# Whom: Jaap Boender <jaapb@kerguelen.org>
#
# $FreeBSD$
#
PORTNAME= menhir
PORTVERSION= 20070215
CATEGORIES= devel
MASTER_SITES= http://cristal.inria.fr/~fpottier/menhir/
MAINTAINER= jaapb@kerguelen.org
COMMENT= LR(1) parser generator for OCaml
USE_GMAKE= yes
USE_OCAML= yes
DOCSDIR= ${PREFIX}/share/doc/ocaml/${PORTNAME}
MAKE_ENV+= DOCSDIR="${DOCSDIR}" OCAML_SITELIBDIR="${PREFIX}/${OCAML_SITELIBDIR}"
.include <bsd.port.pre.mk>
.include "${PORTSDIR}/lang/ocaml/bsd.ocaml.mk"
.include <bsd.port.post.mk>

3
devel/menhir/distinfo Normal file
View File

@ -0,0 +1,3 @@
MD5 (menhir-20070215.tar.gz) = e7a1682ae072293ef0718a97d8f57939
SHA256 (menhir-20070215.tar.gz) = 53eda84e6af031e22ea5d0de1f6701ec144ad664fb480ec27c2ccef3be22f920
SIZE (menhir-20070215.tar.gz) = 295465

View File

@ -0,0 +1,24 @@
--- Makefile.orig Thu Feb 15 11:03:08 2007
+++ Makefile Mon Mar 5 12:25:21 2007
@@ -50,9 +50,9 @@
EXECUTABLE := menhir
bindir := ${PREFIX}/bin
-docdir := ${PREFIX}/share/doc/$(EXECUTABLE)
-libdir := ${PREFIX}/share/$(EXECUTABLE)
-mandir := ${PREFIX}/share/man/man1
+docdir := ${DOCSDIR}
+libdir := ${OCAML_SITELIBDIR}/${EXECUTABLE}
+mandir := ${PREFIX}/man/man1
MANS := menhir.1
DOCS := manual.pdf demos
LIBS := standard.mly
@@ -75,7 +75,7 @@
# during bootstrap stage one.
stdlib.ml:
- echo "let path = \"${PREFIX}/share/menhir\"" > stdlib.ml
+ echo "let path = \"${OCAML_SITELIBDIR}/menhir\"" > stdlib.ml
# ----------------------------------------------------------------------------
# Installation.

7
devel/menhir/pkg-descr Normal file
View File

@ -0,0 +1,7 @@
Menhir is a LR(1) parser generator for the OCaml programming language.
It is 90% compatible to ocamlyacc (included with the OCaml distribution), and
it has some advantages over ocamlyacc, such as limited EBNF support, LR(1)
generation instead of LALR(1), better conflict explanation and production of
reentrant parsers (amongst others).
WWW: http://cristal.inria.fr/~fpottier/menhir

32
devel/menhir/pkg-plist Normal file
View File

@ -0,0 +1,32 @@
bin/menhir
%%OCAML_SITELIBDIR%%/menhir/standard.mly
%%DOCSDIR%%/manual.pdf
%%DOCSDIR%%/demos/Makefile
%%DOCSDIR%%/demos/Makefile.auto
%%DOCSDIR%%/demos/Makefile.shared
%%DOCSDIR%%/demos/OMakefile.shared
%%DOCSDIR%%/demos/calc/Makefile
%%DOCSDIR%%/demos/calc/OMakefile
%%DOCSDIR%%/demos/calc/OMakeroot
%%DOCSDIR%%/demos/calc/README
%%DOCSDIR%%/demos/calc/calc.ml
%%DOCSDIR%%/demos/calc/lexer.mll
%%DOCSDIR%%/demos/calc/parser.mly
%%DOCSDIR%%/demos/calc-two/Makefile
%%DOCSDIR%%/demos/calc-two/OMakefile
%%DOCSDIR%%/demos/calc-two/OMakeroot
%%DOCSDIR%%/demos/calc-two/README
%%DOCSDIR%%/demos/calc-two/algebraic.mly
%%DOCSDIR%%/demos/calc-two/calc.ml
%%DOCSDIR%%/demos/calc-two/lexer.mll
%%DOCSDIR%%/demos/calc-two/reverse.mly
%%DOCSDIR%%/demos/calc-two/tokens.mly
%%DOCSDIR%%/demos/ocamldep.wrapper
@dirrm %%OCAML_SITELIBDIR%%/menhir
@dirrm %%DOCSDIR%%/demos/calc
@dirrm %%DOCSDIR%%/demos/calc-two
@dirrm %%DOCSDIR%%/demos
@dirrm %%DOCSDIR%%
@dirrmtry share/doc/ocaml
@dirrmtry lib/ocaml/site-lib
@dirrmtry lib/ocaml