LALR1 C++ parser generator from BNF grammar (just copy-n-paste BNF grammar from RFC and you'll get a parser)