head 1.1; access; symbols netbsd-11-0-RC4:1.1 netbsd-11-0-RC3:1.1 netbsd-11-0-RC2:1.1 netbsd-11-0-RC1:1.1 perseant-exfatfs-base-20250801:1.1 netbsd-11:1.1.0.56 netbsd-11-base:1.1 netbsd-10-1-RELEASE:1.1 perseant-exfatfs-base-20240630:1.1 perseant-exfatfs:1.1.0.54 perseant-exfatfs-base:1.1 netbsd-8-3-RELEASE:1.1 netbsd-9-4-RELEASE:1.1 netbsd-10-0-RELEASE:1.1 netbsd-10-0-RC6:1.1 netbsd-10-0-RC5:1.1 netbsd-10-0-RC4:1.1 netbsd-10-0-RC3:1.1 netbsd-10-0-RC2:1.1 netbsd-10-0-RC1:1.1 netbsd-10:1.1.0.52 netbsd-10-base:1.1 netbsd-9-3-RELEASE:1.1 cjep_sun2x-base1:1.1 cjep_sun2x:1.1.0.50 cjep_sun2x-base:1.1 cjep_staticlib_x-base1:1.1 netbsd-9-2-RELEASE:1.1 cjep_staticlib_x:1.1.0.48 cjep_staticlib_x-base:1.1 netbsd-9-1-RELEASE:1.1 phil-wifi-20200421:1.1 phil-wifi-20200411:1.1 is-mlppp:1.1.0.46 is-mlppp-base:1.1 phil-wifi-20200406:1.1 netbsd-8-2-RELEASE:1.1 netbsd-9-0-RELEASE:1.1 netbsd-9-0-RC2:1.1 netbsd-9-0-RC1:1.1 phil-wifi-20191119:1.1 netbsd-9:1.1.0.44 netbsd-9-base:1.1 phil-wifi-20190609:1.1 netbsd-8-1-RELEASE:1.1 netbsd-8-1-RC1:1.1 pgoyette-compat-merge-20190127:1.1 pgoyette-compat-20190127:1.1 pgoyette-compat-20190118:1.1 pgoyette-compat-1226:1.1 pgoyette-compat-1126:1.1 pgoyette-compat-1020:1.1 pgoyette-compat-0930:1.1 pgoyette-compat-0906:1.1 netbsd-7-2-RELEASE:1.1 pgoyette-compat-0728:1.1 netbsd-8-0-RELEASE:1.1 phil-wifi:1.1.0.42 phil-wifi-base:1.1 pgoyette-compat-0625:1.1 netbsd-8-0-RC2:1.1 pgoyette-compat-0521:1.1 pgoyette-compat-0502:1.1 pgoyette-compat-0422:1.1 netbsd-8-0-RC1:1.1 pgoyette-compat-0415:1.1 pgoyette-compat-0407:1.1 pgoyette-compat-0330:1.1 pgoyette-compat-0322:1.1 pgoyette-compat-0315:1.1 netbsd-7-1-2-RELEASE:1.1 pgoyette-compat:1.1.0.40 pgoyette-compat-base:1.1 netbsd-7-1-1-RELEASE:1.1 matt-nb8-mediatek:1.1.0.38 matt-nb8-mediatek-base:1.1 perseant-stdc-iso10646:1.1.0.36 perseant-stdc-iso10646-base:1.1 netbsd-8:1.1.0.34 netbsd-8-base:1.1 prg-localcount2-base3:1.1 prg-localcount2-base2:1.1 prg-localcount2-base1:1.1 prg-localcount2:1.1.0.32 prg-localcount2-base:1.1 pgoyette-localcount-20170426:1.1 bouyer-socketcan-base1:1.1 pgoyette-localcount-20170320:1.1 netbsd-7-1:1.1.0.30 netbsd-7-1-RELEASE:1.1 netbsd-7-1-RC2:1.1 netbsd-7-nhusb-base-20170116:1.1 bouyer-socketcan:1.1.0.28 bouyer-socketcan-base:1.1 pgoyette-localcount-20170107:1.1 netbsd-7-1-RC1:1.1 pgoyette-localcount-20161104:1.1 netbsd-7-0-2-RELEASE:1.1 localcount-20160914:1.1 netbsd-7-nhusb:1.1.0.26 netbsd-7-nhusb-base:1.1 pgoyette-localcount-20160806:1.1 pgoyette-localcount-20160726:1.1 pgoyette-localcount:1.1.0.24 pgoyette-localcount-base:1.1 netbsd-7-0-1-RELEASE:1.1 netbsd-7-0:1.1.0.22 netbsd-7-0-RELEASE:1.1 netbsd-7-0-RC3:1.1 netbsd-7-0-RC2:1.1 netbsd-7-0-RC1:1.1 netbsd-6-0-6-RELEASE:1.1 netbsd-6-1-5-RELEASE:1.1 netbsd-7:1.1.0.20 netbsd-7-base:1.1 yamt-pagecache-base9:1.1 yamt-pagecache-tag8:1.1.2.2 netbsd-6-1-4-RELEASE:1.1 netbsd-6-0-5-RELEASE:1.1 tls-earlyentropy:1.1.0.18 tls-earlyentropy-base:1.1 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1 riastradh-drm2-base3:1.1 netbsd-6-1-3-RELEASE:1.1 netbsd-6-0-4-RELEASE:1.1 netbsd-6-1-2-RELEASE:1.1 netbsd-6-0-3-RELEASE:1.1 netbsd-6-1-1-RELEASE:1.1 riastradh-drm2-base2:1.1 riastradh-drm2-base1:1.1 riastradh-drm2:1.1.0.12 riastradh-drm2-base:1.1 netbsd-6-1:1.1.0.16 netbsd-6-0-2-RELEASE:1.1 netbsd-6-1-RELEASE:1.1 netbsd-6-1-RC4:1.1 netbsd-6-1-RC3:1.1 agc-symver:1.1.0.14 agc-symver-base:1.1 netbsd-6-1-RC2:1.1 netbsd-6-1-RC1:1.1 yamt-pagecache-base8:1.1 netbsd-6-0-1-RELEASE:1.1 yamt-pagecache-base7:1.1 matt-nb6-plus-nbase:1.1 yamt-pagecache-base6:1.1 netbsd-6-0:1.1.0.10 netbsd-6-0-RELEASE:1.1 netbsd-6-0-RC2:1.1 tls-maxphys:1.1.0.8 tls-maxphys-base:1.1 matt-nb6-plus:1.1.0.6 matt-nb6-plus-base:1.1 netbsd-6-0-RC1:1.1 yamt-pagecache-base5:1.1 yamt-pagecache-base4:1.1 netbsd-6:1.1.0.4 netbsd-6-base:1.1 yamt-pagecache:1.1.0.2 yamt-pagecache-base3:1.1 yamt-pagecache-base2:1.1; locks; strict; comment @# @; 1.1 date 2011.11.06.16.40.37; author christos; state Exp; branches 1.1.2.1; next ; 1.1.2.1 date 2011.11.06.16.40.37; author yamt; state dead; branches; next 1.1.2.2; 1.1.2.2 date 2011.11.10.14.31.52; author yamt; state Exp; branches; next ; desc @@ 1.1 log @moved because we cannot have multiple FILESDIR @ text @NOTE regex implementation categorization 2004-05-31 ?E aa* xaxaax (1,2) POSITION=leftmost ; POSITION=bug ?E (a*)(ab)*(b*) abc (0,2)(0,1)(?,?)(1,2) ASSOCIATIVITY=right |E (a*)(ab)*(b*) abc (0,2)(0,0)(0,2)(2,2) ASSOCIATIVITY=left ; ASSOCIATIVITY=bug ?E ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,2)(0,0)(0,2)(2,3)(2,2)(2,3) SUBEXPRESSION=precedence |E ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,1)(0,1)(?,?)(1,3)(1,2)(2,3) SUBEXPRESSION=grouping ; SUBEXPRESSION=bug ?E (...?.?)* xxxxxx (0,6)(4,6) REPEAT_LONGEST=first |E (...?.?)* xxxxxx (0,6)(2,6) REPEAT_LONGEST=last |E (...?.?)* xxxxxx OK REPEAT_LONGEST=unknown ; REPEAT_LONGEST=bug ?E (a|ab)(bc|c) abcabc (0,3)(0,2)(2,3) EXPECTED |E (a|ab)(bc|c) abcabc (0,3)(0,1)(1,3) BUG=alternation-order ; BUG=alternation-order-UNKNOWN ?E (aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5) EXPECTED |E (aba|a*b)(aba|a*b) ababa (0,4)(0,3)(3,4) BUG=first-match ; BUG=unknown-match ?B a\(b\)*\1 a NOMATCH EXPECTED |B a\(b\)*\1 a (0,1) BUG=nomatch-match |B a\(b\)*\1 abab (0,2)(1,2) # BUG=repeat-any ; BUG=nomatch-match-UNKNOWN ?E (a*){2} xxxxx (0,0)(0,0) EXPECTED |E (a*){2} xxxxx (5,5)(5,5) BUG=range-null ; BUG=range-null-UNKNOWN ?B a\(b\)*\1 abab NOMATCH EXPECTED |B a\(b\)*\1 abab (0,1) # BUG=nomatch-match |B a\(b\)*\1 abab (0,2)(1,2) BUG=repeat-any ; BUG=repeat-any-UNKNOWN ?E (a*)* a (0,1)(0,1) EXPECTED |E (a*)* ax (0,1)(0,1) BUG=repeat-null-unknown |E (a*)* a (0,1)(1,1) BUG=repeat-null ; BUG=repeat-null-UNKNOWN ?E (aba|a*b)* ababa (0,5)(2,5) EXPECTED |E (aba|a*b)* ababa (0,5)(3,4) BUG=repeat-short |E (aba|a*b)* ababa (0,4)(3,4) # LENGTH=first ; BUG=repeat-short-UNKNOWN ?E (a(b)?)+ aba (0,3)(2,3) EXPECTED |E (a(b)?)+ aba (0,3)(2,3)(1,2) BUG=repeat-artifact ; BUG=repeat-artifact-UNKNOWN ?B \(a\(b\)*\)*\2 abab NOMATCH EXPECTED |B \(a\(b\)*\)*\2 abab (0,4)(2,3)(1,2) BUG=repeat-artifact-nomatch ; BUG=repeat-artifact-nomatch-UNKNOWN ?E (a?)((ab)?)(b?)a?(ab)?b? abab (0,4)(0,1)(1,1)(?,?)(1,2)(2,4) BUG=subexpression-first |E .*(.*) ab (0,2)(2,2) EXPECTED |E .*(.*) ab (0,2)(0,2) BUG=subexpression-first ; BUG=subexpression-first-UNKNOWN @ 1.1.2.1 log @file categorization.dat was added on branch yamt-pagecache on 2011-11-10 14:31:52 +0000 @ text @d1 62 @ 1.1.2.2 log @sync with head @ text @a0 62 NOTE regex implementation categorization 2004-05-31 ?E aa* xaxaax (1,2) POSITION=leftmost ; POSITION=bug ?E (a*)(ab)*(b*) abc (0,2)(0,1)(?,?)(1,2) ASSOCIATIVITY=right |E (a*)(ab)*(b*) abc (0,2)(0,0)(0,2)(2,2) ASSOCIATIVITY=left ; ASSOCIATIVITY=bug ?E ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,2)(0,0)(0,2)(2,3)(2,2)(2,3) SUBEXPRESSION=precedence |E ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,1)(0,1)(?,?)(1,3)(1,2)(2,3) SUBEXPRESSION=grouping ; SUBEXPRESSION=bug ?E (...?.?)* xxxxxx (0,6)(4,6) REPEAT_LONGEST=first |E (...?.?)* xxxxxx (0,6)(2,6) REPEAT_LONGEST=last |E (...?.?)* xxxxxx OK REPEAT_LONGEST=unknown ; REPEAT_LONGEST=bug ?E (a|ab)(bc|c) abcabc (0,3)(0,2)(2,3) EXPECTED |E (a|ab)(bc|c) abcabc (0,3)(0,1)(1,3) BUG=alternation-order ; BUG=alternation-order-UNKNOWN ?E (aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5) EXPECTED |E (aba|a*b)(aba|a*b) ababa (0,4)(0,3)(3,4) BUG=first-match ; BUG=unknown-match ?B a\(b\)*\1 a NOMATCH EXPECTED |B a\(b\)*\1 a (0,1) BUG=nomatch-match |B a\(b\)*\1 abab (0,2)(1,2) # BUG=repeat-any ; BUG=nomatch-match-UNKNOWN ?E (a*){2} xxxxx (0,0)(0,0) EXPECTED |E (a*){2} xxxxx (5,5)(5,5) BUG=range-null ; BUG=range-null-UNKNOWN ?B a\(b\)*\1 abab NOMATCH EXPECTED |B a\(b\)*\1 abab (0,1) # BUG=nomatch-match |B a\(b\)*\1 abab (0,2)(1,2) BUG=repeat-any ; BUG=repeat-any-UNKNOWN ?E (a*)* a (0,1)(0,1) EXPECTED |E (a*)* ax (0,1)(0,1) BUG=repeat-null-unknown |E (a*)* a (0,1)(1,1) BUG=repeat-null ; BUG=repeat-null-UNKNOWN ?E (aba|a*b)* ababa (0,5)(2,5) EXPECTED |E (aba|a*b)* ababa (0,5)(3,4) BUG=repeat-short |E (aba|a*b)* ababa (0,4)(3,4) # LENGTH=first ; BUG=repeat-short-UNKNOWN ?E (a(b)?)+ aba (0,3)(2,3) EXPECTED |E (a(b)?)+ aba (0,3)(2,3)(1,2) BUG=repeat-artifact ; BUG=repeat-artifact-UNKNOWN ?B \(a\(b\)*\)*\2 abab NOMATCH EXPECTED |B \(a\(b\)*\)*\2 abab (0,4)(2,3)(1,2) BUG=repeat-artifact-nomatch ; BUG=repeat-artifact-nomatch-UNKNOWN ?E (a?)((ab)?)(b?)a?(ab)?b? abab (0,4)(0,1)(1,1)(?,?)(1,2)(2,4) BUG=subexpression-first |E .*(.*) ab (0,2)(2,2) EXPECTED |E .*(.*) ab (0,2)(0,2) BUG=subexpression-first ; BUG=subexpression-first-UNKNOWN @