auto genFirstSet(Rule* r) { switch (r.parts[0].) }