Files
Interpreter/Doc/compiler/编译管线.md
T
Admin 7c855b1618 文档同步双可执行架构:STCompiler + BytecodeExecutor。
- 12.10 重写为两条命令:STCompiler 编译出 .stb + sidecar,BytecodeExecutor 加载执行
- 12.0 删独立 stc.exe,12.13 依赖方向改为 STCompiler/BytecodeExecutor
- 指令与映像.md 新增「映像文件(.stb)与 sidecar」节,I/O 绑定不进映像
- host/ 改名 executor/,宿主入口.md 重写为执行器入口.md
- README / tests / examples / isa README 同步
2026-08-19 13:59:50 +08:00

1.2 KiB
Raw Blame History

编译管线

compiler 模块:ST / toml 编译器。CMake 目标:compilerSTATIC),依赖 指令与映像.md。可执行入口 STCompiler(本模块 src/main.cpp,链 compiler + isa)。

读齐工程后走直通 pass,产出单一映像文件,不上 LLVM。词法、语法、符号表、检查、codegen、链接都留在本库,不再拆 CMake 子库。

语言规则、toml 字段、链接与第 12 节阶段见 初步计划.md。指令和映像只认 指令与映像.md

管线

读 toml、收齐 .st
  → 词法 / 递归下降语法
  → 收集导出符号
  → 解析 VAR_EXTERNAL、链接、定地址
  → 类型检查
  → 按 PROGRAM / FUNCTION / FB 编寄存器码
  → 回填跳转、写映像头与工程哈希
  → 写 <name>.stb(映像)与 <name>.runtime.tomlsidecario 绑定)

边界

  • toml 不声明变量VAR_GLOBAL 第一版只允许出现在 gvl.file
  • [[io.*]]var 必须已在 GVL 中;同名全局链接失败
  • 第三方 toml 解析放 third_party/,本库私有链接
  • 不写扫描周期,不链 vm