Aller au contenu
Français

词法与语法调试

Ce contenu n’est pas encore disponible dans votre langue.

std.lexer 和 std.parser 用于查看源码处理的调试摘要,不是稳定的公开 Token 或 AST 数据模型。

接口 返回 含义
lexer.scan(text: str) [str] token 种类的调试文本数组
parser.parse(source: str) str 解析源程序并返回摘要
parser.parse(tokens: [str]) str 返回 token 数组的数量摘要,不重新解析 token
import { lexer, parser } from "std"
fn main() {
source = "fn main() { println(1) }"
println(lexer.scan(source))
println(parser.parse(source))
}

该示例使用解释器 ku run。语法错误作为运行错误报告,接口不返回 T!,不能把失败转换成普通 Result。native C 和 LLVM 不支持这两个调试模块。

日常编译诊断优先使用 ku check,查看 lowered IR 使用 ku ir;见命令行工具。