This is exactly the sort of thing I was looking for. I keep on thinking that my life would be easier if I just adopted something like ANTLR, but every time I look into it it looks like it's more work than it's worth.
Good to hear that this has been a similar experience to people who have actually gone and actually used ANTLR.