I've been looking to write a basic system that can parse documents of HTML protocol in go but it seems no such project exists. So I set out to write my own, and I come across a whole lot of projects that help you write your own parser. However, they're usually allowing to write an already popular method (ebnf, bison, yacc) but for whatever reason, I'm struggling to find any documentation on writing these things. Like, where is the a documentation for writing yacc (go) files? Or EBNF? Or whatever else.