extract _make_grammar_grammar
don't need to pass in built-ins