2个版本
0.0.4 | 2023年11月18日 |
---|---|
0.0.3 | 2023年11月18日 |
#7 in #pddl
每月下载 182 次
21KB
436 行
PDDL-ish解析器
PDDL-ish解析器是一个Rust库,用于解析规划领域定义语言(PDDL)的简化版本。该解析器特别适合处理可能由ChatGPT等自回归语言模型生成的类似PDDL的输入。
特性
- 灵活地解析非标准的PDDL文件。
- 从类似PDDL的结构化文本中提取领域、对象和动作。
- 错误处理,为解析失败提供上下文。
- 对常见的PDDL构造支持,对语法宽容。
安装
要安装PDDL-ish解析器,可以使用cargo add
命令
cargo add pddl-ish-parser
或者将以下内容添加到您的Cargo.toml文件中
pddl-ish-parser = "0.0.3"
您可以在crates.io上查看最新版本。
使用
以下是使用PDDL-ish解析器的基本示例
use pddl_ish_parser::parser::problem_parser::parse_problem;
fn main() {
let input = r#"(define (problem your-problem)
...
)"#;
match parse_problem(input) {
Ok((_, problem)) => println!("{:?}", problem),
Err(e) => eprintln!("Error parsing problem: {:?}", e),
}
let domain_input = r#"(define (domain your-domain)
...
)"#;
match parse_domain_types(domain_input) {
Ok((_, domain_types)) => println!("Parsed domain types: {:?}", domain_types),
Err(e) => eprintln!("Error parsing domain types: {:?}", e),
}
}
测试
库中包含测试,您可以运行这些测试以确保解析器按预期工作
cargo test
贡献
欢迎贡献!请在GitHub上打开一个问题或拉取请求。
许可
本项目遵循MIT许可证 - 有关详细信息,请参阅LICENSE文件。
依赖项
~3–4MB
~73K SLoC