Skip to main content

Crate icb_clang

Crate icb_clang 

Source
Expand description

§icb-clang

Clang‑based C/C++ frontend for ICB.

Provides parsing of single files or entire projects described by compile_commands.json. The parser returns a stream of [RawNode] facts that the rest of the ICB pipeline can consume.

§Example (single file)

use icb_clang::parser::parse_cpp_file;
let facts = parse_cpp_file("int main() { return 0; }", &[], Some("main.cpp"), true).unwrap();
assert!(!facts.is_empty());

§Example (project via compile_commands.json)

use std::path::Path;
use icb_clang::project::parse_project;
let all_files = parse_project(
    Path::new("compile_commands.json"),
    Path::new("."),
    true,
    true,
).unwrap();

Modules§

parser
High‑performance Clang AST visitor that extracts ICB facts for the Code Property Graph.
project
Project‑level traversal of C/C++ source trees.