Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/guicho271828/pddl2
Simpler PDDL parser in common lisp
https://github.com/guicho271828/pddl2
Last synced: 29 days ago
JSON representation
Simpler PDDL parser in common lisp
- Host: GitHub
- URL: https://github.com/guicho271828/pddl2
- Owner: guicho271828
- Created: 2016-02-06T02:16:35.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-04-24T03:44:19.000Z (over 8 years ago)
- Last Synced: 2024-10-15T14:10:59.555Z (3 months ago)
- Language: Common Lisp
- Size: 85.9 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
* Pddl2 - Simpler PDDL (Planning Domain Description Language) parser in CL
** Main Interface
+ function /read-pddl pathname/ :: read and evaluate the pddl file.
+ macro /define (category name)/ &body /body/ :: this expands the pddl
definition and evaluates to the parsed results. Depending on CATEGORY,
parsed results are also stored into =(symbol-domain name)= or
=(symbol-problem name)=. (cf. =lisp-namespace=)
+ function /parse-domain body/ :: function version of =define= macro.
+ function /parse-problem body/ :: function version of =define= macro.
+ function /symbol-problem sym/, /symbol-domain sym/ :: setf-able
function. Other functions (e.g. problem-boundp) are available
(cf. =lisp-namespace=)Domain parser literally does nothing other than parsing the PDDL and stores the list.
Problem parser, in contrast, performs various normalizations on the action/axiom preconditions/effects. For example:+ Adding predicates representing an object type
+ ADL->STRIPS compilation:
+ action/axiom preconditions are compiled into Negation Normal Form (NNF)
+ =FORALL= is enumerated as conjunctions (as opposed to axiom-based method in FD)
+ =EXISTS= is enumerated as disjunctions
+ Expands complex negations such as =(NOT (AND ...))= into NNF
+ Expandd conditional effectsIt doesnt do the grounding, however.
** Dependencies
This library is at least tested on implementation listed below:
+ SBCL 1.3.2 on X86-64 Linux 3.19.0-49-generic (author's environment)
Also, it depends on the following libraries:
+ trivia ::
+ alexandria by ::
Alexandria is a collection of portable public domain utilities.+ iterate by ::
Jonathan Amsterdam's iterator/gatherer/accumulator facility** Installation
** Author
+ Masataro Asai ([email protected])
* Copyright
Copyright (c) 2016 Masataro Asai ([email protected])
* License
Licensed under the LLGPL License.