8.1 C to PDDL

PDDL (Planning Domain Definition Language) is the defacto standard language for planners. Planners are programs that are able to produce a list of execution steps given a domain (world) description and a goal. The execution steps will fulfill the goal. PDDL is a great language but it is sometimes not very easy to write complex domains. Action description cannot be divided into several blocks or files. Structures are not supported. There have been various attempts to create better input languages for planners. But this will break the support of older planners. So my attempt is to write a compiler that can compile another language that is more expressive to PDDL.
The most well known language is C so I decided to use it as an input language.

8.1.1 Download

You can download the source code of the compiler here:
ctopddl.zip
It is released under the GNU Licence 3.0.

8.1.2 Installation

In order to install the software first unpack the archive. Make sure you have cmake, pthread and a descent C++11 compiler installed. Then you can use cmake to create a make-file. Detailed instructions can be found in the archive. It is tested under Linux but you can also compile it under Windows and MacOS.
Once you compiled the package you can find the executable in your build directory. The C to PDDL compiler as no dependencies you can but it anywhere (for example in /bin).

8.1.3 Usage

The first step is to look into the examples folders. You can create the airport example with the following command:
  1  ctopddl airport.h
This will create the PDDL-domain and PDDL-problem file.