From 6b6557e8b3b094132c619e3a2e00fe28422fd16f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 27 Dec 2003 23:40:06 +0000 Subject: Update. 2003-12-23 Paolo Bonzini * posix/regex_internal.c (re_dfa_add_node): Initialize opt_subexp. * posix/regex_internal.h (re_token_type_t): Put OP_DUP_PLUS among the tokens, rather than among the epsilon-transiting nodes. (re_token_t): Add the opt_subexp flag. * posix/regcomp.c (optimize_utf8, calc_first, calc_next, calc_epsdest): Don't consider OP_DUP_PLUS. (mark_opt_subexp, mark_opt_subexp_iter): New functions. (parse_dup_op): Mostly rewritten, lowering OP_DUP_PLUS to OP_DUP_ASTERISK and marking optional subexpressions as such using mark_opt_subexp. * posix/regexec.c (set_regs): Initialize PREV_INDEX_MATCH and pass it to update_regs. (update_regs): Use the PREV_INDEX_MATCH parameter, together with the opt_subexp flag, in order to discard a final empty match of a repeated subexpression. * posix/BOOST.tests: Adjust test vectors. * posix/PCRE.tests: Likewise. * posix/rxspencer/tests: Likewise. 2003-12-17 Paolo Bonzini 2003-12-16 Paolo Bonzini 2003-12-17 Paolo Bonzini 2003-12-16 Jakub Jelinek 2003-04-06 Kaz Kojima 2003-02-20 Paolo Bonzini 2003-01-12 Franz Sirl 2003-01-09 Richard Henderson 2003-01-09 Richard Henderson 2003-01-03 Paul Eggert --- posix/BOOST.tests | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) (limited to 'posix/BOOST.tests') diff --git a/posix/BOOST.tests b/posix/BOOST.tests index 32b6c921ad..98fd3b6abf 100644 --- a/posix/BOOST.tests +++ b/posix/BOOST.tests @@ -432,27 +432,22 @@ a(b|c){2,4}d abcbd 0 5 3 4 a(b|c){2,4}d abcbcd 0 6 4 5 a(b|c){2,}d abcd 0 4 2 3 a(b|c){2,}d abcbd 0 5 3 4 -; perl only: -a(b|c?)+d abcd 0 4 3 3 -a(b+|((c)*))+d abd 0 3 2 2 2 2 -1 -1 -a(b+|((c)*))+d abcd 0 4 3 3 3 3 2 3 +; perl only: these conflict with the POSIX test below +;a(b|c?)+d abcd 0 4 3 3 +;a(b+|((c)*))+d abd 0 3 2 2 2 2 -1 -1 +;a(b+|((c)*))+d abcd 0 4 3 3 3 3 2 3 ; posix only: - match_default extended REG_EXTENDED REG_STARTEND -; XXX FIXME the following 4 tests fail ATM -;a(b|c?)+d abcd 0 4 2 3 -;a(b|((c)*))+d abcd 0 4 2 3 2 3 2 3 -;a(b+|((c)*))+d abd 0 3 1 2 -1 -1 -1 -1 -;a(b+|((c)*))+d abcd 0 4 2 3 2 3 2 3 - +a(b|c?)+d abcd 0 4 2 3 +a(b|((c)*))+d abcd 0 4 2 3 2 3 2 3 +a(b+|((c)*))+d abd 0 3 1 2 -1 -1 -1 -1 +a(b+|((c)*))+d abcd 0 4 2 3 2 3 2 3 a(b|((c)*))+d ad 0 2 1 1 1 1 -1 -1 - -; XXX FIXME the following 3 tests fail ATM -;a(b|((c)*))*d abcd 0 4 2 3 2 3 2 3 -;a(b+|((c)*))*d abd 0 3 1 2 -1 -1 -1 -1 -;a(b+|((c)*))*d abcd 0 4 2 3 2 3 2 3 - +a(b|((c)*))*d abcd 0 4 2 3 2 3 2 3 +a(b+|((c)*))*d abd 0 3 1 2 -1 -1 -1 -1 +a(b+|((c)*))*d abcd 0 4 2 3 2 3 2 3 a(b|((c)*))*d ad 0 2 1 1 1 1 -1 -1 - match_default normal REG_PERL -- cgit v1.2.3