Ghost is a language for Timeline-based Planning, developed to replace DDL. With respect to DDL it tries to be more concise and readable, while also adding new features like generic synchronizations and type inheritance.
This repository contains a ghost-to-ddl command-line compiler, ghostc
, and an Eclipse plugin that can be used to ease development of planning domains and problems; the generated ddl files can then be given as input to a planner supported by the KeeN Environment.
The ghost language was designed and implemented by Giulio Bernardi. Currently, the compiler and the Eclipse plugin should be considered alpha quality software: any API is subject to change, and the language itself might undergo some (hopefully minor) changes; this also means that bugs and other problems are expected (but if you find any of them, please report them). It is Open Source software released under the Eclipse Public License.
- Eclipse Plugin: add the update site
https://ugilio.github.io/ghost/update/latest
. Requires Eclipse Neon.3 or better and Java 8- Alternative update sites:
https://ugilio.github.io/ghost/update/v0.1.0
for a specific version (replace 0.1.0 with the desired version) orhttps://ugilio.github.io/ghost/update/unstable
to use the plugin built from the latest commit made to themaster
branch.
- Alternative update sites:
- Command-line compiler: download the most appropriate version for your operating system (.zip for Windows, tar.bz2 otherwise) from the release page, uncompress and run bin/ghostc
Further informations on the website.
Clone the repository:
git clone https://github.com/ugilio/ghost.git
cd ghost
and then build from the *releng
directory (requires Maven and Java 8):
cd *.releng
mvn package
If you also want to run the test suite, do mvn verify
instead of mvn package
.
- Install Xtext (e.g. via the update site).
- File => Import => Existing Projects into Workspace. Select all projects in the git checkout.
- Eclipse will start spitting out thousands of errors.
- Wait for building to finish, then open Ghost.xtext (.ghost project => src folder => .ghost package).
- Right click somewhere in the file and choose "Run => Generate Xtext Artifacts": tell Eclipse that it's ok to proceed even if the project has errors.
- When building is over, errors should have been resolved.
- If there are still errors related to missing plugin lifecycle mappings, use Quick fix to discover missing m2e connectors, and install the suggested Tycho Project Configurators.