#jq #ast #language #node #syntax #root-node #identity

jq_lang

为jq查询语言提供抽象语法树

3个不稳定版本

0.2.0 2021年9月10日
0.1.1 2021年9月10日
0.1.0 2021年9月10日

1746数据库接口

MIT 协议

7KB
135

JQ Lang Rust

在Rust中实现jq语法,提供抽象语法树。

用法

在您的程序中使用它

use jq_lang::to_ast;
use jq_lang::node_type::NodeType;

let ast = to_ast(".").unwrap();
assert_eq!(ast.node_type, NodeType::Program);

根节点始终是类型 Program。它下面有一个或多个子元素。

语言

身份

最简单的过滤器是 .。它消耗JSON并产生相同的输出,未改变。

.产生以下AST

    Program
        |
        |
    Identity(value: None)

对象标识符索引

对象标识符索引旨在返回属性值。对于过滤器 .foo,实现程序应返回属性 foo 的值。

    Program
        |
        |
    ObjectIdentifierIndex(value: Some("foo"))

许可

MIT

无运行时依赖