All Projects → Pold87 → myPDDL

Pold87 / myPDDL

Licence: other
PDDL Syntax Highlighting, Snippets, Domain Visualization and more for Sublime Text

Programming Languages

shell
77523 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to myPDDL

Nord Jetbrains
An arctic, north-bluish clean and elegant JetBrains IDE UI and editor color theme.
Stars: ✭ 293 (+815.63%)
Mutual labels:  syntax-highlighting, ide
CodeView
Android Library to make it easy to create an Code editor or IDE that support any languages and themes, with auto complete, auto indenting, snippets and more features
Stars: ✭ 254 (+693.75%)
Mutual labels:  syntax-highlighting, ide
uDevkit-IDE
An IDE for uDevkit or C/C++ projects with Git written in Qt5
Stars: ✭ 15 (-53.12%)
Mutual labels:  syntax-highlighting, ide
DzNoteEditor
Delphi Property Editor for TStrings supporting formatted languages with syntax highlight
Stars: ✭ 18 (-43.75%)
Mutual labels:  syntax-highlighting, ide
Zerobranestudio
Lightweight Lua-based IDE for Lua with code completion, syntax highlighting, live coding, remote debugger, and code analyzer; supports Lua 5.1, 5.2, 5.3, 5.4, LuaJIT and other Lua interpreters on Windows, macOS, and Linux
Stars: ✭ 2,255 (+6946.88%)
Mutual labels:  syntax-highlighting, ide
I Pascal
A free Object Pascal language plugin for IntelliJ IDEA
Stars: ✭ 85 (+165.63%)
Mutual labels:  syntax-highlighting, ide
Subethaedit
General purpose plain text editor for macOS. Widely known for its live collaboration feature.
Stars: ✭ 1,183 (+3596.88%)
Mutual labels:  syntax-highlighting, ide
vscode-liquid
💧Liquid language support for VS Code
Stars: ✭ 137 (+328.13%)
Mutual labels:  syntax-highlighting, ide
Brackeys Ide
👨‍💻 Brackeys IDE is a fast and free multi-language code editor for Android.
Stars: ✭ 154 (+381.25%)
Mutual labels:  syntax-highlighting, ide
Ide Stubs
Phalcon IDE Stubs
Stars: ✭ 137 (+328.13%)
Mutual labels:  syntax-highlighting, ide
TheVimIDE
Modern Vim IDE with support for C/C++, Java, Python, Lua, PHP, JavaScript, Ruby and much more ...
Stars: ✭ 33 (+3.13%)
Mutual labels:  syntax-highlighting, ide
misbehave
Add IDE-like text entry to HTML contenteditable tags
Stars: ✭ 34 (+6.25%)
Mutual labels:  syntax-highlighting, ide
core
🚀 A framework helps you quickly build Cloud or Desktop IDE products.
Stars: ✭ 2,082 (+6406.25%)
Mutual labels:  ide
colon-ide
Colon is a flexible text editor, built on Electron, and based on everything we love about our favorite editors. We are trying to designe it to be fully customizable.
Stars: ✭ 91 (+184.38%)
Mutual labels:  ide
nix-env-selector
Allows switch environment for Visual Studio Code using Nix Package Manager.
Stars: ✭ 154 (+381.25%)
Mutual labels:  ide
vscode-ibmi-languages
Syntax highlighting for IBM i languages such as RPG, CL, DDS, MI, and RPGLE fixed/free.
Stars: ✭ 28 (-12.5%)
Mutual labels:  syntax-highlighting
SubLilyPond
LilyPond syntax highlighting in Sublime Text 2 and 3.
Stars: ✭ 26 (-18.75%)
Mutual labels:  syntax-highlighting
intellij-prisma
Prisma schema file support for IntelliJ IDEs (WebStorm, PHPStorm, Pycharm, RubyMine, ...)
Stars: ✭ 25 (-21.87%)
Mutual labels:  syntax-highlighting
Fragaria
Cocoa syntax highlighting text view
Stars: ✭ 53 (+65.63%)
Mutual labels:  syntax-highlighting
tails
tails enables you to view, edit, and organize all your programming projects in one place
Stars: ✭ 20 (-37.5%)
Mutual labels:  ide

myPDDL - A Modular Knowledge Engineering Tool for PDDL

Join the chat at https://gitter.im/Pold87/myPDDL

Download accompanying paper:

Planning in the Wild: Modeling Tools for PDDL. The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-319-11206-0_27.

