diff -r 761793cce563 -r c2d36c3cf8ad progs/tests/totest.txt --- a/progs/tests/totest.txt Thu Jun 09 12:31:02 2016 +0100 +++ b/progs/tests/totest.txt Fri Jun 10 23:53:46 2016 +0100 @@ -1,79 +1,80 @@ -01 a+ xaax (1,3) +#01 a+ xaax (1,3) 03 (a?)((ab)?) ab (0,2)(0,0)(0,2)(0,2) -04 (a?)((ab)?)(b?) ab (0,2)(0,1)(1,1)(?,?)(1,2) +04 (a?)((ab)?)(b?) ab (0,2)(0,0)(0,2)(0,2)(2,2) 05 ((a?)((ab)?))(b?) ab (0,2)(0,2)(0,0)(0,2)(0,2)(2,2) -06 (a?)(((ab)?)(b?)) ab (0,2)(0,1)(1,2)(1,1)(?,?)(1,2) +06 (a?)(((ab)?)(b?)) ab (0,2)(0,1)(1,2)(1,1)(1,2) 07 (.?) x (0,1)(0,1) -08 (.?){1} x (0,1)(0,1) +#08 (.?){1} x (0,1)(0,1) 09 (.?)(.?) x (0,1)(0,1)(1,1) -10 (.?){2} x (0,1)(1,1) +#10 (.?){2} x (0,1)(1,1) 11 (.?)* x (0,1)(0,1) -12 (.?.?) xxx (0,2)(0,2) -13 (.?.?){1} xxx (0,2)(0,2) +#12 (.?.?) xxx (0,2)(0,2) +12 (.?.?.?) xxx (0,3)(0,3) +#13 (.?.?){1} xxx (0,2)(0,2) 14 (.?.?)(.?.?) xxx (0,3)(0,2)(2,3) -15 (.?.?){2} xxx (0,3)(2,3) +#15 (.?.?){2} xxx (0,3)(2,3) 16 (.?.?)(.?.?)(.?.?) xxx (0,3)(0,2)(2,3)(3,3) -17 (.?.?){3} xxx (0,3)(3,3) -18 (.?.?)* xxx (0,3)(2,3) -19 a?((ab)?)(b?) ab (0,2)(1,1)(?,?)(1,2) -20 (a?)((ab)?)b? ab (0,2)(0,1)(1,1)(?,?) -21 a?((ab)?)b? ab (0,2)(1,1)(?,?) -22 (a*){2} xxxxx (0,0)(0,0) +#17 (.?.?){3} xxx (0,3)(3,3) +18 (.?.?)* xxx (0,3)(0,2)(2,3) +19 a?((ab)?)(b?) ab (0,2)(0,2)(0,2)(2,2) +20 (a?)((ab)?)b? ab (0,2)(0,0)(0,2)(0,2) +21 a?((ab)?)b? ab (0,2)(0,2)(0,2) +#22 (a*){2} xxxxx (0,0)(0,0) 23 (ab?)(b?a) aba (0,3)(0,2)(2,3) 24 (a|ab)(ba|a) aba (0,3)(0,2)(2,3) -25 (a|ab|ba) aba (0,2)(0,2) +#25 (a|ab|ba) aba (0,2)(0,2) 26 (a|ab|ba)(a|ab|ba) aba (0,3)(0,2)(2,3) -27 (a|ab|ba)* aba (0,3)(2,3) -28 (aba|a*b) ababa (0,3)(0,3) +27 (a|ab|ba)* aba (0,3)(0,2)(2,3) +#28 (aba|a*b) ababa (0,3)(0,3) 29 (aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5) -1029 (aba|a*b)(aba|a*b)(aba|a*b) ababa NOMATCH -30 (aba|a*b)* ababa (0,5)(2,5) -31 (aba|ab|a) ababa (0,3)(0,3) +#1029 (aba|a*b)(aba|a*b)(aba|a*b) ababa NOMATCH +30 (aba|a*b)* ababa (0,5)(0,2)(2,5) +#31 (aba|ab|a) ababa (0,3)(0,3) 32 (aba|ab|a)(aba|ab|a) ababa (0,5)(0,2)(2,5) 1032 (aba|ab|a)(aba|ab|a)(aba|ab|a) ababa (0,5)(0,2)(2,4)(4,5) -33 (aba|ab|a)* ababa (0,5)(2,5) -34 (a(b)?) aba (0,2)(0,2)(1,2) -35 (a(b)?)(a(b)?) aba (0,3)(0,2)(1,2)(2,3)(?,?) -36 (a(b)?)+ aba (0,3)(2,3)(?,?) +33 (aba|ab|a)* ababa (0,5)(0,2)(2,5) +#34 (a(b)?) aba (0,2)(0,2)(1,2) +35 (a(b)?)(a(b)?) aba (0,3)(0,2)(1,2)(2,3) +36 (a(b)?)+ aba (0,3)(0,2)(1,2)(2,3) 37 (.*)(.*) xx (0,2)(0,2)(2,2) 38 .*(.*) xx (0,2)(2,2) -39 (a.*z|b.*y) azbazby (0,5)(0,5) +#39 (a.*z|b.*y) azbazby (0,5)(0,5) 40 (a.*z|b.*y)(a.*z|b.*y) azbazby (0,7)(0,5)(5,7) -41 (a.*z|b.*y)* azbazby (0,7)(5,7) +41 (a.*z|b.*y)* azbazby (0,7)(0,5)(5,7) 42 (.|..)(.*) ab (0,2)(0,2)(2,2) -43 ((..)*(...)*) xxx (0,3)(0,3)(?,?)(0,3) -44 ((..)*(...)*)((..)*(...)*) xxx (0,3)(0,3)(?,?)(0,3)(3,3)(?,?)(?,?) -45 ((..)*(...)*)* xxx (0,3)(0,3)(?,?)(0,3) -83 (aa(b(b))?)+ aabbaa (0,6)(4,6)(?,?)(?,?) -84 (a(b)?)+ aba (0,3)(2,3)(?,?) -85 ([ab]+)([bc]+)([cd]*) abcd (0,4)(0,2)(2,3)(3,4) -90 ^(A([^B]*))?(B(.*))? Aa (0,2)(0,2)(1,2)(?,?)(?,?) -91 ^(A([^B]*))?(B(.*))? Bb (0,2)(?,?)(?,?)(0,2)(1,2) -110 (^){0,3} a (0,0)(0,0) -111 ($){0,3} a (0,0)(?,?) -112 (^){1,3} a (0,0)(0,0) -113 ($){1,3} a (1,1)(1,1) -200 ((s^)|(s)|(^)|($)|(^.))* searchme (0,1)(0,1)(?,?)(0,1)(?,?)(?,?)(?,?) -201 s(()|^)e searchme (0,2)(1,1)(1,1) -202 s(^|())e searchme (0,2)(1,1)(1,1) -203 s(^|())e searchme (0,2)(1,1)(1,1) -204 s()?e searchme (0,2)(1,1) -205 s(^)?e searchme (0,2)(?,?) -206 ((s)|(e)|(a))* searchme (0,3)(2,3)(?,?)(?,?)(2,3) -207 ((s)|(e)|())* searchme (0,2)(1,2)(?,?)(1,2)(?,?) -208 ((b*)|c(c*))* cbb (0,3)(1,3)(1,3)(?,?) -209 (yyy|(x?)){2,4} yyyyyy (0,6)(3,6)(?,?) -210 ($)|() xxx (0,0)(?,?)(0,0) -211 $()|^() ac\n (0,0)(?,?)(0,0) -212 ^()|$() ac\n (0,0)(0,0)(?,?) -213 ($)?(.) __ (0,1)(?,?)(0,1) -214 (.|()|())* c (0,1)(0,1)(?,?)(?,?) -215 ((a)|(b)){2,} ab (0,2)(1,2)(?,?)(1,2) -216 .()|((.)?) NULL (0,0)(?,?)(0,0)(?,?) -217 (.|$){2,} xx (0,2)(1,2) -218 (.|$){2,2} xx (0,2)(1,2) -219 (.){2,} xx (0,2)(1,2) -220 (a|())(b|())(c|()) abc (0,3)(0,1)(?,?)(1,2)(?,?)(2,3)(?,?) -220 ab()c|ab()c() abc (0,3)(2,2)(-1,-1)(-1,-1) -250 (b(c)|d(e))* bcde (0,4)(2,4)(-1,-1)(3,4) -251 (a(b)*)* aba (0,3)(2,3)(-1,-1) +43 ((..)*(...)*) xxx (0,3)(0,3)(0,3) +44 ((..)*(...)*)((..)*(...)*) xxx (0,3)(0,3)(0,3)(3,3) +45 ((..)*(...)*)* xxx (0,3)(0,3)(0,3) +83 (aa(b(b))?)+ aabbaa (0,6)(0,4)(2,4)(3,4)(4,6) +84 (a(b)?)+ aba (0,3)(0,2)(1,2)(2,3) +#85 ([ab]+)([bc]+)([cd]*) abcd (0,4)(0,2)(2,3)(3,4) +#90 ^(A([^B]*))?(B(.*))? Aa (0,2)(0,2)(1,2)(?,?)(?,?) +#91 ^(A([^B]*))?(B(.*))? Bb (0,2)(?,?)(?,?)(0,2)(1,2) +#110 (^){0,3} a (0,0)(0,0) +#111 ($){0,3} a (0,0)(?,?) +#112 (^){1,3} a (0,0)(0,0) +#113 ($){1,3} a (1,1)(1,1) +#200 ((s^)|(s)|(^)|($)|(^.))* searchme (0,1)(0,1)(?,?)(0,1)(?,?)(?,?)(?,?) +#201 s(()|^)e searchme (0,2)(1,1)(1,1) +#202 s(^|())e searchme (0,2)(1,1)(1,1) +#203 s(^|())e searchme (0,2)(1,1)(1,1) +#204 s()?e searchme (0,2)(1,1) +#205 s(^)?e searchme (0,2)(?,?) +#206 ((s)|(e)|(a))* searchme (0,3)(2,3)(?,?)(?,?)(2,3) +#207 ((s)|(e)|())* searchme (0,2)(1,2)(?,?)(1,2)(?,?) +208 ((b*)|c(c*))* cbb (0,3)(0,1)(1,1)(1,3)(1,3) +#209 (yyy|(x?)){2,4} yyyyyy (0,6)(3,6)(?,?) +#210 ($)|() xxx (0,0)(?,?)(0,0) +#211 $()|^() ac\n (0,0)(?,?)(0,0) +#212 ^()|$() ac\n (0,0)(0,0)(?,?) +#213 ($)?(.) __ (0,1)(?,?)(0,1) +214 (.|()|())* c (0,1)(0,1) +#215 ((a)|(b)){2,} ab (0,2)(1,2)(?,?)(1,2) +#216 .()|((.)?) NULL (0,0)(?,?)(0,0)(?,?) +#217 (.|$){2,} xx (0,2)(1,2) +#218 (.|$){2,2} xx (0,2)(1,2) +#219 (.){2,} xx (0,2)(1,2) +220 (a|())(b|())(c|()) abc (0,3)(0,1)(1,2)(2,3) +##220 ab()c|ab()c() abc (0,3)(2,2)(-1,-1)(-1,-1) +250 (b(c)|d(e))* bcde (0,4)(0,2)(1,2)(2,4)(3,4) +251 (a(b)*)* aba (0,3)(0,2)(1,2)(2,3)