Safe Regexep Engine - Poly time

[email protected] Thu, 03 Mar 2011 11:33:27 +0200
Newsgroups gmane.comp.jakarta.regexp.user
Message-ID <[email protected]>
To Jakarta Regexp Project,

My partner and I are first degree cs students in TAU and in our =20
Workshop we needed to fix
Jakarta's some time exponnential run time. We added to the 1.5 release =20
a new Class fully
adapted with compiler and debugger, that runs at poly time at the =20
expense of not
supporting backreference.

We Improved the Compiler to fully build the state machine when in =20
"Safe" mode. After that
the matching function was implemented according to Thompson's NFA =20
which assures
polynomial run time. here is a link to Thompson's Documents:
http://swtch.com/~rsc/regexp/regexp1.html

The "Safe" RE is fully working and is passing all of the inlibrary =20
tests as in RETest
class. It can not suppurt backreference and always match the shortest =20
known string,
however suppurts reluctanct and greedy opertors when have to: as in ^ =20
and $. behaves
exsactly as original RE including operators, greedy and parenthesis.

Another thing is that we added both in RE and Safe RE support for =20
reluctant {m,n}, an
issue needed solving on the original library.

Our Addition to the library is fully working, ducumented and accept on =20
backreference
operators even runs faster than the original. A user can choose if to =20
use original RE os
the Safe one. So the original library is still intact and working.

We would like to help your project and submit our addition to the =20
regexp engine. In order
to do that we need to know if there is any interest in our addition, =20
and what are the
formalities in these cases?

Thanks for reading,
Eyal Itkin & Tomer Levy, Tel Aviv University.