kmp algorithm in the tokenizer class is only used for macro string expansion.
Parsing the C++ source code is quite hard, I have been maintaining the parsing algorithm for a long time, but it still has a lot of things to implement.
If you have motivation and time, we welcome any contribution, thanks