Commit 463ca389 authored by Paul's avatar Paul
Browse files

Rename matcher namespace

parent 72b91bf6
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
namespace migraph { namespace migraph {
namespace matchers { namespace match {
struct matcher_context struct matcher_context
{ {
...@@ -172,7 +172,7 @@ basic_matcher<predicate_matcher<P>> make_basic_pred_matcher(P p) ...@@ -172,7 +172,7 @@ basic_matcher<predicate_matcher<P>> make_basic_pred_matcher(P p)
{ \ { \
instruction_ref match(__VA_ARGS__) const; \ instruction_ref match(__VA_ARGS__) const; \
}; \ }; \
const constexpr auto name = migraph::matchers::basic_matcher<name##_m>{{}}; \ const constexpr auto name = migraph::match::basic_matcher<name##_m>{{}}; \
inline instruction_ref name##_m::match(__VA_ARGS__) const inline instruction_ref name##_m::match(__VA_ARGS__) const
/// This macro takes care of the boilerplate for defining a predicate matcher /// This macro takes care of the boilerplate for defining a predicate matcher
...@@ -181,7 +181,7 @@ basic_matcher<predicate_matcher<P>> make_basic_pred_matcher(P p) ...@@ -181,7 +181,7 @@ basic_matcher<predicate_matcher<P>> make_basic_pred_matcher(P p)
{ \ { \
bool operator()(__VA_ARGS__) const; \ bool operator()(__VA_ARGS__) const; \
}; \ }; \
const constexpr auto name = migraph::matchers::basic_matcher<predicate_matcher<name##_m>>{{}}; \ const constexpr auto name = migraph::match::basic_matcher<predicate_matcher<name##_m>>{{}}; \
inline bool name##_m::operator()(__VA_ARGS__) const inline bool name##_m::operator()(__VA_ARGS__) const
struct matcher_result struct matcher_result
...@@ -294,7 +294,7 @@ struct args_impl_ints ...@@ -294,7 +294,7 @@ struct args_impl_ints
template <std::size_t... Ns, class... Ms> template <std::size_t... Ns, class... Ms>
auto args_impl(args_impl_ints<Ns...>, Ms... ms) auto args_impl(args_impl_ints<Ns...>, Ms... ms)
{ {
return matchers::all_of(nargs(sizeof...(Ns)), arg(Ns)(ms)...); return match::all_of(nargs(sizeof...(Ns)), arg(Ns)(ms)...);
} }
template <class... Ms> template <class... Ms>
...@@ -306,7 +306,7 @@ auto args(Ms... ms) ...@@ -306,7 +306,7 @@ auto args(Ms... ms)
}); });
} }
} // namespace matchers } // namespace match
} // namespace migraph } // namespace migraph
......
...@@ -3,15 +3,15 @@ ...@@ -3,15 +3,15 @@
#include <test.hpp> #include <test.hpp>
#include <basic_ops.hpp> #include <basic_ops.hpp>
namespace matchers = migraph::matchers; namespace match = migraph::match;
template <class M> template <class M>
migraph::matchers::matcher_result find_match(migraph::program& p, M&& m) migraph::match::matcher_result find_match(migraph::program& p, M&& m)
{ {
migraph::matchers::matcher_result result; migraph::match::matcher_result result;
for(auto ins : migraph::iterator_for(p)) for(auto ins : migraph::iterator_for(p))
{ {
result = migraph::matchers::match_instruction(p, ins, m); result = migraph::match::match_instruction(p, ins, m);
if(result.result != p.end()) if(result.result != p.end())
return result; return result;
} }
...@@ -22,7 +22,7 @@ void match1() ...@@ -22,7 +22,7 @@ void match1()
{ {
migraph::program p; migraph::program p;
auto l = p.add_literal(1); auto l = p.add_literal(1);
auto m = matchers::standard_shape(); auto m = match::standard_shape();
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == l}); EXPECT(bool{r.result == l});
} }
...@@ -34,7 +34,7 @@ void match_name1() ...@@ -34,7 +34,7 @@ void match_name1()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum"); auto m = match::name("sum");
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum}); EXPECT(bool{r.result == sum});
} }
...@@ -46,7 +46,7 @@ void match_name2() ...@@ -46,7 +46,7 @@ void match_name2()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("min"); auto m = match::name("min");
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == p.end()}); EXPECT(bool{r.result == p.end()});
} }
...@@ -58,7 +58,7 @@ void match_name3() ...@@ -58,7 +58,7 @@ void match_name3()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::standard_shape()); auto m = match::name("sum")(match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum}); EXPECT(bool{r.result == sum});
} }
...@@ -70,8 +70,8 @@ void match_arg1() ...@@ -70,8 +70,8 @@ void match_arg1()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::arg(0)(matchers::name("@literal")), auto m = match::name("sum")(match::arg(0)(match::name("@literal")),
matchers::standard_shape()); match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum}); EXPECT(bool{r.result == sum});
} }
...@@ -84,7 +84,7 @@ void match_arg2() ...@@ -84,7 +84,7 @@ void match_arg2()
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = auto m =
matchers::name("sum")(matchers::arg(0)(matchers::name("sum")), matchers::standard_shape()); match::name("sum")(match::arg(0)(match::name("sum")), match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == p.end()}); EXPECT(bool{r.result == p.end()});
} }
...@@ -96,8 +96,8 @@ void match_arg3() ...@@ -96,8 +96,8 @@ void match_arg3()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::arg(1)(matchers::name("@literal")), auto m = match::name("sum")(match::arg(1)(match::name("@literal")),
matchers::standard_shape()); match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum}); EXPECT(bool{r.result == sum});
} }
...@@ -110,7 +110,7 @@ void match_arg4() ...@@ -110,7 +110,7 @@ void match_arg4()
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
auto pass = p.add_instruction(pass_op{}, sum); auto pass = p.add_instruction(pass_op{}, sum);
auto m = auto m =
matchers::name("pass")(matchers::arg(0)(matchers::name("sum")), matchers::standard_shape()); match::name("pass")(match::arg(0)(match::name("sum")), match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == pass}); EXPECT(bool{r.result == pass});
} }
...@@ -123,7 +123,7 @@ void match_arg5() ...@@ -123,7 +123,7 @@ void match_arg5()
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = auto m =
matchers::name("pass")(matchers::arg(1)(matchers::name("sum")), matchers::standard_shape()); match::name("pass")(match::arg(1)(match::name("sum")), match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == p.end()}); EXPECT(bool{r.result == p.end()});
} }
...@@ -135,7 +135,7 @@ void match_arg6() ...@@ -135,7 +135,7 @@ void match_arg6()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::arg(0)(matchers::name("@literal"))); auto m = match::name("sum")(match::arg(0)(match::name("@literal")));
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum}); EXPECT(bool{r.result == sum});
} }
...@@ -147,8 +147,8 @@ void match_arg7() ...@@ -147,8 +147,8 @@ void match_arg7()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::arg(0)(matchers::name("@literal")), auto m = match::name("sum")(match::arg(0)(match::name("@literal")),
matchers::arg(1)(matchers::name("@literal"))); match::arg(1)(match::name("@literal")));
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum}); EXPECT(bool{r.result == sum});
} }
...@@ -160,9 +160,9 @@ void match_args1() ...@@ -160,9 +160,9 @@ void match_args1()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")( auto m = match::name("sum")(
matchers::args(matchers::name("@literal"), matchers::name("@literal")), match::args(match::name("@literal"), match::name("@literal")),
matchers::standard_shape()); match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum}); EXPECT(bool{r.result == sum});
} }
...@@ -175,8 +175,8 @@ void match_args2() ...@@ -175,8 +175,8 @@ void match_args2()
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = auto m =
matchers::name("sum")(matchers::args(matchers::name("@literal"), matchers::name("sum")), match::name("sum")(match::args(match::name("@literal"), match::name("sum")),
matchers::standard_shape()); match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == p.end()}); EXPECT(bool{r.result == p.end()});
} }
...@@ -188,8 +188,8 @@ void match_args3() ...@@ -188,8 +188,8 @@ void match_args3()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::args(matchers::name("@literal")), auto m = match::name("sum")(match::args(match::name("@literal")),
matchers::standard_shape()); match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == p.end()}); EXPECT(bool{r.result == p.end()});
} }
...@@ -203,8 +203,8 @@ void match_args4() ...@@ -203,8 +203,8 @@ void match_args4()
auto sum2 = p.add_instruction(sum_op{}, sum1, two); auto sum2 = p.add_instruction(sum_op{}, sum1, two);
p.add_instruction(pass_op{}, sum2); p.add_instruction(pass_op{}, sum2);
auto m = auto m =
matchers::name("sum")(matchers::args(matchers::name("sum"), matchers::name("@literal")), match::name("sum")(match::args(match::name("sum"), match::name("@literal")),
matchers::standard_shape()); match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum2}); EXPECT(bool{r.result == sum2});
} }
...@@ -217,8 +217,8 @@ void match_args5() ...@@ -217,8 +217,8 @@ void match_args5()
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = auto m =
matchers::name("sum")(matchers::args(matchers::name("sum"), matchers::name("@literal")), match::name("sum")(match::args(match::name("sum"), match::name("@literal")),
matchers::standard_shape()); match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == p.end()}); EXPECT(bool{r.result == p.end()});
} }
...@@ -231,7 +231,7 @@ void match_args6() ...@@ -231,7 +231,7 @@ void match_args6()
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
auto pass = p.add_instruction(pass_op{}, sum); auto pass = p.add_instruction(pass_op{}, sum);
auto m = auto m =
matchers::name("pass")(matchers::args(matchers::name("sum")), matchers::standard_shape()); match::name("pass")(match::args(match::name("sum")), match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == pass}); EXPECT(bool{r.result == pass});
} }
...@@ -243,9 +243,9 @@ void match_args7() ...@@ -243,9 +243,9 @@ void match_args7()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
auto pass = p.add_instruction(pass_op{}, sum); auto pass = p.add_instruction(pass_op{}, sum);
auto m = matchers::name("pass")(matchers::args(matchers::name("sum")(matchers::args( auto m = match::name("pass")(match::args(match::name("sum")(match::args(
matchers::name("@literal"), matchers::name("@literal")))), match::name("@literal"), match::name("@literal")))),
matchers::standard_shape()); match::standard_shape());
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == pass}); EXPECT(bool{r.result == pass});
} }
...@@ -257,8 +257,8 @@ void match_all_of1() ...@@ -257,8 +257,8 @@ void match_all_of1()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::all_of(matchers::arg(0)(matchers::name("@literal")), auto m = match::name("sum")(match::all_of(match::arg(0)(match::name("@literal")),
matchers::arg(1)(matchers::name("@literal")))); match::arg(1)(match::name("@literal"))));
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum}); EXPECT(bool{r.result == sum});
} }
...@@ -270,8 +270,8 @@ void match_all_of2() ...@@ -270,8 +270,8 @@ void match_all_of2()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::all_of(matchers::arg(0)(matchers::name("sum")), auto m = match::name("sum")(match::all_of(match::arg(0)(match::name("sum")),
matchers::arg(1)(matchers::name("@literal")))); match::arg(1)(match::name("@literal"))));
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == p.end()}); EXPECT(bool{r.result == p.end()});
} }
...@@ -283,8 +283,8 @@ void match_any_of1() ...@@ -283,8 +283,8 @@ void match_any_of1()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::any_of(matchers::arg(0)(matchers::name("sum")), auto m = match::name("sum")(match::any_of(match::arg(0)(match::name("sum")),
matchers::arg(1)(matchers::name("@literal")))); match::arg(1)(match::name("@literal"))));
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum}); EXPECT(bool{r.result == sum});
} }
...@@ -296,8 +296,8 @@ void match_any_of2() ...@@ -296,8 +296,8 @@ void match_any_of2()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::any_of(matchers::arg(0)(matchers::name("sum")), auto m = match::name("sum")(match::any_of(match::arg(0)(match::name("sum")),
matchers::arg(1)(matchers::name("sum")))); match::arg(1)(match::name("sum"))));
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == p.end()}); EXPECT(bool{r.result == p.end()});
} }
...@@ -309,8 +309,8 @@ void match_none_of1() ...@@ -309,8 +309,8 @@ void match_none_of1()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::none_of(matchers::arg(0)(matchers::name("sum")), auto m = match::name("sum")(match::none_of(match::arg(0)(match::name("sum")),
matchers::arg(1)(matchers::name("sum")))); match::arg(1)(match::name("sum"))));
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == sum}); EXPECT(bool{r.result == sum});
} }
...@@ -322,8 +322,8 @@ void match_none_of2() ...@@ -322,8 +322,8 @@ void match_none_of2()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
auto m = matchers::name("sum")(matchers::none_of(matchers::arg(0)(matchers::name("@literal")), auto m = match::name("sum")(match::none_of(match::arg(0)(match::name("@literal")),
matchers::arg(1)(matchers::name("@literal")))); match::arg(1)(match::name("@literal"))));
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.result == p.end()}); EXPECT(bool{r.result == p.end()});
} }
...@@ -335,12 +335,12 @@ void match_bind1() ...@@ -335,12 +335,12 @@ void match_bind1()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
auto pass = p.add_instruction(pass_op{}, sum); auto pass = p.add_instruction(pass_op{}, sum);
auto m = matchers::name("pass")( auto m = match::name("pass")(
matchers::args( match::args(
matchers::name("sum")(matchers::args(matchers::name("@literal").bind("one"), match::name("sum")(match::args(match::name("@literal").bind("one"),
matchers::name("@literal").bind("two"))) match::name("@literal").bind("two")))
.bind("sum")), .bind("sum")),
matchers::standard_shape()) match::standard_shape())
.bind("pass"); .bind("pass");
auto r = find_match(p, m); auto r = find_match(p, m);
EXPECT(bool{r.instructions.at("one") == one}); EXPECT(bool{r.instructions.at("one") == one});
...@@ -353,9 +353,9 @@ void match_bind1() ...@@ -353,9 +353,9 @@ void match_bind1()
struct match_find_sum struct match_find_sum
{ {
migraph::instruction_ref ins; migraph::instruction_ref ins;
auto matcher() const { return matchers::name("sum"); } auto matcher() const { return match::name("sum"); }
void apply(migraph::program&, matchers::matcher_result r) const void apply(migraph::program&, match::matcher_result r) const
{ {
EXPECT(bool{r.result == ins}); EXPECT(bool{r.result == ins});
} }
...@@ -364,9 +364,9 @@ struct match_find_sum ...@@ -364,9 +364,9 @@ struct match_find_sum
struct match_find_literal struct match_find_literal
{ {
migraph::instruction_ref ins; migraph::instruction_ref ins;
auto matcher() const { return matchers::name("@literal"); } auto matcher() const { return match::name("@literal"); }
void apply(migraph::program&, matchers::matcher_result r) const void apply(migraph::program&, match::matcher_result r) const
{ {
EXPECT(bool{r.result != ins}); EXPECT(bool{r.result != ins});
EXPECT(r.result->name() == "@literal"); EXPECT(r.result->name() == "@literal");
...@@ -380,7 +380,7 @@ void match_finder() ...@@ -380,7 +380,7 @@ void match_finder()
auto two = p.add_literal(2); auto two = p.add_literal(2);
auto sum = p.add_instruction(sum_op{}, one, two); auto sum = p.add_instruction(sum_op{}, one, two);
p.add_instruction(pass_op{}, sum); p.add_instruction(pass_op{}, sum);
matchers::find_matches(p, match_find_sum{sum}, match_find_literal{sum}); match::find_matches(p, match_find_sum{sum}, match_find_literal{sum});
} }
int main() int main()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment