特別なファイルが終了したファイルに対して、追加のパーサーでClangを拡張するにはどうすればよいですか?つまり、「おい!構文ツリー(clang::ASTContext
?) "?追加のパーサーでClangを拡張するには?
私は約clang::FrontendAction
、clang::Parser
とclang::driver::Driver
読んだが、私はどこで、私は現在のパーサを拡張(追加のパーサとコンパイラを拡張することができるようにクランを拡張ないべきかを把握することができていません)。 tools/clang/lib/Driver/Types.cpp
で
あなたはlookupTypeForExtension
を持って、拡張子に基づいてコンパイルされたコードの「タイプ」を決定します。ここでは
拡張言語はC/C++/Objective-Cに似ていますか? Clangはこれらの種類の言語のフロントエンドです。バックエンド(最適化など)を再利用したい場合は、LLVMだけが必要です。 –
言語はObjective-C++に似ています(構文ではなくセマンティクス)。プリプロセッサは同じです。 – finnsson
私はClangについてよく知りません。しかし、ObjCにトランスコンパイルするのはどうですか? –