--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/tests/basic3.txt Sat Apr 09 09:51:00 2016 +0100
@@ -0,0 +1,142 @@
+ 1 \) () (1,2)
+ 2 \} } (0,1)
+ 3 ] ] (0,1)
+ 4 $^ NULL (0,0)
+ 5 a($) aa (1,2)(2,2)
+ 6 a*(^a) aa (0,1)(0,1)
+ 7 (..)*(...)* a (0,0)(?,?)(?,?)
+ 8 (..)*(...)* abcd (0,4)(2,4)(?,?)
+ 9 (ab|a)(bc|c) abc (0,3)(0,2)(2,3)
+ 10 (ab)c|abc abc (0,3)(0,2)
+ 11 a{0}b ab (1,2)
+ 12 (a*)(b?)(b+)b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7)
+ 13 (a*)(b{0,1})(b{1,})b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7)
+ 15 ((a|a)|a) a (0,1)(0,1)(0,1)
+ 16 (a*)(a|aa) aaaa (0,4)(0,3)(3,4)
+ 17 a*(a.|aa) aaaa (0,4)(2,4)
+ 18 a(b)|c(d)|a(e)f aef (0,3)(?,?)(?,?)(1,2)
+ 19 (a|b)?.* b (0,1)(0,1)
+ 20 (a|b)c|a(b|c) ac (0,2)(0,1)(?,?)
+ 21 (a|b)c|a(b|c) ab (0,2)(?,?)(1,2)
+ 22 (a|b)*c|(a|ab)*c abc (0,3)(1,2)(?,?)
+ 23 (a|b)*c|(a|ab)*c xc (1,2)(?,?)(?,?)
+ 24 (.a|.b).*|.*(.a|.b) xa (0,2)(0,2)(?,?)
+ 25 a?(ab|ba)ab abab (0,4)(0,2)
+ 26 a?(ac{0}b|ba)ab abab (0,4)(0,2)
+ 27 ab|abab abbabab (0,2)
+ 28 aba|bab|bba baaabbbaba (5,8)
+ 29 aba|bab baaabbbaba (6,9)
+ 30 (aa|aaa)*|(a|aaaaa) aa (0,2)(0,2)(?,?)
+ 31 (a.|.a.)*|(a|.a...) aa (0,2)(0,2)(?,?)
+ 32 ab|a xabc (1,3)
+ 33 ab|a xxabc (2,4)
+ 34 (Ab|cD)* aBcD (0,4)(2,4)
+ 35 :::1:::0:|:::1:1:0: :::0:::1:::1:::0: (8,17)
+ 36 :::1:::0:|:::1:1:1: :::0:::1:::1:::0: (8,17)
+ 37 [[:lower:]]+ `az{ (1,3)
+ 38 [[:upper:]]+ @AZ[ (1,3)
+ 39 (a)(b)(c) abc (0,3)(0,1)(1,2)(2,3)
+ 43 ((((((((((((((((((((((((((((((x)))))))))))))))))))))))))))))) x (0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
+ 44 ((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))* xx (0,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)
+ 45 a?(ab|ba)* ababababababababababababababababababababababababababababababababababababababababa (0,81)(79,81)
+ 46 abaa|abbaa|abbbaa|abbbbaa ababbabbbabbbabbbbabbbbaa (18,25)
+ 47 abaa|abbaa|abbbaa|abbbbaa ababbabbbabbbabbbbabaa (18,22)
+ 48 aaac|aabc|abac|abbc|baac|babc|bbac|bbbc baaabbbabac (7,11)
+ 49 aaaa|bbbb|cccc|ddddd|eeeeee|fffffff|gggg|hhhh|iiiii|jjjjj|kkkkk|llll XaaaXbbbXcccXdddXeeeXfffXgggXhhhXiiiXjjjXkkkXlllXcbaXaaaa (53,57)
+ 50 a*a*a*a*a*b aaaaaaaaab (0,10)
+ 51 ab+bc abbc (0,4)
+ 52 ab+bc abbbbc (0,6)
+ 53 ab?bc abbc (0,4)
+ 54 ab?bc abc (0,3)
+ 55 ab?c abc (0,3)
+ 56 ab|cd abc (0,2)
+ 57 ab|cd abcd (0,2)
+ 58 a\(b a(b (0,3)
+ 59 a\(*b ab (0,2)
+ 60 a\(*b a((b (0,4)
+ 61 ((a)) abc (0,1)(0,1)(0,1)
+ 62 (a)b(c) abc (0,3)(0,1)(2,3)
+ 63 a+b+c aabbabc (4,7)
+ 64 a* aaa (0,3)
+ 65 (a*)* - (0,0)(0,0)
+ 66 (a*)+ - (0,0)(0,0)
+ 67 (a*|b)* - (0,0)(0,0)
+ 68 (a+|b)* ab (0,2)(1,2)
+ 69 (a+|b)+ ab (0,2)(1,2)
+ 70 (a+|b)? ab (0,1)(0,1)
+ 71 (^)* - (0,0)(0,0)
+ 72 ([abc])*d abbbcd (0,6)(4,5)
+ 73 ([abc])*bcd abcd (0,4)(0,1)
+ 74 a|b|c|d|e e (0,1)
+ 75 (a|b|c|d|e)f ef (0,2)(0,1)
+ 76 ((a*|b))* - (0,0)(0,0)(0,0)
+ 77 (ab|cd)e abcde (2,5)(2,4)
+ 78 (a|b)c*d abcd (1,4)(1,2)
+ 79 (ab|ab*)bc abc (0,3)(0,1)
+ 80 a([bc]*)c* abc (0,3)(1,3)
+ 81 a([bc]*)(c*d) abcd (0,4)(1,3)(3,4)
+ 82 a([bc]+)(c*d) abcd (0,4)(1,3)(3,4)
+ 83 a([bc]*)(c+d) abcd (0,4)(1,2)(2,4)
+ 84 a[bcd]*dcdcde adcdcde (0,7)
+ 85 (ab|a)b*c abc (0,3)(0,2)
+ 86 ((a)(b)c)(d) abcd (0,4)(0,3)(0,1)(1,2)(3,4)
+ 87 ^a(bc+|b[eh])g|.h$ abh (1,3)(?,?)
+ 88 (bc+d$|ef*g.|h?i(j|k)) effgz (0,5)(0,5)(?,?)
+ 89 (bc+d$|ef*g.|h?i(j|k)) ij (0,2)(0,2)(1,2)
+ 90 (bc+d$|ef*g.|h?i(j|k)) reffgz (1,6)(1,6)(?,?)
+ 91 (((((((((a))))))))) a (0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
+ 92 (.*)c(.*) abcde (0,5)(0,2)(3,5)
+ 93 a(bc)d abcd (0,4)(1,3)
+ 94 a[-]?c ac (0,3)
+ 95 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar_Qaddafi (0,15)(?,?)(10,12)
+ 96 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mo'ammar_Gadhafi (0,16)(?,?)(11,13)
+ 97 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar_Kaddafi (0,15)(?,?)(10,12)
+ 98 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar_Qadhafi (0,15)(?,?)(10,12)
+ 99 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar_Gadafi (0,14)(?,?)(10,11)
+ 100 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mu'ammar_Qadafi (0,15)(?,?)(11,12)
+ 101 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moamar_Gaddafi (0,14)(?,?)(9,11)
+ 102 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mu'ammar_Qadhdhafi (0,18)(?,?)(13,15)
+ 103 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar_Khaddafi (0,16)(?,?)(11,13)
+ 104 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar_Ghaddafy (0,16)(?,?)(11,13)
+ 105 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar_Ghadafi (0,15)(?,?)(11,12)
+ 106 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar_Ghaddafi (0,16)(?,?)(11,13)
+ 107 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muamar_Kaddafi (0,14)(?,?)(9,11)
+ 108 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar_Quathafi (0,16)(?,?)(11,13)
+ 109 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar_Gheddafi (0,16)(?,?)(11,13)
+ 110 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moammar_Khadafy (0,15)(?,?)(11,12)
+ 111 M[ou]'?am+[ae]r_.*([AEae]l[-_])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moammar_Qudhafi (0,15)(?,?)(10,12)
+ 112 a+(b|c)*d+ aabcdd (0,6)(3,4)
+ 113 ^.+$ vivi (0,4)
+ 114 ^(.+)$ vivi (0,4)(0,4)
+ 115 ^([^!.]+).att.com!(.+)$ gryphon.att.com!eby (0,19)(0,7)(16,19)
+ 116 ^([^!]+!)?([^!]+)$ bas (0,3)(?,?)(0,3)
+ 117 ^([^!]+!)?([^!]+)$ bar!bas (0,7)(0,4)(4,7)
+ 118 ^([^!]+!)?([^!]+)$ foo!bas (0,7)(0,4)(4,7)
+ 119 ^.+!([^!]+!)([^!]+)$ foo!bar!bas (0,11)(4,8)(8,11)
+ 120 ((foo)|(bar))!bas bar!bas (0,7)(0,3)(?,?)(0,3)
+ 121 ((foo)|(bar))!bas foo!bar!bas (4,11)(4,7)(?,?)(4,7)
+ 122 ((foo)|(bar))!bas foo!bas (0,7)(0,3)(0,3)(?,?)
+ 123 ((foo)|bar)!bas bar!bas (0,7)(0,3)(?,?)
+ 124 ((foo)|bar)!bas foo!bar!bas (4,11)(4,7)(?,?)
+ 125 ((foo)|bar)!bas foo!bas (0,7)(0,3)(0,3)
+ 126 (foo|(bar))!bas bar!bas (0,7)(0,3)(0,3)
+ 127 (foo|(bar))!bas foo!bar!bas (4,11)(4,7)(4,7)
+ 128 (foo|(bar))!bas foo!bas (0,7)(0,3)(?,?)
+ 129 (foo|bar)!bas bar!bas (0,7)(0,3)
+ 130 (foo|bar)!bas foo!bar!bas (4,11)(4,7)
+ 131 (foo|bar)!bas foo!bas (0,7)(0,3)
+ 132 ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bar!bas (0,11)(0,11)(?,?)(?,?)(4,8)(8,11)
+ 133 ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ bas (0,3)(?,?)(0,3)(?,?)(?,?)
+ 134 ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ bar!bas (0,7)(0,4)(4,7)(?,?)(?,?)
+ 135 ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ foo!bar!bas (0,11)(?,?)(?,?)(4,8)(8,11)
+ 136 ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ foo!bas (0,7)(0,4)(4,7)(?,?)(?,?)
+ 137 ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ bas (0,3)(0,3)(?,?)(0,3)(?,?)(?,?)
+ 138 ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ bar!bas (0,7)(0,7)(0,4)(4,7)(?,?)(?,?)
+ 139 ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bar!bas (0,11)(0,11)(?,?)(?,?)(4,8)(8,11)
+ 140 ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bas (0,7)(0,7)(0,4)(4,7)(?,?)(?,?)
+ 141 .*(/XXX).* /XXX (0,4)(0,4)
+ 142 .*(\\XXX).* \XXX (0,4)(0,4)
+ 143 \\XXX \XXX (0,4)
+ 144 .*(/000).* /000 (0,4)(0,4)
+ 145 .*(\\000).* \000 (0,4)(0,4)
+ 146 \\000 \000 (0,4)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/tests/class.txt Sat Apr 09 09:51:00 2016 +0100
@@ -0,0 +1,14 @@
+1 aa* xaxaax (1,2)
+2 (a*)(ab)*(b*) abc (0,2)(0,1)(?,?)(1,2)
+-2 (a*)(ab)*(b*) abc (0,2)(0,0)(0,2)(2,2)
+3 ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,2)(0,0)(0,2)(2,3)(2,2)(2,3)
+4 (...?.?)* xxxxxx (0,6)(4,6)
+5 (a|ab)(bc|c) abcabc (0,3)(0,2)(2,3)
+6 (aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5)
+7 (a*){2} xxxxx (0,0)(0,0)
+8 (a*)* a (0,1)(0,1)
+9 (aba|a*b)* ababa (0,5)(2,5)
+10 (a(b)?)+ aba (0,3)(2,3)(?,?)
+11 .*(.*) ab (0,2)(2,2)
+12 (a?)((ab)?)(b?)a?(ab)?b? abab (0,4)(0,1)(1,1)(?,?)(1,2)(?,?)
+-12 (a?)((ab)?)(b?)a?(ab)?b? abab (0,4)(0,1)(1,1)(?,?)(1,2)(2,4)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/tests/forced-assoc.txt Sat Apr 09 09:51:00 2016 +0100
@@ -0,0 +1,28 @@
+1 (a|ab)(c|bcd) abcd (0,4)(0,1)(1,4)
+2 (a|ab)(bcd|c) abcd (0,4)(0,1)(1,4)
+3 (ab|a)(c|bcd) abcd (0,4)(0,1)(1,4)
+4 (ab|a)(bcd|c) abcd (0,4)(0,1)(1,4)
+5 ((a|ab)(c|bcd))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+6 ((a|ab)(bcd|c))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+7 ((ab|a)(c|bcd))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+8 ((ab|a)(bcd|c))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+9 (a|ab)((c|bcd)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+10 (a|ab)((bcd|c)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+11 (ab|a)((c|bcd)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+12 (ab|a)((bcd|c)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+13 (a*)(b|abc) abc (0,3)(0,0)(0,3)
+14 (a*)(abc|b) abc (0,3)(0,0)(0,3)
+15 ((a*)(b|abc))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+16 ((a*)(abc|b))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+17 (a*)((b|abc)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+18 (a*)((abc|b)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+19 (a*)(b|abc) abc (0,3)(0,0)(0,3)
+20 (a*)(abc|b) abc (0,3)(0,0)(0,3)
+21 ((a*)(b|abc))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+22 ((a*)(abc|b))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+23 (a*)((b|abc)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+24 (a*)((abc|b)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+25 (a|ab) ab (0,2)(0,2)
+26 (ab|a) ab (0,2)(0,2)
+27 (a|ab)(b*) ab (0,2)(0,2)(2,2)
+28 (ab|a)(b*) ab (0,2)(0,2)(2,2)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/tests/left-assoc.txt Sat Apr 09 09:51:00 2016 +0100
@@ -0,0 +1,12 @@
+-1 (a|ab)(c|bcd)(d*) abcd (0,4)(0,1)(1,4)(4,4)
+-2 (a|ab)(bcd|c)(d*) abcd (0,4)(0,1)(1,4)(4,4)
+-3 (ab|a)(c|bcd)(d*) abcd (0,4)(0,1)(1,4)(4,4)
+-4 (ab|a)(bcd|c)(d*) abcd (0,4)(0,1)(1,4)(4,4)
+-5 (a*)(b|abc)(c*) abc (0,3)(0,0)(0,3)(3,3)
+-6 (a*)(abc|b)(c*) abc (0,3)(0,0)(0,3)(3,3)
+-7 (a*)(b|abc)(c*) abc (0,3)(0,0)(0,3)(3,3)
+-8 (a*)(abc|b)(c*) abc (0,3)(0,0)(0,3)(3,3)
+-9 (a|ab)(c|bcd)(d|.*) abcd (0,4)(0,1)(1,4)(4,4)
+-10 (a|ab)(bcd|c)(d|.*) abcd (0,4)(0,1)(1,4)(4,4)
+-11 (ab|a)(c|bcd)(d|.*) abcd (0,4)(0,1)(1,4)(4,4)
+-12 (ab|a)(bcd|c)(d|.*) abcd (0,4)(0,1)(1,4)(4,4)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/tests/nullsub3.txt Sat Apr 09 09:51:00 2016 +0100
@@ -0,0 +1,51 @@
+ 1 (a*)* a (0,1)(0,1)
+ 2 SAME x (0,0)(0,0)
+ 3 SAME aaaaaa (0,6)(0,6)
+ 4 SAME aaaaaax (0,6)(0,6)
+ 5 (a*)+ a (0,1)(0,1)
+ 6 SAME x (0,0)(0,0)
+ 7 SAME aaaaaa (0,6)(0,6)
+ 8 SAME aaaaaax (0,6)(0,6)
+ 9 (a+)* a (0,1)(0,1)
+ 10 SAME x (0,0)(?,?)
+ 11 SAME aaaaaa (0,6)(0,6)
+ 12 SAME aaaaaax (0,6)(0,6)
+ 13 (a+)+ a (0,1)(0,1)
+ 14 SAME x NOMATCH
+ 15 SAME aaaaaa (0,6)(0,6)
+ 16 SAME aaaaaax (0,6)(0,6)
+ 17 ([a]*)* a (0,1)(0,1)
+ 18 SAME x (0,0)(0,0)
+ 19 SAME aaaaaa (0,6)(0,6)
+ 20 SAME aaaaaax (0,6)(0,6)
+ 21 ([a]*)+ a (0,1)(0,1)
+ 22 SAME x (0,0)(0,0)
+ 23 SAME aaaaaa (0,6)(0,6)
+ 24 SAME aaaaaax (0,6)(0,6)
+ 25 ([^b]*)* a (0,1)(0,1)
+ 26 SAME b (0,0)(0,0)
+ 27 SAME aaaaaa (0,6)(0,6)
+ 28 SAME aaaaaab (0,6)(0,6)
+ 29 ([ab]*)* a (0,1)(0,1)
+ 30 SAME aaaaaa (0,6)(0,6)
+ 31 SAME ababab (0,6)(0,6)
+ 32 SAME bababa (0,6)(0,6)
+ 33 SAME b (0,1)(0,1)
+ 34 SAME bbbbbb (0,6)(0,6)
+ 35 SAME aaaabcde (0,5)(0,5)
+ 36 ([^a]*)* b (0,1)(0,1)
+ 37 SAME bbbbbb (0,6)(0,6)
+ 38 SAME aaaaaa (0,0)(0,0)
+ 39 ([^ab]*)* ccccxx (0,6)(0,6)
+ 40 SAME ababab (0,0)(0,0)
+ 41 ((z)+|a)* zabcde (0,2)(1,2)(?,?)
+ 42 (a) aaa (0,1)(0,1)
+ 46 (a*)*(x) x (0,1)(0,0)(0,1)
+ 47 (a*)*(x) ax (0,2)(0,1)(1,2)
+ 48 (a*)*(x) axa (0,2)(0,1)(1,2)
+ 49 (a*)+(x) x (0,1)(0,0)(0,1)
+ 50 (a*)+(x) ax (0,2)(0,1)(1,2)
+ 51 (a*)+(x) axa (0,2)(0,1)(1,2)
+ 52 (a*){2}(x) x (0,1)(0,0)(0,1)
+ 53 (a*){2}(x) ax (0,2)(1,1)(1,2)
+ 54 (a*){2}(x) axa (0,2)(1,1)(1,2)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/tests/osx-bsd-critical.txt Sat Apr 09 09:51:00 2016 +0100
@@ -0,0 +1,11 @@
+1 (()|.)(b) ab (0,2)(0,1)(?,?)(1,2)
+-1 (()|.)(b) ab (1,2)(1,1)(1,1)(1,2)
+2 (()|[ab])(b) ab (0,2)(0,1)(?,?)(1,2)
+-2 (()|[ab])(b) ab (1,2)(1,1)(1,1)(1,2)
+3 (()|[ab])+b aaab (0,4)(2,3)(?,?)
+-3 (()|[ab])+b aaab (3,4)(3,3)(3,3)
+11 (.|())(b) ab (0,2)(0,1)(?,?)(1,2)
+12 ([ab]|())(b) ab (0,2)(0,1)(?,?)(1,2)
+14 ([ab]|())+b aaab (0,4)(2,3)(?,?)
+-14 ([ab]|())+b aaab (0,4)(3,3)(3,3)
+20 (.?)(b) ab (0,2)(0,1)(1,2)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/tests/repetition2.txt Sat Apr 09 09:51:00 2016 +0100
@@ -0,0 +1,79 @@
+1 ((..)|(.)) NULL NOMATCH
+2 ((..)|(.))((..)|(.)) NULL NOMATCH
+3 ((..)|(.))((..)|(.))((..)|(.)) NULL NOMATCH
+4 ((..)|(.)){1} NULL NOMATCH
+5 ((..)|(.)){2} NULL NOMATCH
+6 ((..)|(.)){3} NULL NOMATCH
+7 ((..)|(.))* NULL (0,0)(?,?)(?,?)(?,?)
+8 ((..)|(.)) a (0,1)(0,1)(?,?)(0,1)
+9 ((..)|(.))((..)|(.)) a NOMATCH
+10 ((..)|(.))((..)|(.))((..)|(.)) a NOMATCH
+11 ((..)|(.)){1} a (0,1)(0,1)(?,?)(0,1)
+12 ((..)|(.)){2} a NOMATCH
+13 ((..)|(.)){3} a NOMATCH
+14 ((..)|(.))* a (0,1)(0,1)(?,?)(0,1)
+15 ((..)|(.)) aa (0,2)(0,2)(0,2)(?,?)
+16 ((..)|(.))((..)|(.)) aa (0,2)(0,1)(?,?)(0,1)(1,2)(?,?)(1,2)
+17 ((..)|(.))((..)|(.))((..)|(.)) aa NOMATCH
+18 ((..)|(.)){1} aa (0,2)(0,2)(0,2)(?,?)
+19 ((..)|(.)){2} aa (0,2)(1,2)(?,?)(1,2)
+20 ((..)|(.)){3} aa NOMATCH
+21 ((..)|(.))* aa (0,2)(0,2)(0,2)(?,?)
+22 ((..)|(.)) aaa (0,2)(0,2)(0,2)(?,?)
+23 ((..)|(.))((..)|(.)) aaa (0,3)(0,2)(0,2)(?,?)(2,3)(?,?)(2,3)
+24 ((..)|(.))((..)|(.))((..)|(.)) aaa (0,3)(0,1)(?,?)(0,1)(1,2)(?,?)(1,2)(2,3)(?,?)(2,3)
+25 ((..)|(.)){1} aaa (0,2)(0,2)(0,2)(?,?)
+26 ((..)|(.)){2} aaa (0,3)(2,3)(?,?)(2,3)
+27 ((..)|(.)){3} aaa (0,3)(2,3)(?,?)(2,3)
+28 ((..)|(.))* aaa (0,3)(2,3)(?,?)(2,3)
+29 ((..)|(.)) aaaa (0,2)(0,2)(0,2)(?,?)
+30 ((..)|(.))((..)|(.)) aaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
+31 ((..)|(.))((..)|(.))((..)|(.)) aaaa (0,4)(0,2)(0,2)(?,?)(2,3)(?,?)(2,3)(3,4)(?,?)(3,4)
+32 ((..)|(.)){1} aaaa (0,2)(0,2)(0,2)(?,?)
+33 ((..)|(.)){2} aaaa (0,4)(2,4)(2,4)(?,?)
+34 ((..)|(.)){3} aaaa (0,4)(3,4)(?,?)(3,4)
+35 ((..)|(.))* aaaa (0,4)(2,4)(2,4)(?,?)
+36 ((..)|(.)) aaaaa (0,2)(0,2)(0,2)(?,?)
+37 ((..)|(.))((..)|(.)) aaaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
+38 ((..)|(.))((..)|(.))((..)|(.)) aaaaa (0,5)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)(4,5)(?,?)(4,5)
+39 ((..)|(.)){1} aaaaa (0,2)(0,2)(0,2)(?,?)
+40 ((..)|(.)){2} aaaaa (0,4)(2,4)(2,4)(?,?)
+41 ((..)|(.)){3} aaaaa (0,5)(4,5)(?,?)(4,5)
+42 ((..)|(.))* aaaaa (0,5)(4,5)(?,?)(4,5)
+43 ((..)|(.)) aaaaaa (0,2)(0,2)(0,2)(?,?)
+44 ((..)|(.))((..)|(.)) aaaaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
+45 ((..)|(.))((..)|(.))((..)|(.)) aaaaaa (0,6)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)(4,6)(4,6)(?,?)
+46 ((..)|(.)){1} aaaaaa (0,2)(0,2)(0,2)(?,?)
+47 ((..)|(.)){2} aaaaaa (0,4)(2,4)(2,4)(?,?)
+48 ((..)|(.)){3} aaaaaa (0,6)(4,6)(4,6)(?,?)
+49 ((..)|(.))* aaaaaa (0,6)(4,6)(4,6)(?,?)
+100 X(.?){0,}Y X1234567Y (0,9)(7,8)
+101 X(.?){1,}Y X1234567Y (0,9)(7,8)
+102 X(.?){2,}Y X1234567Y (0,9)(7,8)
+103 X(.?){3,}Y X1234567Y (0,9)(7,8)
+104 X(.?){4,}Y X1234567Y (0,9)(7,8)
+105 X(.?){5,}Y X1234567Y (0,9)(7,8)
+106 X(.?){6,}Y X1234567Y (0,9)(7,8)
+107 X(.?){7,}Y X1234567Y (0,9)(7,8)
+108 X(.?){8,}Y X1234567Y (0,9)(8,8)
+110 X(.?){0,8}Y X1234567Y (0,9)(7,8)
+111 X(.?){1,8}Y X1234567Y (0,9)(7,8)
+112 X(.?){2,8}Y X1234567Y (0,9)(7,8)
+113 X(.?){3,8}Y X1234567Y (0,9)(7,8)
+114 X(.?){4,8}Y X1234567Y (0,9)(7,8)
+115 X(.?){5,8}Y X1234567Y (0,9)(7,8)
+116 X(.?){6,8}Y X1234567Y (0,9)(7,8)
+117 X(.?){7,8}Y X1234567Y (0,9)(7,8)
+118 X(.?){8,8}Y X1234567Y (0,9)(8,8)
+260 (a|ab|c|bcd){0,}(d*) ababcd (0,6)(3,6)(6,6)
+261 (a|ab|c|bcd){1,}(d*) ababcd (0,6)(3,6)(6,6)
+262 (a|ab|c|bcd){2,}(d*) ababcd (0,6)(3,6)(6,6)
+263 (a|ab|c|bcd){3,}(d*) ababcd (0,6)(3,6)(6,6)
+264 (a|ab|c|bcd){4,}(d*) ababcd NOMATCH
+265 (a|ab|c|bcd){0,10}(d*) ababcd (0,6)(3,6)(6,6)
+266 (a|ab|c|bcd){1,10}(d*) ababcd (0,6)(3,6)(6,6)
+267 (a|ab|c|bcd){2,10}(d*) ababcd (0,6)(3,6)(6,6)
+268 (a|ab|c|bcd){3,10}(d*) ababcd (0,6)(3,6)(6,6)
+269 (a|ab|c|bcd){4,10}(d*) ababcd NOMATCH
+270 (a|ab|c|bcd)*(d*) ababcd (0,6)(3,6)(6,6)
+271 (a|ab|c|bcd)+(d*) ababcd (0,6)(3,6)(6,6)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/tests/right-assoc.txt Sat Apr 09 09:51:00 2016 +0100
@@ -0,0 +1,12 @@
+1 (a|ab)(c|bcd)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+2 (a|ab)(bcd|c)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+3 (ab|a)(c|bcd)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+4 (ab|a)(bcd|c)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+5 (a*)(b|abc)(c*) abc (0,3)(0,1)(1,2)(2,3)
+6 (a*)(abc|b)(c*) abc (0,3)(0,1)(1,2)(2,3)
+7 (a*)(b|abc)(c*) abc (0,3)(0,1)(1,2)(2,3)
+8 (a*)(abc|b)(c*) abc (0,3)(0,1)(1,2)(2,3)
+9 (a|ab)(c|bcd)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
+10 (a|ab)(bcd|c)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
+11 (ab|a)(c|bcd)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
+12 (ab|a)(bcd|c)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/tests/test-manifest.txt Sat Apr 09 09:51:00 2016 +0100
@@ -0,0 +1,9 @@
+basic3.txt
+class.txt
+left-assoc.txt
+right-assoc.txt
+forced-assoc.txt
+nullsub3.txt
+repetition2.txt
+totest.txt
+osx-bsd-critical.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/tests/totest.txt Sat Apr 09 09:51:00 2016 +0100
@@ -0,0 +1,79 @@
+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)
+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)
+07 (.?) 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)
+11 (.?)* x (0,1)(0,1)
+12 (.?.?) xxx (0,2)(0,2)
+13 (.?.?){1} xxx (0,2)(0,2)
+14 (.?.?)(.?.?) xxx (0,3)(0,2)(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)
+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)
+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)
+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)
+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)(?,?)
+37 (.*)(.*) xx (0,2)(0,2)(2,2)
+38 .*(.*) xx (0,2)(2,2)
+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)
+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)