1272343SngieNOTE	regex implementation categorization 2004-05-31
2272343Sngie
3272343Sngie?E	aa*			xaxaax	(1,2)					POSITION=leftmost
4272343Sngie;										POSITION=bug
5272343Sngie
6272343Sngie?E	(a*)(ab)*(b*)		abc	(0,2)(0,1)(?,?)(1,2)			ASSOCIATIVITY=right
7272343Sngie|E	(a*)(ab)*(b*)		abc	(0,2)(0,0)(0,2)(2,2)			ASSOCIATIVITY=left
8272343Sngie;										ASSOCIATIVITY=bug
9272343Sngie
10272343Sngie?E	((a*)(ab)*)((b*)(a*))	aba	(0,3)(0,2)(0,0)(0,2)(2,3)(2,2)(2,3)	SUBEXPRESSION=precedence
11272343Sngie|E	((a*)(ab)*)((b*)(a*))	aba	(0,3)(0,1)(0,1)(?,?)(1,3)(1,2)(2,3)	SUBEXPRESSION=grouping
12272343Sngie;										SUBEXPRESSION=bug
13272343Sngie
14272343Sngie?E	(...?.?)*		xxxxxx	(0,6)(4,6)				REPEAT_LONGEST=first
15272343Sngie|E	(...?.?)*		xxxxxx	(0,6)(2,6)				REPEAT_LONGEST=last
16272343Sngie|E	(...?.?)*		xxxxxx	OK					REPEAT_LONGEST=unknown
17272343Sngie;										REPEAT_LONGEST=bug
18272343Sngie
19272343Sngie?E	(a|ab)(bc|c)		abcabc	(0,3)(0,2)(2,3)				EXPECTED
20272343Sngie|E	(a|ab)(bc|c)		abcabc	(0,3)(0,1)(1,3)				BUG=alternation-order
21272343Sngie;										BUG=alternation-order-UNKNOWN
22272343Sngie
23272343Sngie?E	(aba|a*b)(aba|a*b)	ababa	(0,5)(0,2)(2,5)				EXPECTED
24272343Sngie|E	(aba|a*b)(aba|a*b)	ababa	(0,4)(0,3)(3,4)				BUG=first-match
25272343Sngie;										BUG=unknown-match
26272343Sngie
27272343Sngie?B	a\(b\)*\1		a	NOMATCH					EXPECTED
28272343Sngie|B	a\(b\)*\1		a	(0,1)					BUG=nomatch-match
29272343Sngie|B	a\(b\)*\1		abab	(0,2)(1,2)				# BUG=repeat-any
30272343Sngie;										BUG=nomatch-match-UNKNOWN
31272343Sngie
32272343Sngie?E	(a*){2}			xxxxx	(0,0)(0,0)				EXPECTED
33272343Sngie|E	(a*){2}			xxxxx	(5,5)(5,5)				BUG=range-null
34272343Sngie;										BUG=range-null-UNKNOWN
35272343Sngie
36272343Sngie?B	a\(b\)*\1		abab	NOMATCH					EXPECTED
37272343Sngie|B	a\(b\)*\1		abab	(0,1)					# BUG=nomatch-match
38272343Sngie|B	a\(b\)*\1		abab	(0,2)(1,2)				BUG=repeat-any
39272343Sngie;										BUG=repeat-any-UNKNOWN
40272343Sngie
41272343Sngie?E	(a*)*			a	(0,1)(0,1)				EXPECTED
42272343Sngie|E	(a*)*			ax	(0,1)(0,1)				BUG=repeat-null-unknown
43272343Sngie|E	(a*)*			a	(0,1)(1,1)				BUG=repeat-null
44272343Sngie;										BUG=repeat-null-UNKNOWN
45272343Sngie
46272343Sngie?E	(aba|a*b)*		ababa	(0,5)(2,5)				EXPECTED
47272343Sngie|E	(aba|a*b)*		ababa	(0,5)(3,4)				BUG=repeat-short
48272343Sngie|E	(aba|a*b)*		ababa	(0,4)(3,4)				# LENGTH=first
49272343Sngie;										BUG=repeat-short-UNKNOWN
50272343Sngie
51272343Sngie?E	(a(b)?)+		aba	(0,3)(2,3)				EXPECTED
52272343Sngie|E	(a(b)?)+		aba	(0,3)(2,3)(1,2)				BUG=repeat-artifact
53272343Sngie;										BUG=repeat-artifact-UNKNOWN
54272343Sngie
55272343Sngie?B	\(a\(b\)*\)*\2		abab	NOMATCH					EXPECTED
56272343Sngie|B	\(a\(b\)*\)*\2		abab	(0,4)(2,3)(1,2)				BUG=repeat-artifact-nomatch
57272343Sngie;										BUG=repeat-artifact-nomatch-UNKNOWN
58272343Sngie
59272343Sngie?E	(a?)((ab)?)(b?)a?(ab)?b?	abab	(0,4)(0,1)(1,1)(?,?)(1,2)(2,4)	BUG=subexpression-first
60272343Sngie|E	.*(.*)				ab	(0,2)(2,2)			EXPECTED
61272343Sngie|E	.*(.*)				ab	(0,2)(0,2)			BUG=subexpression-first
62272343Sngie;										BUG=subexpression-first-UNKNOWN
63