Woah, I'm pretty stoked to see someone link to my ruby implementation (neé Grubby).
It seems like the authors of Golang believe that a lot of problems with languages (refactoring, updating code to work with new libraries / versions, etc) can be solved as parsing problems. Hence, Golang has a lot of good tools for parsing text.
I'd be really delighted if you could show me a better tool for writing a parser, given a grammar in Golang than goyacc. You're absolutely right that the error reporting in yacc isn't that modern, but it's very functional, very powerful and (best of all), a lot of people have experience with it.
I certainly couldn't find any better tools in Golang when I started, but I wouldn't be surprised if someone had started one since.
It seems like the authors of Golang believe that a lot of problems with languages (refactoring, updating code to work with new libraries / versions, etc) can be solved as parsing problems. Hence, Golang has a lot of good tools for parsing text.
They even ported yacc to Go (via Plan9). http://golang.org/cmd/yacc/