2 个仓库
Tooling that utilizes compilation databases to extract compiler flags and source paths for translation or analysis.
Distinct from C# Compilers: No candidate covers the use of compilation databases specifically for source-to-source translation metadata.
Explore 2 awesome GitHub repositories matching programming languages & runtimes · Compilation Database Integrations. Refine with filters or upvote what's useful.
Include What You Use 是一个 C++ 包含优化器和头文件依赖分析器。它识别源文件中未使用的或缺失的头文件包含,以减少项目冗余并提高编译性能。 该工具使用基于 Clang 的抽象语法树执行静态分析,以映射符号使用情况并跟踪不同构建配置下的预处理器影响。它可以根据计算出的依赖图,通过插入或删除预处理器指令自动重写源文件。 该系统与编译数据库集成,以确定每个源文件使用的确切编译器标志,从而实现对整个项目的依赖分析和修剪。
Integrates with JSON compilation databases to determine the exact compiler flags used for every source file.
c2rust is a source-to-source translation suite and C-to-Rust transpiler designed to convert C source code and libraries into functionally equivalent unsafe Rust code. It operates as a pipeline that preserves original behavior and data structures, producing translated code that compiles as compatible shared libraries or Rust crates. The system includes an automated Rust refactoring framework that uses pattern-based AST rewriting to transform unsafe Rust into safe, idiomatic constructs. It utilizes an ownership inference engine to determine when raw pointers can be converted into safe reference
Reads a compilation database to capture compiler flags and source paths for accurate C-to-Rust conversion.