Compute item set transitions

This commit is contained in:
Max Brunsfeld 2013-11-20 19:00:20 -08:00
parent 100ab56779
commit 99c216f78a
23 changed files with 250 additions and 55 deletions

View file

@ -42,6 +42,15 @@ Describe(Rules) {
})));
}
It(handles_character_classes) {
auto rule = rules::char_class(rules::CharClassTypeDigit);
AssertThat(
rule->transitions(),
EqualsTransitionMap(TransitionMap<rules::Rule>({
{ rule, rules::blank() }
})));
}
It(handles_choices) {
AssertThat(
rules::choice({ symbol1, symbol2 })->transitions(),
@ -117,6 +126,18 @@ Describe(Rules) {
})
})
}})));
repeat = rules::repeat(rules::str("a"));
AssertThat(
repeat->transitions(),
EqualsTransitionMap(TransitionMap<rules::Rule>({
{
rules::character('a'),
rules::choice({
repeat,
rules::blank()
})
}})));
}
};
};