--- 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)