A Planning Domain Definition Language (PDDL 3.1) parser written in Rust
EUPL-1.2 License
To use it in your project, add:
[dependencies]
pddl = "0.0.7"
Published by sunsided over 1 year ago
To use it in your project, add:
[dependencies]
pddl = "0.0.6"
PartialEq
for Name
that allows comparison with str
and String
directly.Problem::goal
to Problem::goals
to reflect the fact that it is iterable.object
or number
are used for a Name
, these values will be interned to a 'static str
.thiserror
dependency is now only brought in with the parser
crate feature.Name
types. This is enabled by default through the interning
crate feature.Published by sunsided over 1 year ago
To use it in your project, add:
[dependencies]
pddl = "0.0.5"
TryInto<PreconditionGoalDefinition>
for PreconditionGoalDefinitions
to get the only element of the list if it is a one-element list, or None
.TryInto
implementations were added for CEffect
to allow deconstruction into PEffect
, ForallCEffect
and WhenCEffect
.Parser::from_str
method that performs a Parse::parse
but discards the remaining unparsed text.PrefConGD::And
variant was removed and replaced with the PrefConGDs
type.Effect::All
and Effect::Single
variants were removed and the Effect
type was changed to a struct wrapping a vector Effects
.CEffect
variants were changed to wrap ForallCEffect
and WhenCEffect
types.Parser
trait now takes an T: Into<Span<'a>>
argument.T: Into<Span<'a>>
argument.(and ...)
conditional effects would be accidentally parsed into an atomic formula with predicate and
.Published by sunsided over 1 year ago
To use it in your project, add:
[dependencies]
pddl = "0.0.4"
IntoIterator
implementations for ConditionalEffect
, DurationConstraint
Effect
that flatten the Single
and All
variants into a single iterator.(and ...)
representation allows for a cardinality ofx
and (and x)
identical.From<AtomicFormula<T>>
for Literal<T>
.PreGD
type was renamed to PreconditionGoalDefinition
.PreconditionGoalDefinition::And
variant was removed and replaced with the PreconditionGoalDefinitions
type.Published by sunsided over 1 year ago
pddl/0.0.3 hides the nom
parser from the crate features, instead exposing only the parser
feature.
To use in your project, add:
[dependencies]
pddl = "0.0.3"
Published by sunsided over 1 year ago
pddl/0.0.2 adds some quality of life improvements, such as top-level re-exports of the domain and problem types, a Parser
trait simplifying the parsing experience and slightly improved documentation.
To use in your project, add:
[dependencies]
pddl = "0.0.2"
Published by sunsided over 1 year ago
pddl/0.0.1 provides some minor usability adjustments such as added accessors for internal state of structs.
To use in your project, add:
[dependencies]
pddl = "0.0.1"
Published by sunsided over 1 year ago
pddl/0.0.0 is the initial release. This version is able to parse PDDL 3.1 but may not be entirely useful due to non-public enum variant contents. These usability concerns will be addressed in a future version.
To use in your project, add:
[dependencies]
pddl = "0.0.0"