Lines Matching refs:matcher
43 typedef bool MatchFn(Matcher* matcher);
50 static bool Mark(Matcher* matcher);
53 static bool Required(Matcher* matcher);
56 static bool Repeated(Matcher* matcher); // On match, returns to the mark.
84 bool Matcher::Mark(Matcher* matcher) { in Mark() argument
85 matcher->pos_ += 1u; // Advance to the next match function before marking. in Mark()
86 matcher->mark_ = matcher->pos_; in Mark()
91 bool Matcher::Required(Matcher* matcher) { in Required() argument
92 if (!(matcher->*Fn)()) { in Required()
95 matcher->pos_ += 1u; in Required()
96 matcher->instruction_ = matcher->instruction_->Next(); in Required()
101 bool Matcher::Repeated(Matcher* matcher) { in Repeated() argument
102 if (!(matcher->*Fn)()) { in Repeated()
104 matcher->pos_ += 1u; in Repeated()
107 matcher->pos_ = matcher->mark_; in Repeated()
108 matcher->instruction_ = matcher->instruction_->Next(); in Repeated()
131 Matcher matcher(code_item); in DoMatch() local
132 while (matcher.pos_ != size) { in DoMatch()
133 if (!pattern[matcher.pos_](&matcher)) { in DoMatch()