CodeBridge 四语言结构转译
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_627742ab/workoflelink。
技能介绍
要解决什么问题
跨语言迁移或对照阅读时,常见做法是「逐行翻译语法」,结果往往是功能勉强等价、风格却不像目标语言:C 里用 union 和 goto,转到 Java 仍残留不可编译或不可维护的结构;C++ 转 Python 时混用指针思维与动态类型,往返后语义悄悄丢失。
CodeBridge 面向 C、C++、Java、Python 四种语言之间的结构级转译:在给定源码与目标语言后,产出可读、可维护的等价实现,而不是机械替换关键字。
技能如何工作
转译结果按固定结构输出:目标语言代码块(逐行或逐段行内注释说明每个结构如何替代)、翻译指南(针对本次改动点的规则摘要)、语义警告、以及 2~3 条学习建议。
核心约束来自技能内积累的 Gotchas,例如:
- 内存管理:C→C++ 强制
std::unique_ptr/std::shared_ptr,禁止与裸new/delete混用;转到 Java/Python 则去掉手动释放,明确 GC 边界。 - 联合体:统一选用
std::variant、JavaObject+instanceof或 Python 独立变量等单一方案,并标注 union 内存共享在往返中可能无法恢复。 - goto:C→Java/Python 必须重构为
return+ 标志位或自定义异常,不得保留 goto。 - 枚举:使用
enum class、enum Type或enum.Enum,禁止用int常量冒充枚举。 - 错误处理与并发:同一输出内风格统一;
pthread_mutex→std::mutex→synchronized→threading.Lock等需正确映射,并在注释中写明线程安全边界。
按需加载方向性参考(如 syntax_c_to_java.md)及专题文档(边界情况、错误处理、并发、标准库等),避免在 Load 阶段一次性塞满上下文。
适用边界
指针运算、setjmp/longjmp、C++ 移动语义、模板与 Java 泛型差异等,没有一对一等价物时,必须在输出中给出 ⚠️ 往返等价性警告。含动态成员的对象禁止按内存布局做 fwrite 式 I/O,应使用流式或序列化。技能还提供 scripts/translive 双屏实时转译 Web 服务与输出模板,但转译质量仍依赖上述规则是否被严格执行。
使用场景
- 将遗留 C 控制流与数据结构迁到 Java 服务时,需要惯用写法草案,并标出 union、指针等可能无法往返的语义。
- 在 Python 中复现 C++ 算法模块前,先得到带行内注释的目标语言骨架,避免保留手动 new/delete 或模板细节。
- 四门语言对照同一数据结构或错误处理策略时,生成等价结构并附带枚举、goto 重构、并发原语等映射说明。
- C/C++ 与 Java 双栈维护同一逻辑时,把一侧源码转译为另一侧可读版本,供评审后手工合并进仓库。
适合人员
- 负责把嵌入式或系统级 C 模块改写为 Java 的后端工程师,需要分清 GC、无指针运算与 union 替代带来的边界。
- 讲授内存管理、枚举与并发差异的高校或培训讲师,需要同一案例的多语言对照输出与 ⚠️ 语义警告。
- 准备在 Python 中封装现有 C++ 库、要先梳理类与资源生命周期的算法工程师,诉求是惯用 Python 而非关键字替换。
- 参与跨国或历史代码审计、需在 C++ 与 Python 间快速对照实现的系统程序员,依赖统一的错误处理与线程安全注释。