~ XGrammar parser generation