toNfa method
Compiles this AST node into a nondeterministic finite automaton (Nfa).
Implementation
@override
Nfa toNfa() {
final childNfa = child.toNfa();
final accepted = _collectAcceptedCodePoints(childNfa);
final start = NfaState(isEnd: false);
final end = NfaState(isEnd: true);
for (var i = 0; i <= 0xffff; i++) {
if (!accepted.contains(i)) {
start.transitions[i] = end;
}
}
return Nfa(start: start, end: end);
}