From 87ec03a2ead142ebc6817eacae48804d8579a55d Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Fri, 9 Jul 2010 00:15:26 +0000 Subject: [PATCH] weekly update to by-chapter-summary, plus left and right anchor support in basic posix. llvm-svn: 107938 --- libcxx/include/regex | 87 ++++++++++-------- .../re/re.alg/re.alg.search/basic.pass.cpp | 72 +++++++++++++++ libcxx/www/libcxx_by_chapter.pdf | Bin 32855 -> 32194 bytes 3 files changed, 123 insertions(+), 36 deletions(-) diff --git a/libcxx/include/regex b/libcxx/include/regex index 7641a4a3cc03..c9f509794dbd 100644 --- a/libcxx/include/regex +++ b/libcxx/include/regex @@ -1238,7 +1238,7 @@ struct __command __zero_marked_exprs, }; - typedef __state<_CharT> __state; + typedef _STD::__state<_CharT> __state; int __do_; const __state* first; @@ -1275,7 +1275,7 @@ class __state __state(const __state&); __state& operator=(const __state&); public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; __state() {} virtual ~__state() {} @@ -1296,7 +1296,7 @@ class __end_state : public __state<_CharT> { public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; __end_state() {} @@ -1366,7 +1366,7 @@ class __empty_state typedef __owns_one_state<_CharT> base; public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; explicit __empty_state(__state<_CharT>* __s) : base(__s) {} @@ -1399,7 +1399,7 @@ class __empty_non_own_state typedef __has_one_state<_CharT> base; public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; explicit __empty_non_own_state(__state<_CharT>* __s) : base(__s) {} @@ -1463,7 +1463,7 @@ class __loop bool __greedy_; public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; explicit __loop(unsigned __loop_id, __state<_CharT>* __s1, __owns_one_state<_CharT>* __s2, @@ -1524,7 +1524,7 @@ class __zero_loop_count size_t __loop_id_; public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; explicit __zero_loop_count(size_t __loop_id, __state<_CharT>* __s1) @@ -1565,7 +1565,7 @@ class __increment_loop_count size_t __loop_id_; public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; explicit __increment_loop_count(size_t __loop_id, __state<_CharT>* __s1) @@ -1607,7 +1607,7 @@ class __zero_marked_exprs size_t __end_; public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; explicit __zero_marked_exprs(size_t __begin, size_t __end, __state<_CharT>* __s1) @@ -1653,7 +1653,7 @@ class __begin_marked_subexpression unsigned __mexp_; public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; explicit __begin_marked_subexpression(unsigned __mexp, __state<_CharT>* __s) : base(__s), __mexp_(__mexp) {} @@ -1693,7 +1693,7 @@ class __end_marked_subexpression unsigned __mexp_; public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; explicit __end_marked_subexpression(unsigned __mexp, __state<_CharT>* __s) : base(__s), __mexp_(__mexp) {} @@ -1724,26 +1724,22 @@ __end_marked_subexpression<_CharT>::__test(const _CharT*, const _CharT* __c, con return __command(__command::__accept_but_not_consume, this->first()); } -// __state_arg +// __r_anchor template -class __state_arg +class __r_anchor : public __owns_one_state<_CharT> { typedef __owns_one_state<_CharT> base; - unsigned __arg_; - - __state_arg(const __state_arg&); - __state_arg& operator=(const __state_arg&); public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; - __state_arg(unsigned __a, __state<_CharT>* __s) - : base(__s), __arg_(__a) {} + __r_anchor(__state<_CharT>* __s) + : base(__s) {} - virtual __command __test(const _CharT*, const _CharT*, - const _CharT*, + virtual __command __test(const _CharT*, const _CharT* __c, + const _CharT* __l, vector&, sub_match*, regex_constants::match_flag_type) const; @@ -1751,19 +1747,20 @@ public: virtual string speak() const { ostringstream os; - os << "state arg " << __arg_; + os << "right anchor"; return os.str(); } }; template __command<_CharT> -__state_arg<_CharT>::__test(const _CharT*, const _CharT* __c, const _CharT*, +__r_anchor<_CharT>::__test(const _CharT*, const _CharT* __c, const _CharT* __l, vector&, sub_match*, regex_constants::match_flag_type) const { - return __command(__arg_, this->first()); + return __c == __l ? + __command(__command::__accept_but_not_consume, this->first()) : __command(); } // __match_char @@ -1779,7 +1776,7 @@ class __match_char __match_char(const __match_char&); __match_char& operator=(const __match_char&); public: - typedef __command<_CharT> __command; + typedef _STD::__command<_CharT> __command; __match_char(_CharT __c, __state<_CharT>* __s) : base(__s), __c_(__c) {} @@ -1829,9 +1826,10 @@ private: int __open_count_; shared_ptr<__empty_state<_CharT> > __start_; __owns_one_state<_CharT>* __end_; + bool __left_anchor_; - typedef __command<_CharT> __command; - typedef __state<_CharT> __state; + typedef _STD::__command<_CharT> __command; + typedef _STD::__state<_CharT> __state; public: // constants: @@ -1848,13 +1846,16 @@ public: // construct/copy/destroy: basic_regex() - : __flags_(), __marked_count_(0), __loop_count_(0), __open_count_(0), __end_(0) + : __flags_(), __marked_count_(0), __loop_count_(0), __open_count_(0), + __end_(0), __left_anchor_(false) {} explicit basic_regex(const value_type* __p, flag_type __f = regex_constants::ECMAScript) - : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), __end_(0) + : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), + __end_(0), __left_anchor_(false) {__parse(__p, __p + __traits_.length(__p));} basic_regex(const value_type* __p, size_t __len, flag_type __f) - : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), __end_(0) + : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), + __end_(0), __left_anchor_(false) {__parse(__p, __p + __len);} basic_regex(const basic_regex&); #ifdef _LIBCPP_MOVE @@ -1863,16 +1864,19 @@ public: template explicit basic_regex(const basic_string& __p, flag_type __f = regex_constants::ECMAScript) - : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), __end_(0) + : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), + __end_(0), __left_anchor_(false) {__parse(__p.begin(), __p.end());} template basic_regex(_ForwardIterator __first, _ForwardIterator __last, flag_type __f = regex_constants::ECMAScript) - : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), __end_(0) + : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), + __end_(0), __left_anchor_(false) {__parse(__first, __last);} basic_regex(initializer_list __il, flag_type __f = regex_constants::ECMAScript) - : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), __end_(0) + : __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), + __end_(0), __left_anchor_(false) {__parse(__il.begin(), __il.end());} ~basic_regex(); @@ -2002,8 +2006,8 @@ private: _ForwardIterator __parse_QUOTED_CHAR_ERE(_ForwardIterator __first, _ForwardIterator __last); - void __push_l_anchor() {} - void __push_r_anchor() {} + void __push_l_anchor() {__left_anchor_ = true;} + void __push_r_anchor(); void __push_match_any() {} void __push_greedy_inf_repeat(size_t __min, __owns_one_state<_CharT>* __s, unsigned __mexp_begin = 0, unsigned __mexp_end = 0) @@ -2945,6 +2949,15 @@ basic_regex<_CharT, _Traits>::__push_end_marked_subexpression(unsigned __sub) __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first()); } +template +void +basic_regex<_CharT, _Traits>::__push_r_anchor() +{ + __end_->first() = new __r_anchor<_CharT>(__end_->first()); + __end_ = static_cast<__owns_one_state<_CharT>*>(__end_->first()); +} + + typedef basic_regex regex; typedef basic_regex wregex; @@ -3698,6 +3711,8 @@ basic_regex<_CharT, _Traits>::__search( match_results<_BidirectionalIterator, _Allocator>& __m, regex_constants::match_flag_type __flags) const { + if (__left_anchor_) + __flags |= regex_constants::match_continuous; __m.__init(1 + mark_count(), __first, __last); vector __lc(__loop_count()); if (__match_at_start(__first, __last, __m, __lc, __flags)) diff --git a/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp b/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp index 567301369bf3..ae25fbe287ee 100644 --- a/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp +++ b/libcxx/test/re/re.alg/re.alg.search/basic.pass.cpp @@ -157,4 +157,76 @@ int main() assert(m.position(2) == 4); assert(m.str(2) == "e"); } + { + std::cmatch m; + const char s[] = "abc"; + assert(std::regex_search(s, m, std::regex("^abc", std::regex_constants::basic))); + assert(m.size() == 1); + assert(!m.prefix().matched); + assert(m.prefix().first == s); + assert(m.prefix().second == m[0].first); + assert(!m.suffix().matched); + assert(m.suffix().first == m[0].second); + assert(m.suffix().second == s+3); + assert(m.length(0) == 3); + assert(m.position(0) == 0); + assert(m.str(0) == s); + } + { + std::cmatch m; + const char s[] = "abcd"; + assert(std::regex_search(s, m, std::regex("^abc", std::regex_constants::basic))); + assert(m.size() == 1); + assert(!m.prefix().matched); + assert(m.prefix().first == s); + assert(m.prefix().second == m[0].first); + assert(m.suffix().matched); + assert(m.suffix().first == m[0].second); + assert(m.suffix().second == s+4); + assert(m.length(0) == 3); + assert(m.position(0) == 0); + assert(m.str(0) == "abc"); + } + { + std::cmatch m; + const char s[] = "aabc"; + assert(!std::regex_search(s, m, std::regex("^abc", std::regex_constants::basic))); + assert(m.size() == 0); + } + { + std::cmatch m; + const char s[] = "abc"; + assert(std::regex_search(s, m, std::regex("abc$", std::regex_constants::basic))); + assert(m.size() == 1); + assert(!m.prefix().matched); + assert(m.prefix().first == s); + assert(m.prefix().second == m[0].first); + assert(!m.suffix().matched); + assert(m.suffix().first == m[0].second); + assert(m.suffix().second == s+3); + assert(m.length(0) == 3); + assert(m.position(0) == 0); + assert(m.str(0) == s); + } + { + std::cmatch m; + const char s[] = "efabc"; + assert(std::regex_search(s, m, std::regex("abc$", std::regex_constants::basic))); + assert(m.size() == 1); + assert(m.prefix().matched); + assert(m.prefix().first == s); + assert(m.prefix().second == m[0].first); + assert(!m.suffix().matched); + assert(m.suffix().first == m[0].second); + assert(m.suffix().second == s+5); + assert(m.length(0) == 3); + assert(m.position(0) == 2); + assert(m.str(0) == s+2); + } + { + std::cmatch m; + const char s[] = "efabcg"; + assert(!std::regex_search(s, m, std::regex("abc$", std::regex_constants::basic))); + assert(m.size() == 0); + } } diff --git a/libcxx/www/libcxx_by_chapter.pdf b/libcxx/www/libcxx_by_chapter.pdf index c49f916b5717bb80e15447f446caa7569f03cd0e..a7ba82da58d9c651c8b02f604b089ef49307ce00 100644 GIT binary patch delta 27045 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 e%F5!oxtqJXd%Id$fQ@pJyKc delta 27821 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 NO?Lgdinc1*{{nbbdDZ{`