Skip to content
UNDER THE HOOD

Architecture

WeaveC is organised as three C++ libraries and two thin command-line tools. The libraries form a strict dependency chain; the arrows below point from a layer to what it may depend on.

┌──────────────────────┐ ┌──────────────────────────┐
│ tools/weavec │ │ tools/weavec-cc │
│ (libTooling) │ │ (drop-in C compiler) │
└──────────┬───────────┘ └────────────┬─────────────┘
└───────────┬───────────────┘
┌──────────────────────────┐
│ weavec::Frontend │ Clang FrontendAction, libTooling,
│ lib/Frontend │ whole-program orchestration,
│ │ sidecars, driver, diagnostics
└────────────┬─────────────┘
┌──────────────────────────┐
│ weavec::Analysis │ Clang AST → core facts,
│ lib/Analysis │ inference, checkers
└──────┬───────────┬───────┘
▼ ▼
┌────────────────────┐ ┌────────────────────┐
│ weavec::Core │ │ Clang / LLVM │
│ lib/Core │ │ (external) │
│ no Clang/LLVM │ └────────────────────┘
└────────────────────┘