From 86cb3f82371a0fb24f335bfb276481d79e16bcc4 Mon Sep 17 00:00:00 2001 From: Pav Lucistnik Date: Fri, 29 Oct 2010 13:31:41 +0000 Subject: [PATCH] Combined scanner/parser generator for LR compliant grammar definitions. The generated C++ parser class is used as a super class from which a parser implementation class must be derived. The implementation class implements the scanner feed methods but also all required semantic action method. dragon has been used for several large projects with complex grammar definitions (about 200 productions/ 80 tokens ). Since for those grammar defintions, the analyse phase to build up the parse table is quite CPU intensive, it is recommended to use state of the art hardware. dragon requires the base package to get compiled but also for the compilation of the generated C++ code. It can be used for databases/cego and probably other applications. Many more details are available at: WWW: http://www.lemke-it.com/ PR: ports/150683 Submitted by: Kurt Jaeger --- devel/Makefile | 1 + devel/dragon/Makefile | 23 +++++++++++++++++++++++ devel/dragon/distinfo | 3 +++ devel/dragon/pkg-descr | 16 ++++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 devel/dragon/Makefile create mode 100644 devel/dragon/distinfo create mode 100644 devel/dragon/pkg-descr diff --git a/devel/Makefile b/devel/Makefile index 55053f12e6c1..e73c273d805a 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -316,6 +316,7 @@ SUBDIR += doxygen SUBDIR += dparser SUBDIR += dprog + SUBDIR += dragon SUBDIR += dreampie SUBDIR += drpython SUBDIR += dsss diff --git a/devel/dragon/Makefile b/devel/dragon/Makefile new file mode 100644 index 000000000000..c9990d630da3 --- /dev/null +++ b/devel/dragon/Makefile @@ -0,0 +1,23 @@ +# New ports collection makefile for: dragon +# Date created: 2010-09-17 +# Whom: Kurt Jaeger +# +# $FreeBSD$ + +PORTNAME= dragon +PORTVERSION= 1.3.7 +CATEGORIES= devel +MASTER_SITES= http://www.lemke-it.com/ +DISTNAME= dragon-${PORTVERSION} + +MAINTAINER= fbsd-ports@opsec.eu +COMMENT= Combined C++ scanner/parser generator for LR compliant grammars + +LIB_DEPENDS= lfc.1:${PORTSDIR}/devel/lfc + +LICENSE= GPLv2 +GNU_CONFIGURE= yes +USE_LDCONFIG= yes +PLIST_FILES= bin/dragon + +.include diff --git a/devel/dragon/distinfo b/devel/dragon/distinfo new file mode 100644 index 000000000000..7902c90723d0 --- /dev/null +++ b/devel/dragon/distinfo @@ -0,0 +1,3 @@ +MD5 (dragon-1.3.7.tar.gz) = 142500f27c91ae1739ec87ebe6262886 +SHA256 (dragon-1.3.7.tar.gz) = a7f505624985ffa249f1f123b57e9c70d44d06f16117a2b84d7e2b1093c8ecf2 +SIZE (dragon-1.3.7.tar.gz) = 123758 diff --git a/devel/dragon/pkg-descr b/devel/dragon/pkg-descr new file mode 100644 index 000000000000..6f7772c73771 --- /dev/null +++ b/devel/dragon/pkg-descr @@ -0,0 +1,16 @@ +Combined scanner/parser generator for LR compliant grammar definitions. + +The generated C++ parser class is used as a super class from which a parser +implementation class must be derived. The implementation class implements the +scanner feed methods but also all required semantic action method. dragon has +been used for several large projects with complex grammar definitions (about +200 productions/ 80 tokens ). Since for those grammar defintions, the analyse +phase to build up the parse table is quite CPU intensive, it is recommended to +use state of the art hardware. dragon requires the base package to get compiled +but also for the compilation of the generated C++ code. + +It can be used for databases/cego and probably other applications. + +Many more details are available at: + +WWW: http://www.lemke-it.com/