Я пишу инструмент на основе Clang libtooling, который проверяет и предупреждает о слишком похожих функциях. После получения clang::FunctionDecl я хочу выполнить некоторую проверку сходства исходного кода.
В настоящее время я могу получить исходный текст после этого вопроса, но исходный код проверка на сходство на основе текста недостаточно точна и слишком медленна. Есть ли способ получить исходный код в виде последовательности токенов? Было бы полезно написать что-то вроде этого:
SomeContainer tokens = getTokenSequence(funcDecl);
for (const auto &t : tokens)
// ...
Подробнее здесь: https://stackoverflow.com/questions/778 ... g-ast-node