♻️ refactor(tsl): rebuild codegen taxonomy

Move generated builtin and dotnet function docs into the upgraded taxonomy, remove legacy route pages, and regenerate function_index.tsv from markdown headings.
This commit is contained in:
csh
2026-07-07 16:36:08 +08:00
parent 54c1c11e77
commit b6160676b4
763 changed files with 179921 additions and 154583 deletions
+2 -2
View File
@@ -473,7 +473,7 @@ writeLn(result);
- `%d` 是整数占位符
- `%s` 是字符串占位符
- `format` 的完整占位符规范见 [../codegen/builtin/basic.md](../codegen/builtin/basic.md)
- `format` 的完整占位符规范见 [../codegen/builtin/base/string.md](../codegen/builtin/base/string.md)
### `formatdatetime` 日期格式化
@@ -498,7 +498,7 @@ writeLn(result);
- `yyyy` 表示四位年份
- `mm` 表示两位月份
- `dd` 表示两位日期
- `formatdatetime` 的完整格式说明见 [../codegen/builtin/basic.md](../codegen/builtin/basic.md)
- `formatdatetime` 的完整格式说明见 [../codegen/builtin/base/datetime.md](../codegen/builtin/base/datetime.md)
## 默认生成模板
@@ -40,7 +40,7 @@
- 网格调用的最小写法是 `r := #Func(args);`
- 网格调用返回的不是最终值;用 `dupvalue(r)` 取回结果。
- `timeout N` 后缀可直接接在网格调用后面。
- 全局缓存函数的参数规格见 [../codegen/special/pending/system/03_global_cache.md](../codegen/special/pending/system/03_global_cache.md) 和 [../codegen/builtin/system.md](../codegen/builtin/system.md);本页只保留缓存引用的运行时行为示例。
- 全局缓存函数的参数规格见 [../codegen/builtin/system/runtime.md](../codegen/builtin/system/runtime.md) 和 [../codegen/builtin/base/type_conversion.md](../codegen/builtin/base/type_conversion.md);本页只保留缓存引用的运行时行为示例。
- 写入和读取全局缓存成功时返回 `1`
- 从全局缓存取出的值,`ifCache(v)` 会返回 `1`
- 一旦对取出的缓存值做本地写入,它会立刻实例化;写入后 `ifCache(v)` 返回 `0`
+1 -1
View File
@@ -28,7 +28,7 @@
- `debugRunEnv(0)``debugRunEnv(1)` 可直接调用;它们面向调试客户端的副作用,不作为本页输出事实。
- `debugRunEnvDo Func(...)` 可直接写,并且会返回被调用函数的结果。
- `mtic` 会生成一个计时起点;`mtoc``mtoc(tick)` 都会返回秒数。
- `setProfiler(...)``getProfilerInfo(...)` 的参数规格见 [../codegen/builtin/system.md](../codegen/builtin/system.md);本页只保留性能分析器行为示例。
- `setProfiler(...)``getProfilerInfo(...)` 的参数规格见 [../codegen/builtin/system/runtime.md](../codegen/builtin/system/runtime.md);本页只保留性能分析器行为示例。
- `setProfiler(7)` 配合 `getProfilerInfo(1)`,可以在不弹窗的情况下拿到性能分析器信息。
- `__line__` 会返回所在代码行号。
- `__stack_frame` 会返回调用栈帧数组;最小 `toStn(...)` 观察结果里,每一项是 `(line, "function")` 这一类二元组。
@@ -35,7 +35,7 @@
- 直接写 `DemoUnit.Member` 时,可以读到 `interface``implementation` 里的常量、变量。
- `findFunction("DemoUnit")` 拿到的是 `unit` 对象入口;本页只把它稳定暴露 `interface` 成员写成文档事实。
- `DemoUnit.var_name := value` 这种限定赋值不作为可写事实;如果要改 `unit` 状态,应导出函数或方法来改。
- `tslfilename()` 的参数规格见 [../codegen/builtin/system.md](../codegen/builtin/system.md);本页只保留它返回正在执行的 `.tsl` 主脚本完整路径这一行为事实。
- `tslfilename()` 的参数规格见 [../codegen/builtin/system/runtime.md](../codegen/builtin/system/runtime.md);本页只保留它返回正在执行的 `.tsl` 主脚本完整路径这一行为事实。
- `namespace "DemoNS";` 会选择 `Hello@DemoNS.tsf` 这类命名空间函数文件。
- `tsl.conf``[system] Namespace=...` 可以设置默认命名空间;脚本里的 `namespace "..."` 会覆盖配置值。
- 当全局 `Hello.tsf``Hello@StmtNS.tsf` 同时存在时,启用 `StmtNS` 后会优先命中命名空间版本。
+1 -2
View File
@@ -26,7 +26,7 @@
## 核心规则
- 矩阵初始化函数的参数规格见 [../codegen/builtin/math.md](../codegen/builtin/math.md);本页只保留矩阵行为示例和返回形态边界。
- 矩阵初始化函数的参数规格见 [../codegen/builtin/math/matrix.md](../codegen/builtin/math/matrix.md);本页只保留矩阵行为示例和返回形态边界。
- `zeros(...)``ones(...)``rand(...)``nils(...)``eye(...)` 都可以直接用于矩阵初始化。
- `zeros(3)``ones(3)``nils(2)` 这类单参数写法可以直接生成一维结果。
- `zeros(2, 3)``rand(2, 3)` 这类双参数写法可以直接生成二维矩阵。
@@ -34,7 +34,6 @@
- `eye(3)` 生成的是 `3 x 3` 单位矩阵,不是一维数组。
- `->` 用来生成数列;默认步长是 `1`,也可以显式传入步长和索引数组。
- 在矩阵语境里,`!A` 是一元倒数运算符作用于矩阵的形态,用于矩阵逆/广义逆;非方阵输入可以返回行列数互换后的广义逆结果。
- `msize(...)``mrows(...)``mcols(...)` 的参数规格见 [../codegen/special/pending/system/01_data_type.md](../codegen/special/pending/system/01_data_type.md)。
- `msize(matrix_value)` 返回 `array(行数, 列数)`
- `msize(matrix_value, 1)` 返回行索引数组和列索引数组。
- `mrows(matrix_value)` / `mcols(matrix_value)` 默认返回数量;第二个参数写成 `1` 时返回索引数组。
+1 -1
View File
@@ -25,7 +25,7 @@
- `fmarray[...]` 可以直接构造 `FMArray` 常量。
- `dataType(v)``FMArray` 返回 `27`
- `dataType(v, 1)` 可以读出 `FMArray` 单元格类型;本页文档类型包括 `0` 整型、`1` 浮点、`20` 64 位整型。
- FMArray 相关函数的参数规格见 [../codegen/special/pending/system/01_data_type.md](../codegen/special/pending/system/01_data_type.md) 和 [../codegen/builtin/math.md](../codegen/builtin/math.md);本页只保留 FMArray 行为示例和返回形态边界。
- FMArray 相关函数的参数规格见 [../codegen/builtin/base/type_conversion.md](../codegen/builtin/base/type_conversion.md) 和 [../codegen/builtin/math/matrix.md](../codegen/builtin/math/matrix.md);本页只保留 FMArray 行为示例和返回形态边界。
- `ifFmarray(v)` 可直接判断值是否为 `FMArray`
- `mInit``mInitDiag``mRand` 都可直接生成 `FMArray`
- `arrayToFm``matrixToArray` 可在 `Array` / `FMArray` 间互转。
-4
View File
@@ -18,10 +18,6 @@
}
```
文档类型:语法路由页
是否可直接用于生成代码:否
是否含可直接照写示例:否
是否含不可照写反例:否
遇到不确定时:先按"按任务跳转"做语法层分流;写最短骨架看 [01_quickstart.md](01_quickstart.md),判断文件模型看 [02_core_model.md](02_core_model.md),判断表达式看 [06_expressions_and_operators.md](06_expressions_and_operators.md),判断类/对象看 [08_objects_and_classes.md](08_objects_and_classes.md),核对反例和负向边界看 [11_pitfalls.md](11_pitfalls.md);如果问题已经超出语法层,回到 TSL 总入口 [../index.md](../index.md)。
本页只决定语法层第一跳。不要顺序读完整套语法文档,不要把本页当代码事实页。