C/C++のソースコードに対して、独自のlintを行いたくなるシチュエーションもときどき発生しますね。 この問題については、現代ではClangにLibToolingというライブラリがある。これによって、Clangの資産を使ったC/C++の静的解析・リファクタリングツールを作ることができる。とくにASTMatcherによって、ソースコードのAST(Abstract Syntax Tree、抽象構文木)に対する走査はわりと簡単に書ける。 インタフェースを考える 公式のチュートリアルとして、LibToolingでスタンドアロンのツールを書く方法が紹介されている。けどこれはLLVMのソースツリー内にファイルを置くのでちょっと不格好かな。別のソースツリーとしていちから書く方法は、How to create a C/C++ Static Code analysis tool が参考になった。 しかしl