编译器
编译器负责将 MPE 中的流程图转换为 v2 标准的 Pipeline,即“导出”过程。
字段编译准则
Pipeline 协议的每一个字段有一或多个参数类型,在编译时,MPE 会根据字段值智能判断其类型。
对于任意字段,在解析时,若形似相应的类型,则按如下优先级与标准进行编译:
| 优先级 | 类型 | 解析标准 |
|---|---|---|
| 1 | 位置复合数组 | 当字段可接受此类型时,直接按此类型解析 |
| 2 | XYWH 四元组 | 四元组 |
| 3 | 整型键值对 | 整型二元组 [x, y] |
| 4 | 字符串键值对 | 字符串二元组 [a, b] |
| 5 | XYWH 四元组数组 | 二维四元组数组 |
| 6 | 二维浮点数组 | 二维浮点数数组 |
| 7 | 二维整型数组 | 二维整型数组 |
| 8 | 浮点数组 | 浮点数组 |
| 9 | 整型数组 | 整型数组 |
| 10 | 字符串键值对数组 | 二元组数组 |
| 11 | 字符串数组 | 任意一维数组 |
| 12 | JSON 数组 | 元素可解析为 JSON 类型的数组 |
| 13 | 布尔值 | true/false |
| 14 | 浮点值 | 任意浮点数 |
| 15 | 整型 | 任意整数 |
| 16 | JSON | 可解析为 JSON 类型的值 |
| 17 | 字符串 | 任意值 |
语法糖
在将 MPE 的节点字段参数编译为 Pipeline 时,MPE 对输入的原始值提供了多种便捷语法糖,以提升字段配置体验。
以下是支持的主要便捷语法糖:
列表
- 方括号省略:在输入时,可以省略
[],例如200,300,1,1会被编译为[200, 300, 1, 1] - 中英文逗号混用:在输入时可以使用中文逗号
- 列表降维:大多数列表提供多元素封装,每个输入框仅需填写一个元素。对于二维列表,可在元素框输入一维列表
非 JSON 键值对
- 引号省略:可直接写
key,value,会被编译为["key","value"]。
JSON
- 中英文引号混用:键可以使用中文引号包裹,例如
{“x”:10}会被编译为{"x": 10}
