1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-18 03:46:03 +00:00

This is PIRE, Perl Incompatible Regular Expressions library.

This library is aimed at checking a huge amount of text against
relatively many regular expressions. Roughly speaking, it can just
check whether given text maches the certain regexp, but can do it
really fast (more than 400 MB/s on our hardware is common). Even more,
multiple regexps can be combined together, giving capability to
check the text against apx.10 regexps in a single pass (and mantaining
the same speed).

Since Pire examines each character only once, without any lookaheads
or rollbacks, spending about five machine instructions per each character,
it can be used even in realtime tasks.

On the other hand, Pire has very limited functionality (compared to
other regexp libraries). Pire does not have any Perlish conditional
regexps, lookaheads & backtrackings, greedy/nongreedy matches; neither
has it any capturing facilities.

Pire was developed in Yandex (http://company.yandex.ru/) as a part of its
web crawler.

WWW:	https://github.com/dprokoptsev/pire
This commit is contained in:
Dmitry Marakasov 2010-11-11 20:55:31 +00:00
parent 8673f1d6b6
commit ad368fc338
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=264418
5 changed files with 100 additions and 0 deletions

View File

@ -2620,6 +2620,7 @@
SUBDIR += pinba_engine
SUBDIR += pinstall
SUBDIR += pipestatus
SUBDIR += pire
SUBDIR += pkg-config
SUBDIR += plan9port
SUBDIR += pmake

38
devel/pire/Makefile Normal file
View File

@ -0,0 +1,38 @@
# New ports collection makefile for: pire
# Date created: 17 Jun 2010
# Whom: Dmitry Marakasov <amdmi3@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= pire
PORTVERSION= 0.0.3
CATEGORIES= devel
MASTER_SITES= http://cloud.github.com/downloads/dprokoptsev/${PORTNAME}/ \
http://mirror.amdmi3.ru/distfiles/
MAINTAINER= amdmi3@FreeBSD.org
COMMENT= Perl Incompatible Regular Expressions library
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_LDCONFIG= yes
MAKE_JOBS_SAFE= yes
OPTIONS= UNITTEST "Compile with unittest support" off
.include <bsd.port.options.mk>
.if defined(WITH_UNITTEST) || defined(PACKAGE_BUILDING)
BUILD_DEPENDS+= cppunit-config:${PORTSDIR}/devel/cppunit
CONFIGURE_ARGS= --with-cppunit-prefix=${LOCALBASE}
regression-test:
@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} check)
.endif
.if ${ARCH} == "ia64"
BROKEN= unittest fails, so the library is likely unuseable
.endif
.include <bsd.port.mk>

2
devel/pire/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (pire-0.0.3.tar.gz) = 2e67c29bee88785058ed94b7640cc5e2165fa3d6a67eb0a77925cb78348590fd
SIZE (pire-0.0.3.tar.gz) = 497575

23
devel/pire/pkg-descr Normal file
View File

@ -0,0 +1,23 @@
This is PIRE, Perl Incompatible Regular Expressions library.
This library is aimed at checking a huge amount of text against
relatively many regular expressions. Roughly speaking, it can just
check whether given text maches the certain regexp, but can do it
really fast (more than 400 MB/s on our hardware is common). Even
more, multiple regexps can be combined together, giving capability
to check the text against apx.10 regexps in a single pass (and
mantaining the same speed).
Since Pire examines each character only once, without any lookaheads
or rollbacks, spending about five machine instructions per each
character, it can be used even in realtime tasks.
On the other hand, Pire has very limited functionality (compared
to other regexp libraries). Pire does not have any Perlish conditional
regexps, lookaheads & backtrackings, greedy/nongreedy matches;
neither has it any capturing facilities.
Pire was developed in Yandex (http://company.yandex.ru/) as a part
of its web crawler.
WWW: https://github.com/dprokoptsev/pire

36
devel/pire/pkg-plist Normal file
View File

@ -0,0 +1,36 @@
bin/pigrep
bin/pire_inline
include/pire/align.h
include/pire/any.h
include/pire/defs.h
include/pire/determine.h
include/pire/encoding.h
include/pire/extra.h
include/pire/fsm.h
include/pire/fwd.h
include/pire/glue.h
include/pire/partition.h
include/pire/pire.h
include/pire/re_lexer.h
include/pire/re_parser.h
include/pire/run.h
include/pire/scanners/common.h
include/pire/scanners/loaded.h
include/pire/scanners/multi.h
include/pire/scanners/pair.h
include/pire/scanners/simple.h
include/pire/scanners/slow.h
include/pire/static_assert.h
include/pire/stub/defaults.h
include/pire/stub/lexical_cast.h
include/pire/stub/saveload.h
include/pire/stub/singleton.h
include/pire/stub/stl.h
include/pire/vbitset.h
lib/libpire.a
lib/libpire.la
lib/libpire.so
lib/libpire.so.0
@dirrm include/pire/stub
@dirrm include/pire/scanners
@dirrm include/pire