BNF.first returns a grammar