NASL AST Node Path 协议 v1.1(相对路径)
1. 介绍
- 版本号:1.1
- 别名:JSON Path 协议
- 提案人:赵雨森
- 评审人:NASL 技术委员会全体成员
(1) 背景
NASL AST Node Path 协议 v1.0 从 app 开头表达一个逻辑节点路径有时过长,需要一种相对路径的表达方式。
2. 协议描述
(1) 定义
继承 NASL AST Node Path 协议 v1.0,补充定义一种相对路径的表达方式。
(2) 语法
(2.1) 语法定义
grammar NANPv1
entry NANP:
(step+=Step | ('.' step+=Step)) ('.' step+=Step)*;
Step:
key=ID ('[' expr=(INDEX | FindExpr) ']')?;
FindExpr:
key=ID value=VALUE;
terminal INDEX: /\d+/;
terminal VALUE: /=[^=.[\]]+/;
terminal ID: /[a-zA-Z_][\w_]*/;
(2.2) 语法说明
以.
开头时,表示相对路径。
类似文件路径的./some/path
。
(2.3) 语法示例
app.logics[0]
app.logics[name=logic1]
.body[2]
.params[name=param1]
.body[2].consequent[3].left.property
3. 协议生态
目前以下设施使用了该协议:
- LCAP IDE
- 渲染层
- ...
- NL2NASL 服务
- ...