On Wed, 28 Aug 2002, Dan Sugalski wrote: > How're we coming with the perl 6 regex stuff? What works, what > doesn't, and are we at a state where we can release something for > people to play with?
There are plenty of things, like anonymous rules, any of the builtin assertions, and modifiers, that simply aren't implemented. Backtracking control is in the code, but the current implementation needs to be taken out and redone, so it falls into this first category as well. I know that backtracking is not correct for stingy repetition, and for repetitions with a non-zero minimum count. What is implemented (in no particular order): - <[...]> character classes - many/most escaped characters (\R, \x..) and their complements (\R, \X). - alternations - stingy and greedy repetition (modulo backtracking issues) - interpolated arrays and scalars - code assertions ("<( $x + 23 > 5 )>") - named rules with parameters - (possibly recursive) calls to named rules (with params) - non-capturing groups - blocks of code ("/x+ { print 'hello' } .$/") What is tested: see t/rx/*.t. It could certainly use more testing, and if said testing doesn't uncover more bugs that I don't know about, I'll eat my keyboard. As to whether or not it's something that can be released for people to play with, I really can't say -- I think it's fun to play with, but that could be the parent's irrational fondness for his child. /s