Alternatively use lemon (like bison but much easier to hack on) and re2c (or equivalent). LALR parsing turns out to be magic - in exchange for an unambiguous grammar you get linear time parsing to a tree.
Very easy to use. Build a parse tree from it, deal with the ambiguous nonsense of your language in a translation to AST.
Very easy to use. Build a parse tree from it, deal with the ambiguous nonsense of your language in a translation to AST.