- Typecheck.h/cpp:三型(BOOL/INT/TIME)求值,AND/OR/NOT 只吃 BOOL、算术只吃 INT(TIME 无算术)、比较同型、IF/WHILE 条件必须 BOOL - FUNCTION 禁写全局(含经 VAR_EXTERNAL)——用例 14 点亮;函数名赋值=返回类型 - FB 命名实参匹配字段类型;FB 实例不能当值 - typecheck_test:23 断言(用例 14 + 8 类负例 + 13 个正例),ctest 8/8
1.5 KiB
1.5 KiB
文档索引
设计文档,不是编译目标。全工程定案在根下;各 CMake 模块一个文件夹,文件名标明用途。
doc/
索引.md
初步计划.md
isa/指令与映像.md
compiler/编译管线.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 布局、错误类别 |
compiler/类型检查.md |
12.7 类型检查:表达式类型、语句规则、错误类别 |
vm/扫描周期.md |
扫描周期与 VM 边界 |
executor/执行器入口.md |
可执行入口:加载 .stb + sidecar,跑扫描周期 |
代码目录里的 README 只作入口;类型、指令、映像以 isa/指令与映像.md 为准。