DataWindow Syntax Parser written in Rust
DataWindow
语法生成语法树AST
,修改AST
并重新生成DataWindow
语法字符串DataWindow::Modify/Describe
函数的语法,并且可以修改任何语法项| Flag | Description | Default |
|-------------------|----------------------------------------------------------|------------|
| preserve_order
| 保留原始语法项的顺序 | enabled
|
| case_insensitive
| 忽略大小写 | false
|
| query
| 支持modify
和describe
操作 | false
|
| serde_support
| 支持serde
序列化接口 | false
|
| full
| 开启所有特性 | false
|
cargo add
```bash
cargo add dwparser ```
Cargo.toml
toml
[dependencies]
dwparser = "0.1.0"
processing
ignore
let mut dwsyn = dwparser::parse("{DataWindow Syntax}").unwrap();
dwsyn.modify("DataWindow.Processing = 2");
ignore
let mut dwsyn = dwparser::parse("{DataWindow Syntax}").unwrap();
//通过字段名
dwsyn.modify("DataWindow.Table.Column.ColA.ColType = char(255)");
//通过ID
dwsyn.modify("DataWindow.Table.Column.1.ColType = char(255)");
ignore
let mut dwsyn = dwparser::parse("{DataWindow Syntax}").unwrap();
//通过字段名
dwsyn.modify("Destroy DataWindow.Table.Column.ColA");
//通过ID
dwsyn.modify("Destroy DataWindow.Table.Column.1");
ignore
let mut dwsyn = dwparser::parse("{DataWindow Syntax}").unwrap();
dwsyn.modify("Destroy DataWindow.Footer.1");