| Crates.io | spingus |
| lib.rs | spingus |
| version | 0.1.0 |
| created_at | 2024-01-31 02:29:25.50041+00 |
| updated_at | 2024-01-31 02:29:25.50041+00 |
| description | A simple, fast, and robust PDDL parser |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1121139 |
| size | 204,930 |
A simple, fast, and robust PDDL parser
Spingus has three goals:
use spingus::problem::objects::Object;
let input = "(define (problem prob)
(:objects o1)
(:init (p o1))
(:goal (not (p o3)))
)";
let problem = spingus::problem::parse(&input);
assert_eq!(problem.name, Some("prob"));
assert_eq!(problem.domain, None);
assert_eq!(problem.objects, Some(vec![Object { name: "o1", type_name: None }]));
//...
Benchmarked on a i5-13600k with Criterion
| Throughput | Time to Parse (see here) | |
|---|---|---|
| Domain | 96 MiB/s | 4 µs |
| Problem | 726 MiB/s | 726 ns |
| Plan | 727 MiB/s | 378 ns |