match

convenient function to instantiate a matcher

Parser!(T)
match
(
T
)
(
T[] s
,
bool collect = true
)

Examples

matching a string

1 import unit_threaded;
2 
3 auto parser = match("test");
4 auto res = parser.parseAll("test");
5 
6 res.success.shouldBeTrue;
7 res.rest.length.shouldEqual(0);

transform match result

1 import unit_threaded;
2 
3 auto parser = match("test") ^^ (objects) {
4     auto res = objects;
5     if (objects[0] == "test")
6     {
7         res[0] = "super";
8     }
9     return objects;
10 };
11 auto res = parser.parse("test");
12 res.success.shouldBeTrue;
13 res.results[0].shouldEqual("super");

Meta