myPDDL is a highly customizable and extensible modular system, designed for supporting knowledge engineers in the process of writing, analyzing and expanding PDDL files and thereby promoting the collaboration between knowledge engineers and the use of PDDL in real-world applications. It consists of the following integral parts:

  • myPDDL-new: Create a myPDDL project folder structure with PDDL domain and problem skeletons.
  • myPDDL-syntax: A context-aware syntax highlighting feature.
  • myPDDL-snippet: Code snippets (templates), which can be inserted in myPDDL files.
  • myPDDL-distance: Automated distance calculation for PDDL locations, specified in a problem file.
  • myPDDL-diagram: A type diagram generator for analyzing the structure of myPDDL type hierarchies.
  • myPDDL-IDE: An integrated development environment for the use of myPDDL in Sublime Text.

Supported file types

  • .pddl

Installation

Requirements:

  • Graphviz (command line tool dot)
  • Java
  • ...

Simply place this repository into your Sublime text packages folder (Preferences -> Browse Packages...). You have three possibilities to do so:

IMPORTANT

You have to take a few more steps to enjoy all functionalities of myPDDL. I assume you are using Linux:

  1. Go to the Sublime Text Packages folder (Preferences -> Browse Packages ...) and change to the myPDDL folder.

  2. Ensure that the file myPDDL (inside the folder myPDDL) is executable (type chmod a+x myPDDL in your shell).

  3. Place the file myPDDL somewhere on your $PATH (e.g. ~/bin) or add the folder myPDDL to your $PATH (e.g. add export PATH=$PATH:~/.config/sublime-text-2/Packages/myPDDL to your .bashrc).

  4. Open the file myPDDL in a text editor and customize it: While most options are for advanced users can should set the variable "path" to match the corresponding myPDDL folder. The default is probably right for you: "~/.config/sublime-text-2/Packages/myPDDL".

  5. Enjoy (in Sublime Text):

    1. Create new projects - open the command palette (ctrl+shift+p) and choose myPDDL-new. Specify the name for the project and press enter -> A new project structure with templates will be generated in your PDDL project directory (the project directory defaults to /Documents/myPDDL but you can choose a different folder by setting "pddl_project_folder": "/Documents/myPDDL/". You should also customize the command for running Sublime Text (normally one of subl, sublime, sublime-text) "sublime_shell_cmd": "subl").
    2. Switch to PDDL syntax highlighting: View -> Syntax -> PDDL
    3. Use snippets: type domain and press tab -> a domain skeleton appears (you can find all snippets below)
    4. Display a PDDL type diagram: open the command palette (ctrl+shift+p and choose myPDDL-diagram)
    5. Calculate distances between PDDL predicates in a problem file specified by a predicate 'location' (you can choose a different name for this predicate in the myPDDL (NOT myPDDL.py) file in your $PATH).

Customization

You can customize almost anything. Use a different image viewer by changing the variable "viewer" in the myPDDL file on your $PATH or customize the templates for the domain files of myPDDL-new (in the folder templates).

Usage

You can also use myPDDL via a command-interface (type myPDDL in a shell to see further information).

Use Snippets

This package contains some often used PDDL constructs. Try one of the following, to see how they work:

  • template: domain, problem
  • types: t1, t2, t3, etc.
  • predicates: p1, p2, p3, etc.
  • functions: f1, f2, f3, etc.
  • action: action, durative-action

Examples

Create PDDL Projects (myPDDL-new)

Within the project folder, the domain file domain.pddl and the problem file p01.pddl (within the folder problems/) initially contain corresponding PDDL skeletons which can also be also customized. Additionally the project name is used as the domain name within the files domain.pddl and p01.pddl.

Syntax Highlighting (myPDDL-syntax)

alt text

A deliberately erroneous domain. Constructs not specified by PDDL are not highlighted.

Type Diagram Generation (myPDDL-diagram)

alt text

Automatically generated type diagram of the Hacker World

Every time myPDDL-diagram is invoked, the names of the saved files are extended by an ascending revision number. Thus, one cannot only identify associated PDDL and diagram files, but also use this feature for basic revision control.

Distance Calculation (myPDDL-distance)

Before using the calculator the problem file looks like this (p01.pddl):

(:init ...
       (location gary 4 2)
       (location pizza 2 3))

After the application, the distances have been added in a new file (p01-location.pddl):

(:init ...
       (location gary 4 2)
       (location pizza 2 3)
       (distance gary gary 0.0)
       (distance gary pizza 2.2361)
       (distance pizza gary 2.2361)
       (distance pizza pizza 0.0))

Volker Strobel - [email protected] - 2014

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].