Show HN: Hybrid-Transpiler – A tool to convert C++ to Rust and Go
2 months ago
- #Rust
- #C++
- #transpiler
- 一个将C++代码转换为现代安全语言(如Rust和Go)的源码到源码编译器(转译器),具有高准确性和性能。
- 利用LLVM/Clang完整的C++解析器实现精确的类型系统映射和语义保留。
- 将C++的RAII模式转换为Rust的所有权系统,并将智能指针转换为Rust/Go中的适当形式。
- 支持STL容器转换、模板转泛型,以及将异常处理转换为Rust的Result/Option类型或Go的错误值。
- 包含为Rust和Go生成的FFI接口,允许通过C ABI直接调用C++库。
- 提供C++特性(如线程、协程和虚函数)到Rust和Go对应功能的详细映射方案。
- 提供转译到Rust或Go时不同项目规模的性能指标和执行时间统计。
- 包含完整的转译器项目目录结构,涵盖解析器、中间表示、代码生成和FFI组件。
- 列出当前限制,如对宏展开、复杂模板元编程和内联汇编的支持尚不完善。
- 在MIT许可证下鼓励通过提交错误报告、功能请求和拉取请求进行社区贡献。