This repository has been archived on 2023-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
plasp/README.md

74 lines
2.1 KiB
Markdown

# plasp—Translate PDDL to ASP
[![GitHub Release](https://img.shields.io/github/release/potassco/plasp.svg?maxAge=2592000)](https://github.com/potassco/plasp/releases)
[![Build Status](https://img.shields.io/travis/potassco/plasp/master.svg?maxAge=2592000)](https://travis-ci.org/potassco/plasp?branch=master)
`plasp` 3 is in early development and not intended for productive use yet.
As of now, `plasp` 3 experimentally supports the full [SAS Format](http://www.fast-downward.org/TranslatorOutputFormat) (as of version 3) used by [Fast Downward](http://www.fast-downward.org/).
Please get in touch with [Patrick Lühne](https://www.luehne.de) if you have any suggestions.
## Usage
To translate an SAS file into ASP facts, call:
```bash
$ plasp file.sas
```
For example, a PDDL instance can be solved as follows.
First, use [Fast Downward](http://www.fast-downward.org/) to translate the files from PDDL to SAS:
```bash
$ ./fast-downward.py --translate --build=release64 domain.pddl instance.pddl
```
This creates the file `output.sas`.
The translated SAS instance can now be solved incrementally with `clingo` and the meta encoding `meta-sequential-incremental.lp`:
```bash
$ plasp output.sas > instance.lp
$ clingo encodings/meta-sequential-incremental.lp instance.lp
```
## Building
`plasp` requires a C++14 compiler (preferrably GCC ≥ 6.1), the `boost` libraries (≥ 1.55), and CMake for building.
```bash
$ git clone https://github.com/potassco/plasp.git
$ cd plasp
$ mkdir -p build/release
$ cd build/release
$ cmake ../.. -DCMAKE_BUILD_TYPE=Release
$ make
```
The built `plasp` binary is then located at `plasp/build/release/bin/plasp`.
### Running the Tests
`plasp` provides unit tests written using the [Google Test](https://github.com/google/googletest) framework.
Before building and running the tests, make sure you have fetched the Google Test git submodule:
```bash
$ git submodule init
$ git submodule update
```
Afterward, build and run the tests as follows:
```bash
$ make run-tests
```
## Contributors
* [Patrick Lühne](https://www.luehne.de) (`plasp` 3)
### Earlier Versions
* René Knaebel (`plasp` 2)
* Murat Knecht (`plasp`)