1*abce74f4SJohn MarinoNOTE regex implementation categorization 2004-05-31 2*abce74f4SJohn Marino 3*abce74f4SJohn Marino?E aa* xaxaax (1,2) POSITION=leftmost 4*abce74f4SJohn Marino; POSITION=bug 5*abce74f4SJohn Marino 6*abce74f4SJohn Marino?E (a*)(ab)*(b*) abc (0,2)(0,1)(?,?)(1,2) ASSOCIATIVITY=right 7*abce74f4SJohn Marino|E (a*)(ab)*(b*) abc (0,2)(0,0)(0,2)(2,2) ASSOCIATIVITY=left 8*abce74f4SJohn Marino; ASSOCIATIVITY=bug 9*abce74f4SJohn Marino 10*abce74f4SJohn Marino?E ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,2)(0,0)(0,2)(2,3)(2,2)(2,3) SUBEXPRESSION=precedence 11*abce74f4SJohn Marino|E ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,1)(0,1)(?,?)(1,3)(1,2)(2,3) SUBEXPRESSION=grouping 12*abce74f4SJohn Marino; SUBEXPRESSION=bug 13*abce74f4SJohn Marino 14*abce74f4SJohn Marino?E (...?.?)* xxxxxx (0,6)(4,6) REPEAT_LONGEST=first 15*abce74f4SJohn Marino|E (...?.?)* xxxxxx (0,6)(2,6) REPEAT_LONGEST=last 16*abce74f4SJohn Marino|E (...?.?)* xxxxxx OK REPEAT_LONGEST=unknown 17*abce74f4SJohn Marino; REPEAT_LONGEST=bug 18*abce74f4SJohn Marino 19*abce74f4SJohn Marino?E (a|ab)(bc|c) abcabc (0,3)(0,2)(2,3) EXPECTED 20*abce74f4SJohn Marino|E (a|ab)(bc|c) abcabc (0,3)(0,1)(1,3) BUG=alternation-order 21*abce74f4SJohn Marino; BUG=alternation-order-UNKNOWN 22*abce74f4SJohn Marino 23*abce74f4SJohn Marino?E (aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5) EXPECTED 24*abce74f4SJohn Marino|E (aba|a*b)(aba|a*b) ababa (0,4)(0,3)(3,4) BUG=first-match 25*abce74f4SJohn Marino; BUG=unknown-match 26*abce74f4SJohn Marino 27*abce74f4SJohn Marino?B a\(b\)*\1 a NOMATCH EXPECTED 28*abce74f4SJohn Marino|B a\(b\)*\1 a (0,1) BUG=nomatch-match 29*abce74f4SJohn Marino|B a\(b\)*\1 abab (0,2)(1,2) # BUG=repeat-any 30*abce74f4SJohn Marino; BUG=nomatch-match-UNKNOWN 31*abce74f4SJohn Marino 32*abce74f4SJohn Marino?E (a*){2} xxxxx (0,0)(0,0) EXPECTED 33*abce74f4SJohn Marino|E (a*){2} xxxxx (5,5)(5,5) BUG=range-null 34*abce74f4SJohn Marino; BUG=range-null-UNKNOWN 35*abce74f4SJohn Marino 36*abce74f4SJohn Marino?B a\(b\)*\1 abab NOMATCH EXPECTED 37*abce74f4SJohn Marino|B a\(b\)*\1 abab (0,1) # BUG=nomatch-match 38*abce74f4SJohn Marino|B a\(b\)*\1 abab (0,2)(1,2) BUG=repeat-any 39*abce74f4SJohn Marino; BUG=repeat-any-UNKNOWN 40*abce74f4SJohn Marino 41*abce74f4SJohn Marino?E (a*)* a (0,1)(0,1) EXPECTED 42*abce74f4SJohn Marino|E (a*)* ax (0,1)(0,1) BUG=repeat-null-unknown 43*abce74f4SJohn Marino|E (a*)* a (0,1)(1,1) BUG=repeat-null 44*abce74f4SJohn Marino; BUG=repeat-null-UNKNOWN 45*abce74f4SJohn Marino 46*abce74f4SJohn Marino?E (aba|a*b)* ababa (0,5)(2,5) EXPECTED 47*abce74f4SJohn Marino|E (aba|a*b)* ababa (0,5)(3,4) BUG=repeat-short 48*abce74f4SJohn Marino|E (aba|a*b)* ababa (0,4)(3,4) # LENGTH=first 49*abce74f4SJohn Marino; BUG=repeat-short-UNKNOWN 50*abce74f4SJohn Marino 51*abce74f4SJohn Marino?E (a(b)?)+ aba (0,3)(2,3) EXPECTED 52*abce74f4SJohn Marino|E (a(b)?)+ aba (0,3)(2,3)(1,2) BUG=repeat-artifact 53*abce74f4SJohn Marino; BUG=repeat-artifact-UNKNOWN 54*abce74f4SJohn Marino 55*abce74f4SJohn Marino?B \(a\(b\)*\)*\2 abab NOMATCH EXPECTED 56*abce74f4SJohn Marino|B \(a\(b\)*\)*\2 abab (0,4)(2,3)(1,2) BUG=repeat-artifact-nomatch 57*abce74f4SJohn Marino; BUG=repeat-artifact-nomatch-UNKNOWN 58*abce74f4SJohn Marino 59*abce74f4SJohn Marino?E (a?)((ab)?)(b?)a?(ab)?b? abab (0,4)(0,1)(1,1)(?,?)(1,2)(2,4) BUG=subexpression-first 60*abce74f4SJohn Marino|E .*(.*) ab (0,2)(2,2) EXPECTED 61*abce74f4SJohn Marino|E .*(.*) ab (0,2)(0,2) BUG=subexpression-first 62*abce74f4SJohn Marino; BUG=subexpression-first-UNKNOWN 63