Compiler Internals
A guided map of the `souc` compiler: frontend, type checking, IRs, and backends.
Compiler Internals
编译器文档仍然有用,但现在它们被明确呈现为实现地图,并回连到我们实际验证过的构件。
今日已验证
- 编译器文档更适合作为实现地图和活跃设计工作的说明。
- 提交的公开构件报告 Cranelift JIT 为启用状态。
- 测试和 gate 构件比愿景式描述或目录名称更值得信任。
当前限制
- LLVM、GPU 和 LSP 等后端能力必须按构件确认,不能只看源码目录。
- 语言规范可能领先于当前公开构件真正执行的能力。
故障排除
- 堆栈溢出 (Madaros 编译器): 当深度嵌套时,递归表达式编译器可能会生成极大的堆栈帧(例如每个帧约 4.85 MB)。最近在实时代码生成逻辑中通过将动态帧大小调整与寄存器计数对齐 (
align16((*func).reg_count*8)) 修复了此问题。但是,如果在编译带有嵌套布尔操作的大型函数时遇到SIGSEGV或段错误,请确保增加堆栈大小限制:ulimit -s unlimited。