private Nonterminal RandomNonterminal(int numNonterminals, bool allowStart = true) {
int num;
if (allowStart) {
num = _rand.Next(0, numNonterminals);
} else {
num = _rand.Next(1, numNonterminals);
}
return Nonterminal.Of("X_" + num);
}
private Terminal RandomTerminal(IList<Terminal> terminals) {