Compile time (LR) parser generator for C++