From 1c588756cc9814601beecb27df11fe37bf6d7db2 Mon Sep 17 00:00:00 2001 From: Aaron Dalton Date: Mon, 15 May 2006 06:53:27 +0000 Subject: Adding port math/p5-Math-SymbolicX-ParserExtensionFactory, Generate parser extensions Approved by: tobez (implicit) --- .../Makefile | 31 ++++++++++++++++++ .../distinfo | 3 ++ .../pkg-descr | 38 ++++++++++++++++++++++ .../pkg-plist | 7 ++++ 4 files changed, 79 insertions(+) create mode 100644 math/p5-Math-SymbolicX-ParserExtensionFactory/Makefile create mode 100644 math/p5-Math-SymbolicX-ParserExtensionFactory/distinfo create mode 100644 math/p5-Math-SymbolicX-ParserExtensionFactory/pkg-descr create mode 100644 math/p5-Math-SymbolicX-ParserExtensionFactory/pkg-plist (limited to 'math/p5-Math-SymbolicX-ParserExtensionFactory') diff --git a/math/p5-Math-SymbolicX-ParserExtensionFactory/Makefile b/math/p5-Math-SymbolicX-ParserExtensionFactory/Makefile new file mode 100644 index 000000000000..4ca6594ba1f1 --- /dev/null +++ b/math/p5-Math-SymbolicX-ParserExtensionFactory/Makefile @@ -0,0 +1,31 @@ +# New ports collection makefile for: Math-SymbolicX-ParserExtensionFactory +# Date created: 15 May 2006 +# Whom: Aaron Dalton +# +# $FreeBSD$ +# + +PORTNAME= Math-SymbolicX-ParserExtensionFactory +PORTVERSION= 1.00 +CATEGORIES= math perl5 +MASTER_SITES= ${MASTER_SITE_PERL_CPAN} +MASTER_SITE_SUBDIR= Math +PKGNAMEPREFIX= p5- + +MAINTAINER= aaron@FreeBSD.org +COMMENT= Generate parser extensions + +BUILD_DEPENDS= ${SITE_PERL}/Math/Symbolic.pm:${PORTSDIR}/math/p5-Math-Symbolic +RUN_DEPENDS= ${BUILD_DEPENDS} + +MAN3= Math::SymbolicX::ParserExtensionFactory.3 + +PERL_CONFIGURE= yes + +.include + +.if ${PERL_LEVEL} < 500600 +IGNORE= requires at least Perl 5.6 due to dependencies. Please install lang/perl5.8 and try again +.endif + +.include diff --git a/math/p5-Math-SymbolicX-ParserExtensionFactory/distinfo b/math/p5-Math-SymbolicX-ParserExtensionFactory/distinfo new file mode 100644 index 000000000000..ddd0912d8e4a --- /dev/null +++ b/math/p5-Math-SymbolicX-ParserExtensionFactory/distinfo @@ -0,0 +1,3 @@ +MD5 (Math-SymbolicX-ParserExtensionFactory-1.00.tar.gz) = f9f9cd7ed2e65c3378824833320b4512 +SHA256 (Math-SymbolicX-ParserExtensionFactory-1.00.tar.gz) = d6343cc4260f0bf6e52a31f97030fe0faa7ea25a1cc33d0a1754968f1e3d38e3 +SIZE (Math-SymbolicX-ParserExtensionFactory-1.00.tar.gz) = 5481 diff --git a/math/p5-Math-SymbolicX-ParserExtensionFactory/pkg-descr b/math/p5-Math-SymbolicX-ParserExtensionFactory/pkg-descr new file mode 100644 index 000000000000..0a0cb788d5dc --- /dev/null +++ b/math/p5-Math-SymbolicX-ParserExtensionFactory/pkg-descr @@ -0,0 +1,38 @@ +This module provides a simple way to extend the Math::Symbolic parser with +arbitrary functions that return any valid Math::Symbolic tree. The return +value of the function call is inserted into the complete parse tree at the +point at which the function call is parsed. Familiarity with the +Math::Symbolic module will be assumed throughout the documentation. + +This module is not object oriented. It does not export anything. You +should not call any subroutines directly nor should you modify any class +data directly. The complete interface is the call to use +Math::SymbolicX::ParserExtensionFactory and its arguments. The reason for +the long module name is that you should not have to call it multiple times +in your code because it modifies the parser for good. It is intended to be +a pain to type. :-) + +The aim of the module is to allow for hooks into the parser without +modifying the parser yourself because that requires rather in-depth +knowledge of the module code. By specifying key => value pairs of function +names and function implementations (code references) as arguments to the +use() call of the module, this module extends the parser that is stored in +the $Math::Symbolic::Parser variable with the specified functions and +whenever "yourfunction(any argument string not containing an unescaped \) +)" occurs in the code, the subroutine reference is called with the +argument string as argument. + +The subroutine is expected to return any Math::Symbolic tree. That means, +as of version 0.133, a Math::Symbolic::Operator, a +Math::Symbolic::Variable, or a Math::Symbolic::Constant object. The +returned object will be incorporated into the Math::Symbolic tree that +results from the parse at the exact position at which the custom function +call was parsed. + +Please note that the usage of this module will be quite slow at compile +time because it has to regenerate the complete Math::Symbolic parser the +first time you use this module in your code. The run time performance +penalty should be low, however. + +WWW: http://search.cpan.org/dist/Math-SymbolicX-ParserExtensionFactory +Author: Steffen Mueller diff --git a/math/p5-Math-SymbolicX-ParserExtensionFactory/pkg-plist b/math/p5-Math-SymbolicX-ParserExtensionFactory/pkg-plist new file mode 100644 index 000000000000..84f8a96b19f1 --- /dev/null +++ b/math/p5-Math-SymbolicX-ParserExtensionFactory/pkg-plist @@ -0,0 +1,7 @@ +%%SITE_PERL%%/Math/SymbolicX/ParserExtensionFactory.pm +%%SITE_PERL%%/%%PERL_ARCH%%/auto/Math/SymbolicX/ParserExtensionFactory/.packlist +@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Math/SymbolicX/ParserExtensionFactory +@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Math/SymbolicX +@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Math +@dirrmtry %%SITE_PERL%%/Math/SymbolicX +@dirrmtry %%SITE_PERL%%/Math -- cgit v1.2.3