Compute item set transitions
This commit is contained in:
parent
100ab56779
commit
99c216f78a
23 changed files with 250 additions and 55 deletions
|
|
@ -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()
|
||||
})
|
||||
}})));
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue