playbook/docs/tsl/syntax/index.md

8.9 KiB
Raw Blame History

TSL 语法入口

{
  "AGENT_QUICK_INDEX": {
    "READ_THIS_FIRST": "00_agent_index.json",
    "hello_world": "01_quickstart.md#L182",
    "function": "05_functions_and_calls.md#L103",
    "class": "08_objects_and_classes.md#L98",
    "loop": "07_control_flow.md#L89",
    "if": "07_control_flow.md#L54",
    "fix_a=1_error": "11_pitfalls.md#L45",
    "fix_class_error": "11_pitfalls.md#L34",
    "token_saving": "80-90% reduction vs reading full docs"
  }
}

文档类型:语法路由页 是否可直接用于生成代码:否 是否含可直接照写示例:否 是否含不可照写反例:否 遇到不确定时:先按"按任务跳转"做语法层分流;写最短骨架看 01_quickstart.md,判断文件模型看 02_core_model.md,判断表达式看 06_expressions_and_operators.md,判断类/对象看 08_objects_and_classes.md,核对反例和负向边界看 11_pitfalls.md;如果问题已经超出语法层,回到 TSL 总入口 ../index.md

本页只决定语法层第一跳。不要顺序读完整套语法文档,不要把本页当代码事实页。

按任务跳转

任务信号 入口 阻断条件
写最短骨架、核对语言核心事实 01_quickstart.md 文件模型不明
判断 .tsl / .tsf、顶层语句区、声明区、文件模型 02_core_model.md 用户交付目标不足以判断后缀
写值、数组、字符串、字符串编码边界 03_values_and_literals.md 需要未记录的字面量或编码写法
写变量、常量、显式声明 04_variables_and_constants.md 变量生命周期或作用域不明
function / procedure、参数、默认参数、命名参数、变参 05_functions_and_calls.md 需要未记录的调用外形
写赋值、比较、条件表达式、较新表达式、运算符边界 06_expressions_and_operators.md 需要靠相似语言推断运算符
写条件、循环、异常控制 07_control_flow.md 块结构或跳转语义不明
写类、继承、property、静态字段、构造函数 08_objects_and_classes.md 需要未记录的对象模型写法
写单元 (unit) / uses 09_units_and_scope.md 查找路径、模块边界或文件名不明
写运行时环境参数、sysParams[...]with array(...)、网格调用或全局缓存 10_runtime_context_and_with.md 需要项目运行时事实
核对高频误写 / 反例 / 负向边界 11_pitfalls.md 反例没有指向正确专题
写数组创建、键表、集合运算(+/-/* 12_matrix_and_collections.md 需要未记录的数据结构操作
写结果集过滤专题 13_resultset_and_filters.md 结果集来源或字段结构不明
写 TS-SQL 专题 14_ts_sql.md 需要未记录的 SQL 外形
看调试与性能分析器专题 15_debug_and_profiler.md 需要项目执行环境
看注释、条件编译、编译选项或词法边界 16_lexical_structure_and_compile_options.md 解释器版本或编译选项不明
看显式类型、转换规则、复数 17_types_and_conversions.md 类型转换结果无文档事实
external、DLL 与多线程 18_external_calls_and_threads.md 外部库、线程边界或平台不明
namespaceLibpath、unit 运行时、查找路径 19_namespace_libpath_and_unit_runtime.md 部署路径或命名空间事实缺失
看对象运行时、自省、反射、弱引用 20_object_runtime_and_introspection.md 需要未记录的反射能力
看运行时内置对象 21_builtin_runtime_objects.md 内置对象构造或成员无文档事实
看矩阵进阶专题 22_matrix_deep_dive.md 矩阵语义或维度规则不明
FMArray 23_fmarray.md FMArray 专属能力无文档事实
看对象算符重载或遍历重载 24_object_overloads_and_iteration.md 重载入口或调用语义不明

常见歧义边界判断

数组 vs 矩阵

  • 用 12数组基础 如果:创建数组 array()、键表操作、集合运算(+/-/*)、基础索引
  • 用 22矩阵进阶 如果:矩阵维度操作、转置、线性代数、矩阵专属语义

类基础 vs 重载

  • 用 08类基础 如果类定义、继承、property、静态字段、构造函数
  • 用 24对象重载 如果:运算符重载(+/-/*/[]、for 迭代器重载

证据规则

  • 页头 是否可直接用于生成代码 只做页面级粗判断;落代码时以块级 代码块身份 为准。
  • 代码块身份 固定只用四种值:可直接照写示例输出片段反例 / 不可照写配置片段 / 概念骨架
  • 普通语法专题页的 遇到不确定时 先按候选页继续判断,仍不命中再回本语法入口页;本页例外,必须先按"按任务跳转"分流。

停止条件

  • 文件模型会影响正确性且用户交付目标不足以判断 .tsl / .tsf
  • 命中项需要未记录语法、运行时事实或项目执行事实。
  • 只有反例、输出片段或概念骨架可用,没有 代码块身份:可直接照写示例
  • 任务信号属于数据仓库函数、模块集成、函数库查询或项目执行边界。

入口禁止项

  • 不要跳过"按任务跳转"直接顺序读完整套。
  • 不要把本入口页当成可直接生成代码的语法事实页。
  • 不要从多个专题页拼接未写入文档的新骨架;生成前优先使用单页里的可直接照写示例。
  • 不要把数据仓库函数查询、模块集成或项目执行问题留在语法层处理。

切换到别的层