diff options
author | sunpoet <sunpoet@FreeBSD.org> | 2015-01-02 00:08:27 +0800 |
---|---|---|
committer | sunpoet <sunpoet@FreeBSD.org> | 2015-01-02 00:08:27 +0800 |
commit | 3af9cf50838e6c4d63ffd11596d7afff327d0feb (patch) | |
tree | dfea417fa740c07b33a56a3bf34aaa090ed29a51 /devel | |
parent | 6218822c26918d2708fcda4ced957860ab31680e (diff) | |
download | freebsd-ports-gnome-3af9cf50838e6c4d63ffd11596d7afff327d0feb.tar.gz freebsd-ports-gnome-3af9cf50838e6c4d63ffd11596d7afff327d0feb.tar.zst freebsd-ports-gnome-3af9cf50838e6c4d63ffd11596d7afff327d0feb.zip |
- Add p5-Pegex 0.59
Pegex is an Acmeist parser framework. It allows you to easily create parsers
that will work equivalently in lots of programming languages! The inspiration
for Pegex comes from the parsing engine upon which the postmodern programming
language Perl 6 is based on. Pegex brings this beauty to the other justmodern
languages that have a normal regular expression engine available.
Pegex gets it name by combining Parsing Expression Grammars (PEG), with Regular
Expessions (Regex). That's actually what Pegex does.
PEG is the cool new way to elegantly specify recursive descent grammars. The
Perl 6 language is defined in terms of a self modifying PEG language called Perl
6 Rules. Regexes are familiar to programmers of most modern programming
languages. Pegex defines a simple PEG syntax, where all the terminals are
regexes. This means that Pegex can be quite fast and powerful.
Pegex attempts to be the simplest way to define new (or old) Domain Specific
Languages (DSLs) that need to be used in several programming languages and
environments. Things like JSON, YAML, Markdown etc. It also great for writing
parsers/compilers that only need to work in one language.
WWW: http://search.cpan.org/dist/Pegex/
Diffstat (limited to 'devel')
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/p5-Pegex/Makefile | 25 | ||||
-rw-r--r-- | devel/p5-Pegex/distinfo | 2 | ||||
-rw-r--r-- | devel/p5-Pegex/pkg-descr | 21 | ||||
-rw-r--r-- | devel/p5-Pegex/pkg-plist | 60 |
5 files changed, 109 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index 26fbb1b98718..406c65747cbe 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -2635,6 +2635,7 @@ SUBDIR += p5-Path-Resource SUBDIR += p5-Path-Tiny SUBDIR += p5-PathTools + SUBDIR += p5-Pegex SUBDIR += p5-Penguin SUBDIR += p5-Perl-Critic-Deprecated SUBDIR += p5-Perl-Metrics-Lite diff --git a/devel/p5-Pegex/Makefile b/devel/p5-Pegex/Makefile new file mode 100644 index 000000000000..5061f76d4b4b --- /dev/null +++ b/devel/p5-Pegex/Makefile @@ -0,0 +1,25 @@ +# Created by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= Pegex +PORTVERSION= 0.59 +CATEGORIES= devel perl5 +MASTER_SITES= CPAN +MASTER_SITE_SUBDIR= CPAN:INGY +PKGNAMEPREFIX= p5- + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Acmeist PEG Parser Framework + +LICENSE= ART10 GPLv1 +LICENSE_COMB= dual + +BUILD_DEPENDS= p5-JSON-XS>=0:${PORTSDIR}/converters/p5-JSON-XS \ + p5-YAML-LibYAML>=0:${PORTSDIR}/textproc/p5-YAML-LibYAML +RUN_DEPENDS:= ${BUILD_DEPENDS} +BUILD_DEPENDS+= p5-File-ShareDir-Install>=0.06:${PORTSDIR}/devel/p5-File-ShareDir-Install + +USE_PERL5= configure +USES= perl5 + +.include <bsd.port.mk> diff --git a/devel/p5-Pegex/distinfo b/devel/p5-Pegex/distinfo new file mode 100644 index 000000000000..478973bfdffe --- /dev/null +++ b/devel/p5-Pegex/distinfo @@ -0,0 +1,2 @@ +SHA256 (Pegex-0.59.tar.gz) = f6561f6884a0b7c54e7d41ad989c5732c788fed35f3bbb0b5c08c30456aa231e +SIZE (Pegex-0.59.tar.gz) = 149423 diff --git a/devel/p5-Pegex/pkg-descr b/devel/p5-Pegex/pkg-descr new file mode 100644 index 000000000000..44c6249f28f3 --- /dev/null +++ b/devel/p5-Pegex/pkg-descr @@ -0,0 +1,21 @@ +Pegex is an Acmeist parser framework. It allows you to easily create parsers +that will work equivalently in lots of programming languages! The inspiration +for Pegex comes from the parsing engine upon which the postmodern programming +language Perl 6 is based on. Pegex brings this beauty to the other justmodern +languages that have a normal regular expression engine available. + +Pegex gets it name by combining Parsing Expression Grammars (PEG), with Regular +Expessions (Regex). That's actually what Pegex does. + +PEG is the cool new way to elegantly specify recursive descent grammars. The +Perl 6 language is defined in terms of a self modifying PEG language called Perl +6 Rules. Regexes are familiar to programmers of most modern programming +languages. Pegex defines a simple PEG syntax, where all the terminals are +regexes. This means that Pegex can be quite fast and powerful. + +Pegex attempts to be the simplest way to define new (or old) Domain Specific +Languages (DSLs) that need to be used in several programming languages and +environments. Things like JSON, YAML, Markdown etc. It also great for writing +parsers/compilers that only need to work in one language. + +WWW: http://search.cpan.org/dist/Pegex/ diff --git a/devel/p5-Pegex/pkg-plist b/devel/p5-Pegex/pkg-plist new file mode 100644 index 000000000000..184a8243e3d6 --- /dev/null +++ b/devel/p5-Pegex/pkg-plist @@ -0,0 +1,60 @@ +%%SITE_PERL%%/Pegex.pm +%%SITE_PERL%%/Pegex.pod +%%SITE_PERL%%/Pegex/API.pod +%%SITE_PERL%%/Pegex/Base.pm +%%SITE_PERL%%/Pegex/Bootstrap.pm +%%SITE_PERL%%/Pegex/Bootstrap.pod +%%SITE_PERL%%/Pegex/Compiler.pm +%%SITE_PERL%%/Pegex/Compiler.pod +%%SITE_PERL%%/Pegex/Grammar.pm +%%SITE_PERL%%/Pegex/Grammar.pod +%%SITE_PERL%%/Pegex/Grammar/Atoms.pm +%%SITE_PERL%%/Pegex/Grammar/Atoms.pod +%%SITE_PERL%%/Pegex/Input.pm +%%SITE_PERL%%/Pegex/Input.pod +%%SITE_PERL%%/Pegex/Miscellany.pod +%%SITE_PERL%%/Pegex/Module.pm +%%SITE_PERL%%/Pegex/Module.pod +%%SITE_PERL%%/Pegex/Optimizer.pm +%%SITE_PERL%%/Pegex/Overview.pod +%%SITE_PERL%%/Pegex/Parser.pm +%%SITE_PERL%%/Pegex/Parser.pod +%%SITE_PERL%%/Pegex/Parser/Indent.pm +%%SITE_PERL%%/Pegex/Pegex/AST.pm +%%SITE_PERL%%/Pegex/Pegex/Grammar.pm +%%SITE_PERL%%/Pegex/Pegex/Grammar.pod +%%SITE_PERL%%/Pegex/Receiver.pm +%%SITE_PERL%%/Pegex/Receiver.pod +%%SITE_PERL%%/Pegex/Regex.pm +%%SITE_PERL%%/Pegex/Regex.pod +%%SITE_PERL%%/Pegex/Resources.pod +%%SITE_PERL%%/Pegex/Syntax.pod +%%SITE_PERL%%/Pegex/Tree.pm +%%SITE_PERL%%/Pegex/Tree.pod +%%SITE_PERL%%/Pegex/Tree/Wrap.pm +%%SITE_PERL%%/Pegex/Tree/Wrap.pod +%%SITE_PERL%%/Pegex/Tutorial.pod +%%SITE_PERL%%/Pegex/Tutorial/Calculator.pod +%%SITE_PERL%%/Pegex/Tutorial/JSON.pod +%%SITE_PERL%%/auto/share/dist/Pegex/pegex.pgx +%%PERL5_MAN3%%/Pegex.3.gz +%%PERL5_MAN3%%/Pegex::API.3.gz +%%PERL5_MAN3%%/Pegex::Bootstrap.3.gz +%%PERL5_MAN3%%/Pegex::Compiler.3.gz +%%PERL5_MAN3%%/Pegex::Grammar.3.gz +%%PERL5_MAN3%%/Pegex::Grammar::Atoms.3.gz +%%PERL5_MAN3%%/Pegex::Input.3.gz +%%PERL5_MAN3%%/Pegex::Miscellany.3.gz +%%PERL5_MAN3%%/Pegex::Module.3.gz +%%PERL5_MAN3%%/Pegex::Overview.3.gz +%%PERL5_MAN3%%/Pegex::Parser.3.gz +%%PERL5_MAN3%%/Pegex::Pegex::Grammar.3.gz +%%PERL5_MAN3%%/Pegex::Receiver.3.gz +%%PERL5_MAN3%%/Pegex::Regex.3.gz +%%PERL5_MAN3%%/Pegex::Resources.3.gz +%%PERL5_MAN3%%/Pegex::Syntax.3.gz +%%PERL5_MAN3%%/Pegex::Tree.3.gz +%%PERL5_MAN3%%/Pegex::Tree::Wrap.3.gz +%%PERL5_MAN3%%/Pegex::Tutorial.3.gz +%%PERL5_MAN3%%/Pegex::Tutorial::Calculator.3.gz +%%PERL5_MAN3%%/Pegex::Tutorial::JSON.3.gz |