7 个版本 (破坏性更新)

新版本 0.6.0 2024年8月22日
0.5.0 2024年7月17日
0.4.0 2024年6月28日
0.3.0 2024年6月14日
0.0.0 2023年12月10日

185编程语言 中排名

Download history 4/week @ 2024-04-29 4/week @ 2024-05-20 185/week @ 2024-05-27 76/week @ 2024-06-03 199/week @ 2024-06-10 26/week @ 2024-06-17 191/week @ 2024-06-24 46/week @ 2024-07-01 8/week @ 2024-07-08 141/week @ 2024-07-15 7/week @ 2024-07-22 49/week @ 2024-07-29 71/week @ 2024-08-12

每月 130 次下载
6 仓库中使用(4 个直接使用)

MIT/Apache

655KB
17K SLoC

Workflow Description Language (WDL) 文档的抽象语法树。

AST 实现实际上是对由 wdl-grammar 实现的具体语法树 (CST) 的封装。

AST 构造成本低,可以在任何级别上轻松克隆。

然而,AST(以及底层的 CST)是不可变的;更新树需要替换树中的节点以生成新的树。替换过程中未受影响的节点将从旧树重用到新树中。

示例

将 WDL 文档解析为 AST 并进行验证的示例

use wdl_ast::Document;
use wdl_ast::Validator;

let (document, diagnostics) = Document::parse(source);
if !diagnostics.is_empty() {
    // Handle the failure to parse
}

let mut validator = Validator::default();
if let Err(diagnostics) = validator.validate(&document) {
    // Handle the failure to validate
}

依赖项

~3–10MB
~98K SLoC