- define a common data structure ParseLang which is a compiled result of the bnf grammar. It is defined in ParseLang.h;
- creates a clangPseudoCLI lib which defines a grammar commandline flag and expose a function to get the ParseLang. It supports --grammar=cxx, --grammmar=/path/to/file.bnf;
- Use the clangPseudoCLI in clang-pseudo, fuzzer, and benchmark tools (simplify the code and use the prebuilt cxx grammar);
Split out from https://reviews.llvm.org/D127448 with comments addressed
nit: still PLang here and in a bunch of places