把各模块说明从 README 拆到 Doc,并用索引替代 Doc/README。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+1
-24
@@ -2,27 +2,4 @@
|
||||
|
||||
ST / toml 编译器。CMake 目标:`compiler`(`STATIC`),依赖 `isa`。
|
||||
|
||||
读齐工程后走直通 pass,产出单一映像,不上 LLVM。词法、语法、符号表、检查、codegen、链接都留在本库,不再拆 CMake 子库。
|
||||
|
||||
## 管线
|
||||
|
||||
```text
|
||||
读 toml、收齐 .st
|
||||
→ 词法 / 递归下降语法
|
||||
→ 收集导出符号
|
||||
→ 解析 VAR_EXTERNAL、链接、定地址
|
||||
→ 类型检查
|
||||
→ 按 PROGRAM / FUNCTION / FB 编寄存器码
|
||||
→ 回填跳转、写映像头与工程哈希
|
||||
```
|
||||
|
||||
## 工程文件
|
||||
|
||||
toml **不声明变量**,只做三件事:列出源文件、指定唯一 GVL、(可选)把已声明的全局接到硬件。
|
||||
|
||||
- 字段:`files` / `entry` / `cycle_limit` / `dt_ms` / `gvl.file` / 可选 `io.*`
|
||||
- 第一版只有 `gvl.file` 允许出现 `VAR_GLOBAL`
|
||||
- `[[io.*]]` 的 `var` 必须已在 GVL 中声明,否则编译错误
|
||||
- 同名 `VAR_GLOBAL` 链接失败,禁止覆盖
|
||||
|
||||
第三方 toml 解析放在 `third_party/`,本库私有链接。
|
||||
边界与管线见 [`doc/compiler/编译管线.md`](../doc/compiler/编译管线.md)。语言规则见 [`doc/初步计划.md`](../doc/初步计划.md)。
|
||||
|
||||
Reference in New Issue
Block a user