67 lines
7.3 KiB
Markdown
67 lines
7.3 KiB
Markdown
# TSL 语法入口
|
|
|
|
文档类型:检索页
|
|
是否可直接用于生成代码:否
|
|
是否含可直接照写示例:否
|
|
是否含不可照写反例:否
|
|
遇到不确定时:先按本文“按任务跳转”做语法层分流;写最短骨架看 [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)。
|
|
|
|
本页只做语法层路由。生成代码时不要顺序读完整套语法文档;先判断任务命中哪一类,再进入最小专题页。
|
|
|
|
## 元数据与代码块身份
|
|
|
|
- 页头 `是否可直接用于生成代码` 只做页面级粗判断;落代码时以块级 `代码块身份` 为准。
|
|
- `代码块身份` 固定只用四种值:`可直接照写示例`、`输出片段`、`反例 / 不可照写`、`配置片段 / 概念骨架`。
|
|
- 普通语法专题页的 `遇到不确定时` 先按候选页继续判断,仍不命中再回本语法入口页;本页例外,必须先按“按任务跳转”分流。
|
|
|
|
## 智能体语法判断流程
|
|
|
|
1. 先判断文件模型;完整规则看 [02_core_model.md](02_core_model.md)。
|
|
2. 用户已给 `.tsl` / `.tsf` 后缀时,后缀就是判断依据;未给后缀时,入口流程或一次性脚本初判为 `.tsl`,可复用交付物初判为 `.tsf`。
|
|
3. 文件模型会影响正确性且目标不明确时,先向用户确认。
|
|
4. 识别关键词属于值/变量、函数、类、unit、表达式、控制流、运行时、TS-SQL 或进阶专题。
|
|
5. 只进入命中的最小页面;写代码前优先参考该页的可直接照写示例。
|
|
6. 命中反例或负向边界时,先看 [11_pitfalls.md](11_pitfalls.md) 和对应专题页;仍无结论时不要发明语法。
|
|
|
|
## 按任务跳转
|
|
|
|
| 任务 | 先读哪里 |
|
|
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
|
| 写最短骨架 / 语言核心事实 | [01_quickstart.md](01_quickstart.md) |
|
|
| 判断 `.tsl` / `.tsf`、顶层语句区、声明区、文件模型 | [02_core_model.md](02_core_model.md) |
|
|
| 写值、数组、字符串、字符串编码边界 | [03_values_and_literals.md](03_values_and_literals.md) |
|
|
| 写变量、常量、显式声明 | [04_variables_and_constants.md](04_variables_and_constants.md) |
|
|
| 写 `function` / `procedure`、参数、默认参数、命名参数、变参 | [05_functions_and_calls.md](05_functions_and_calls.md) |
|
|
| 写赋值、比较、条件表达式、较新表达式、运算符边界 | [06_expressions_and_operators.md](06_expressions_and_operators.md) |
|
|
| 写条件、循环、异常控制 | [07_control_flow.md](07_control_flow.md) |
|
|
| 写类、继承、property、静态字段、较新对象能力或类边界 | [08_objects_and_classes.md](08_objects_and_classes.md) |
|
|
| 写 `unit` / `uses` | [09_units_and_scope.md](09_units_and_scope.md) |
|
|
| 写运行时环境参数、`sysParams[...]`、`with array(...)`、网格调用或全局缓存 | [10_runtime_context_and_with.md](10_runtime_context_and_with.md) |
|
|
| 核对高频误写 / 反例 / 负向边界 | [11_pitfalls.md](11_pitfalls.md) |
|
|
| 写数组扩展、键表、集合运算、矩阵样数据 | [12_matrix_and_collections.md](12_matrix_and_collections.md) |
|
|
| 写结果集过滤专题 | [13_resultset_and_filters.md](13_resultset_and_filters.md) |
|
|
| 写 TS-SQL 专题 | [14_ts_sql.md](14_ts_sql.md) |
|
|
| 看调试与性能分析器专题 | [15_debug_and_profiler.md](15_debug_and_profiler.md) |
|
|
| 看注释、条件编译、编译选项或词法边界 | [16_lexical_structure_and_compile_options.md](16_lexical_structure_and_compile_options.md) |
|
|
| 看显式类型、转换规则、复数 | [17_types_and_conversions.md](17_types_and_conversions.md) |
|
|
| 看 `external`、DLL 与多线程 | [18_external_calls_and_threads.md](18_external_calls_and_threads.md) |
|
|
| 看 `namespace`、`Libpath`、unit 运行时、查找路径 | [19_namespace_libpath_and_unit_runtime.md](19_namespace_libpath_and_unit_runtime.md) |
|
|
| 看对象运行时、自省、反射、弱引用 | [20_object_runtime_and_introspection.md](20_object_runtime_and_introspection.md) |
|
|
| 看运行时内置对象 | [21_builtin_runtime_objects.md](21_builtin_runtime_objects.md) |
|
|
| 看矩阵进阶专题 | [22_matrix_deep_dive.md](22_matrix_deep_dive.md) |
|
|
| 看 `FMArray` | [23_fmarray.md](23_fmarray.md) |
|
|
| 看对象算符重载或遍历重载 | [24_object_overloads_and_iteration.md](24_object_overloads_and_iteration.md) |
|
|
|
|
## 入口禁止项
|
|
|
|
- 不要跳过“智能体语法判断流程”和“按任务跳转”直接顺序读完整套。
|
|
- 不要把本入口页当成可直接生成代码的语法事实页。
|
|
- 不要从多个专题页拼接未写入文档的新骨架;生成前优先使用单页里的可直接照写示例。
|
|
- 不要把数据仓库函数查询、模块集成或项目执行问题留在语法层处理。
|
|
|
|
## 切换到别的层
|
|
|
|
- 数据仓库金融函数:见 [../reference/catalog/datawarehouse.md](../reference/catalog/datawarehouse.md)
|
|
- 模块 / 集成 / 互操作:见 [../modules/index.md](../modules/index.md)
|
|
- 函数库查找:见 [../reference/index.md](../reference/index.md)
|