From f254b23578a9a53a56e6cea980ba588e5f830314 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Wed, 13 Apr 2011 23:25:17 +0000 Subject: Regular expression engine is started, it's...tricky, but I think I can get it. --- src/tests/regex.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/tests/regex.cpp (limited to 'src/tests/regex.cpp') diff --git a/src/tests/regex.cpp b/src/tests/regex.cpp new file mode 100644 index 0000000..82c3466 --- /dev/null +++ b/src/tests/regex.cpp @@ -0,0 +1,40 @@ +#include +#include +#include + +using namespace Bu; + +void compile( const Bu::String &s, Bu::RegExEngine &ree ) +{ + int iRoot = ree.addState(); + int iCur = iRoot; + for( Bu::String::const_iterator i = s.begin(); i; i++ ) + { + int iNext = -1; + if( i+1 ) + iNext = ree.addState(); + ree.addCompletion( iCur, *i, *i, iNext ); + iCur = iNext; + } +} + +int main() +{ + Bu::String sRegEx("abcd"); + Bu::String sMatch("abcdefg"); + + Bu::RegExEngine ree; + + compile( sRegEx, ree ); + + bool bRet; + int iSize, iCompletion; + bRet = ree.match( sMatch, iSize, iCompletion ); + + sio << "Matched: " << bRet << sio.nl + << "Size: " << iSize << sio.nl + << "Completion: " << iCompletion << sio.nl; + + return 0; +} + -- cgit v1.2.3