jiamo

jiamo

V2EX member #643282, joined on 2023-08-12 18:26:15 +08:00
Today's activity rank 24164
Per jiamo's settings, the topics list is hidden
Deals info, including closed deals, is not hidden
jiamo's recent replies
8 days ago
Replied to a topic by jiamo 程序员 欢迎大家用顶级模型贡献 pcc
@sunxfancy PyPy 是"用受限 Python ( RPython )写解释器 + 追踪 JIT ,运行时带翻译器和 JIT 编译器"; pcc 是 AOT 编译器,把 Python/C 直接编译成无外部依赖的独立原生二进制,追求编译期把活干完、运行时无编译器残留。 最后的梦想: python 项目啥都不变,换 pcc 性能有提升。
9 days ago
Replied to a topic by jiamo 程序员 欢迎大家用顶级模型贡献 pcc
@MindMindMax

类似这种

仓库能做,前提是把「能编译能跑、行为与原程序一致」当验收,而不是「输出人手写那样的 Rust 」。现成资产:

┌────────────────────────────┬─────────┬───────────────────────────────────┐
│ 资产 │ 规模 │ 状态 │
├────────────────────────────┼─────────┼───────────────────────────────────┤
│ t2_emit::emit_rust │ 909 行 │ 已有测试用 rustc 编译并比对退出码 │
├────────────────────────────┼─────────┼───────────────────────────────────┤
│ grammars/c_to_t2.tag │ 155 行 │ 最完整的 X→T2 模板 │
├────────────────────────────┼─────────┼───────────────────────────────────┤
│ grammars/go_to_python.tag │ 42 行 │ 只认一个函数,仅作起点 │
├────────────────────────────┼─────────┼───────────────────────────────────┤
│ grammars/cpp_to_python.tag │ 2676 行 │ 证明 TAG 能覆盖真实语料 │
└────────────────────────────┴─────────┴───────────────────────────────────┘

语法层完全不是问题。Go 只有二十几个关键字,没有预处理器、模板、重载,比我们已经拿下的 C++ 简单得多。差分验收的脚手架上周刚为 js2python 建好,go run 对 cargo run 比 stdout 可以照抄同一套。

真正的墙是语义,不是语法,这决定整个项目的形状:

- 所有权。Go 有 GC ,Rust 没有。确定性翻译的可行做法是把共享值统一装进 Rc<RefCell<T>>,配一个 go_shim crate 提供 GoSlice 、GoMap 、chan 。产物能编译能跑,但不是 idiomatic Rust 。想输出手写风格的借用和生命周期,需要逃逸分析加借用推断,那是研究课题。
- interface 转 trait 。Go 是结构化隐式实现,Rust 是名义显式 impl 。需要跨文件符号表,先收集所有类型和接口,再为满足的组合生成 impl 块。可做,但现有的按文件驱动器没有这个能力。
- 错误处理是加分项。(T, error) 转 Result<T, E>,if err != nil { return err } 转 ?,这块映射最干净。
- 零散语义差异。零值、nil 、slice 的长度容量、map 迭代顺序、整数溢出在 Go 是环绕而 Rust 在 debug 下会 panic 。这些都靠 shim 兜住。

goroutine 和 channel 可以映射到线程加 mpsc ,但 select 和无缓冲 channel 的语义要额外设计,建议放到最后。
9 days ago
Replied to a topic by jiamo 程序员 欢迎大家用顶级模型贡献 pcc
@MindMindMax

我个人有一个项目 复刻并实现了属性文法。 你如果有足够的 token 可以自实现 https://ittybittycomputers.com/
再实现机械翻译。

但 token 足够,ai 理解直接写也行了。
9 days ago
Replied to a topic by jiamo 程序员 欢迎大家用顶级模型贡献 pcc
还要去 libc
9 days ago
Replied to a topic by jiamo 程序员 欢迎大家用顶级模型贡献 pcc
还有后段。
Aug 13, 2023
Replied to a topic by jiamo 求职 [求职] 北京 10 年后端工作经验
@eshezhao 也可以通过我的 profile 找到 github ,然后找到我的 blog 看看。也可以找到邮箱。不过刚来 V2EX 不知道怎么私聊。
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1082 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 23:25 · PVG 07:25 · LAX 16:25 · JFK 19:25
♥ Do have faith in what you're doing.