Files
Interpreter/Doc/索引.md
T
Admin 6f02c18bbb 实现 12.6 符号表与链接:全局定槽、引用解析、循环检测。
- Linker.h/cpp:收集导出(仅 gvl 文件顶层 VAR_GLOBAL、声明顺序定槽、重复名拒绝)
- VAR_EXTERNAL 接同一槽、类型一致;FB 实例必须先声明;字段存在性校验;函数调用图 DFS 环检测
- io.var 必须在 GVL;内建 TON/TOF/CTU 布局冻结;用户 FB 字段 = input/output/var(external 不是字段)
- 函数名赋值 = 结果值写入(用例 13 约定);dump_symbols 打印 name kind type address file
- linker_test:51 断言(用例 09/10/11/12/16/19 + line1/17 正例),ctest 7/7;20 用例扫描 15 绿 5 按期望拒
2026-08-21 11:14:03 +08:00

1.3 KiB

文档索引

设计文档,不是编译目标。全工程定案在根下;各 CMake 模块一个文件夹,文件名标明用途。

doc/
  索引.md
  初步计划.md
  isa/指令与映像.md
  compiler/编译管线.md
  compiler/词法.md
  compiler/语法.md
  compiler/符号表与链接.md
  vm/扫描周期.md
  executor/执行器入口.md
路径 内容
初步计划.md 全工程定案:子集 ST、toml、执行模型、第 12 节阶段
isa/指令与映像.md 指令、映像、定宽类型、饱和;规范以此为准
compiler/编译管线.md 编译器边界与管线
compiler/词法.md 12.4 词法:关键字表、token、大小写、TIME 字面量
compiler/语法.md 12.5 语法:AST 结构、文法、拒绝清单
compiler/符号表与链接.md 12.6 符号表与链接:数据区定址、FB 布局、错误类别
vm/扫描周期.md 扫描周期与 VM 边界
executor/执行器入口.md 可执行入口:加载 .stb + sidecar,跑扫描周期

代码目录里的 README 只作入口;类型、指令、映像以 isa/指令与映像.md 为准。