16 KiB
16 KiB
Syntax Index
文档类型:检索页 是否可直接用于生成代码:否 是否含已验证可执行示例:否 是否含已验证反例:否 遇到不确定时跳转到:02_quickstart.md(优先)、03_core_model.md、07_expressions_and_operators.md、09_objects_and_classes.md、12_pitfalls.md
这里是 TSL 语法手册入口。只处理“agent 应该怎样识别并生成语言写法”,不处理金融业务语义。本文档不是人类教程;它给 agent 提供判断顺序、关键词分流和可靠示例入口。
元数据读法
- 页头里的
是否可直接用于生成代码是页面级粗判断;真正落代码时,优先看每个代码块自己的代码块身份。 是否可直接用于生成代码有三种值:是、否、仅部分;其中仅部分表示这一页同时含有可直接参考的代码块,以及依赖多文件、查找路径或运行时环境的代码块。是否含已验证可执行示例只表示这一页存在已跑通的正向代码示例。是否含已验证反例只表示这一页存在已经确认不能照写的负例。代码块身份固定只用四种值:已验证可执行示例、已验证输出片段、反例 / 不可照写、配置片段 / 概念骨架。- 如果代码块后面还有用途或限制说明,会单独写成
代码块说明,不继续混进代码块身份。 - 如果页头里的
遇到不确定时跳转到给出多个目标,默认第一项是优先入口,后面的目标用于分流或补证。
这本手册怎么读
- 默认先走“Agent 判断流程”和“按任务跳转”,不要先顺序读完整套。
- 只有刻意系统学习时,才按下面的“推荐读法”顺序进入。
- 当前这套正式语法手册不再只覆盖主线入门,而是负责完整吸收旧 8 个语言章节。
Agent 判断流程
- 先识别用户是否已经给出
.tsl/.tsf后缀;给出后缀时,后缀就是判断依据。 - 未给后缀时,再按交付目标判断:可执行代码对应
.tsl,通用模块对应.tsf;仍不明确时向用户确认。 - 如果是
.tsl,按可执行脚本处理:先写语句区,语句按顺序执行;需要函数/类时,把声明区放在语句区之后。 - 如果是
.tsf,按模块/函数扩展处理:生成可部署到解释器funcext的声明;部署后脚本可以直接调用暴露的顶层函数。 - 再识别关键词属于值/变量、函数、类、unit、表达式、控制流、运行时、TS-SQL 或其他专题。
- 只进入关键词命中的最小页面;写代码前优先复制已验证可执行示例的结构,不要从多个页面拼接未经验证的新骨架。
- 遇到反例、解释器差异或资料冲突时,先按 12_pitfalls.md 和对应专题页收口;仍无结论时不要发明语法。
如果你马上要写 TSL
- 02_quickstart.md(先看语言核心事实速查和最短骨架)
- 03_core_model.md
- 06_functions_and_calls.md
- 12_pitfalls.md
- 涉及较新写法时,按主题跳到对应专题页
推荐读法
- 01_introduction.md
- 02_quickstart.md
- 03_core_model.md
- 04_values_and_literals.md
- 05_variables_and_constants.md
- 06_functions_and_calls.md
- 07_expressions_and_operators.md
- 08_control_flow.md
- 09_objects_and_classes.md
- 10_units_and_scope.md
- 11_runtime_context_and_with.md
- 12_pitfalls.md
- 13_matrix_and_collections.md
- 14_resultset_and_filters.md
- 15_ts_sql.md
- 16_debug_and_profiler.md 这条顺序对应“先建立整体读法,再写值、变量、函数、表达式、流程,随后进入类、unit、运行时边界,再按需进入进阶专题”。
编号说明:主线 01-16,深水 18-32,无 17 号正文页;历史 17 号位保留为空。
深水专题
以下专题默认不要预读。只有主线页不够、或者任务已经明确命中对应场景时,再进入。
| 专题 | 什么时候进入 |
|---|---|
| 18_lexical_structure_and_compile_options.md | 只有涉及注释规则、条件编译、编译选项或词法边界时才读 |
| 19_types_and_conversions.md | 只有涉及显式类型、转换规则或类型兼容问题时才读 |
| 20_strings_and_text.md | 只有涉及字符串处理、编码或文本细节时才读 |
| 21_external_calls_and_threads.md | 只有涉及 external、DLL、线程或外部调用时才读 |
| 22_namespace_libpath_and_unit_runtime.md | 只有涉及 namespace、Libpath、unit 运行时或查找路径时才读 |
| 23_object_runtime_and_introspection.md | 只有涉及对象运行时、自省或反射能力时才读 |
| 24_builtin_runtime_objects.md | 只有涉及内置运行时对象时才读 |
| 25_set_operations.md | 只有涉及集合运算专题时才读 |
| 26_matrix_deep_dive.md | 只有涉及矩阵运算且 13_matrix_and_collections.md 不够用时才读 |
| 27_fmarray.md | 只有涉及 FMArray 专题时才读 |
| 28_ts_sql_core.md | 只有开始写 TS-SQL 核心语法时才读 |
| 29_ts_sql_advanced.md | 只有 TS-SQL 基础页不够、问题进入进阶能力时才读 |
| 30_runtime_services_and_global_cache.md | 只有涉及网格计算、运行时服务或全局缓存时才读 |
| 31_complex_and_weakref.md | 只有涉及复数或弱引用时才读 |
| 32_object_overloads_and_iteration.md | 只有涉及对象算符重载或遍历重载时才读 |
这组页面承担旧 8 章里没有被主线正文完整吃掉的深水内容,目标是让新 session 只靠 docs/tsl/syntax/ 就能覆盖旧语法章节,但默认首跳仍应先走主线页。
按任务跳转
旧 8 章在正式手册中的落点
01_language_basics.md:主线落在01030405071113,深水落在18192002_control_flow.md:主线落在08,调试与性能补充落在1603_functions.md:主线落在06,系统交互补充落在2104_modules_and_namespace.md:主线落在10,单元运行时与查找路径补充落在2205_object_model.md:主线落在09,运行时 / 内置对象 / 重载补充落在23243206_extended_syntax.md:主线入口在131415,深水落在252627282907_debug_and_profiler.md:入口在16,服务层运行时补充落在3008_new_generation.md:表达式与对象主线落在0709,复数 / 弱引用 / 对象重载落在3132
切换到别的层
- 业务问题:见 ../finance/index.md
- 模块 / 集成 / 互操作:见 ../modules/index.md
- 函数库查找:见 ../reference/index.md