Module ClangFrontend__Capture
val run_clang : ClangFrontend.ClangCommand.t -> (IStdlib.IStd.In_channel.t -> 'a) -> 'a
val capture : ClangFrontend.ClangCommand.t -> unit
If the command is detected to correspond to a source file, translate it.
- Given a compilation command, attach our
ASTExporter
clang plugin to the command and run it. - Our clang plugin emits the AST (Abstract Syntax Tree) as Biniou data that we deserialize. The AST format is described in
Clang_ast_t
(and its Biniou API is inClang_ast_b
). - If enabled, invoke translation to
Sil
viaCFrontend
. - If enabled, invoke linters callbacks from
ASTLanguage
(see below). More on linters here: http://fbinfer.com/docs/linters.html.
- Given a compilation command, attach our
val al_callback_ref : (ClangFrontend.CFrontend_config.translation_unit_context -> ATDGenerated.Clang_ast_t.decl -> unit) IStdlib.IStd.ref
callback set by AL to avoid circular dependencies between clang/ and al/ without having to expose the clang-only types involved all the way to integration/