To a first approximation, what's really going to matter to you in practice is how convenient and intuitive the notation is to your eyes.
Having said that, I'd done projects with ANTLR and JavaCC, and found ANTLR to be awfully heavyweight for most things.