参考

1.1.20 命令工具

使用静态检查、格式化、测试、YXB、字节码、调试、文档与 LSP。

检查与格式化

yanxu 查 src/主.yx
yanxu 格 src/主.yx
yanxu 格 --写 src/主.yx

查会运行词法、语法、语义与静态类型阶段,但不执行用户代码。格默认把规范源码写到标准输出,--写才替换文件。格式化结果是幂等的;1.1.20 会保留单元素元组(值,)末尾用于消歧的逗号。

解析器统一限制语句、表达式与类型结构为 32 层。超限源码会在格式化、检查或执行前得到确定的语法错误;请用具名中间值、辅助函数、类或协议拆分结构,不要依赖提高运行时预算绕过。

执行预算

源码、VM、包入口和 YXB 运行都可使用全局步数预算:

yanxu --max-steps 250000 src/主.yx
YANXU_MAX_STEPS=250000 yanxu run build/应用.yxb

命令行旗标优先于环境变量,未设置时默认为 1,000,000 步。GUI、计时器和原生扩展的每个宿主回调独立计量,多个正常回调不会累计耗尽同一份余额;单个回调中的死循环仍会被终止。

规格测试

# 期:3
言 1 加 2;
yanxu 试 tests/spec --筛 容器 --并发 4 --超时 3000
yanxu 试 tests/spec --json > 测试报告.json

每个 .yx 文卷是一个独立用例;# 期: 或 // 期: 按出现顺序声明期望输出。没有期望行时,无错执行即算通过。# 预败:错误片段声明预期失败;意外通过、错误类型变化和超时都有独立状态。JSON 报告含稳定 schema、汇总、逐卷状态和耗时。

VM、调试与文档

yanxu 字节 examples/VM入门.yx
yanxu 字节 --反汇编 examples/VM入门.yx
yanxu 调 examples/初见.yx
yanxu 文 src/数学.yx api/数学.md
yanxu 文 --json src/数学.yx api/数学.json
yanxu 文 src api/全库.md
yanxu 基准 10

调适合一次性打印语句踪迹;编辑器通过yanxu 调试服务启动 DAP 适配器,可设置源码断点、继续、单步并检查栈与作用域变量。文只记录公API,读取////#:声明注释并生成类型链接、稳定锚点与模块索引;目录输入会汇总多模块。文 --json使用模块 API 清单 v2,记录类型所有者、完整限定名、结构化类型引用与公开重导出路径。

LSP

yanxu 语言服务

服务使用 LSP stdio framing 和 UTF-16 坐标,实现文档同步、前端/类型诊断、全文格式化、语义补全、定义跳转、引用、重命名、类型/注释悬停与层级文档符号。

编译和运行应用

yanxu compile . -o build/应用.yxb --release
yanxu run build/应用.yxb -- --once
yanxu compile . -o build/应用 --release --standalone
yanxu compile . -o build/应用.app --release --bundle
yanxu version --json

YXB 包含可达的项目模块、锁定依赖、资源、权限、应用元数据和当前目标原生制品,不依赖原始源码;--standalone封装单文件 VM,--bundle生成当前平台桌面应用目录。完整发布流程见应用构建。version --json除格式能力外还报告构建提交 SHA、目标平台、构建模式、ABI v1/v2 与独立 GUI 权限;工程工具应先协商能力,并把该身份写入验收记录。

按权限运行包

yanxu 包
yanxu 包 运行

包显示入口、依赖和声明的宿主能力;包 运行按清单[权限]执行入口。核心命令继续作为运行时兼容入口,创建项目、增删与安装依赖请使用言包包管理器。直接执行单一文卷保留 0.7 的不受限兼容行为。沙箱和多语言宿主接口见嵌入与宿主权限。

兼容、迁移与标准库清单

yanxu 兼容 --json
yanxu 迁 --差异 src/主.yx
yanxu 标准库 --json

这些命令分别生成跨执行器兼容报告、检查或应用弃用迁移,以及输出标准库权限和 API 审计;格式说明见兼容、迁移与公共格式。