ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

my​PDDL

Pold87 全部

为Sublime Text提供的PDDL语法高亮、代码片段、领域可视化等功能

详情

  • 2018.04.13.17.28.48
  • github.​com
  • github.​com
  • 6年前
  • 1小时前
  • 10年前

安装

  • 总计 2K
  • Win 699
  • Mac 497
  • Linux 822
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
Mac 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

读我文件

源代码
raw.​githubusercontent.​com

myPDDL - 一个用于PDDL的模块化知识工程工具

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

下载配套论文

在野中的规划:PDDL建模工具. 最终出版可在Springer找到,链接为http://dx.doi.org/10.1007/978-3-319-11206-0_27.

myPDDL是一个高度可定制和可扩展的模块化系统,旨在支持知识工程师在编写、分析和扩展PDDL文件的过程中,从而促进知识工程师之间的协作以及在现实世界应用中使用PDDL。它由以下组成部分组成

  • myPDDL-new: 创建一个包含PDDL领域和问题框架的myPDDL项目文件夹结构。
  • myPDDL-syntax: 一个基于上下文的语法高亮功能。
  • myPDDL-snippet: 代码片段(模板),可以插入到myPDDL文件中。
  • myPDDL-distance: 自动计算PDDL位置,这些位置在问题文件中指定。
  • myPDDL-diagram: 用于分析myPDDL类型层次结构的类型图生成器。
  • myPDDL-IDE: 用于Sublime Text中myPDDL的集成开发环境。

支持的文件类型

  • .pddl

安装

要求:- Graphviz(命令行工具dot)- Java - …

只需将此存储库放入你的Sublime文本包文件夹中(首选项 -> 浏览包…)。你有三种方法可以做到这一点:- 通过Sublime Text包控制(搜索myPDDL)(推荐!)- git clone https://github.com/Pold87/myPDDL.git myPDDL - 下载ZIP文件并将其解压到你的包文件夹中。

重要

要尽情享受myPDDL的所有功能,你需要做几个额外的步骤。我假设你正在使用Linux

  1. 转到Sublime Text包文件夹(首选项 -> 浏览包 …)并切换到myPDDL文件夹。
  2. 确保文件夹内名为myPDDL的文件是可执行的(在你的shell中输入chmod a+x myPDDL)。
  3. 将文件myPDDL放置在您的$PATH(例如,~/bin)下,或者将myPDDL文件夹添加到您的$PATH中(例如,将export PATH=$PATH:~/.config/sublime-text-2/Packages/myPDDL添加到您的.bashrc文件中)。

  4. 使用文本编辑器打开文件myPDDL并自定义它:大多数选项是针对高级用户,但应该将变量“path”设置为与相应的myPDDL文件夹匹配。默认值可能对您来说已经是正确的:“~/.config/sublime-text-2/Packages/myPDDL”。

  5. 在Sublime Text中享受吧!

    1. 创建新项目 - 打开命令面板(ctrl+shift+p)并选择myPDDL-new。指定项目名称并按回车键 -> 一个包含模板的新项目结构将在您的PDDL项目目录中生成(项目目录默认为~/Documents/myPDDL,但您可以通过设置“pddl_project_folder”为“~/Documents/myPDDL/”来选择不同的文件夹。您还应该自定义运行Sublime Text的命令(通常是subl、sublime、sublime-text)“sublime_shell_cmd”为“subl”)。
    2. 切换到PDDL语法高亮:视图 -> 语法 -> PDDL
    3. 使用代码片段:键入domain并按tab -> 将出现一个domain骨骼(您可以在下面的所有代码片段中找到)
    4. 显示PDDL类型图:打开命令面板(ctrl+shift+p并选择myPDDL-diagram)
    5. 计算在由谓词'location'指定的问题文件中的PDDL谓词之间的距离(您可以在您的$PATH中的myPDDL (NOT myPDDL.py)文件中为这个谓词选择一个不同的名称)。

自定义

您几乎可以自定义任何内容。通过更改您的$PATH中的myPDDL文件中的变量“viewer”来使用不同的图像查看器,或者在myPDDL-new的领域文件模板(在文件夹template中)中进行自定义。

使用方法

您还可以通过命令行界面使用myPDDL(在shell中键入myPDDL以查看更多信息)。

使用代码片段

此包包含一些常用的PDDL构造。尝试以下任何一个,以查看它们的工作方式

  • 模板:domainproblem
  • 类型:t1t2t3等。
  • 谓词:p1p2p3等。
  • 函数:f1f2f3等。
  • 行为:actiondurative-action

示例

创建PDDL项目(myPDDL-new)

在项目文件夹中,领域文件domain.pddl和问题文件p01.pddl(在problems/文件夹内)最初包含对应的PDDL骨架,也可以进行自定义。此外,项目名称也用作文件domain.pddl和p01.pddl中的领域名称。

语法高亮(myPDDL-syntax)

alt
 text

一个故意的错误领域。不由PDDL指定的构造将不会高亮显示。

生成类型图(myPDDL-diagram)

alt
 text

自动生成的Hacker World的类型图

每次调用myPDDL-diagram时,保存文件的名称都会扩展一个递增的修订号。因此,不仅可以通过关联PDDL和图文件来识别,还可以使用此功能进行基本的版本控制。

距离计算(myPDDL-distance)

在使用计算器之前,问题文件看起来像这样(p01.pddl)

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

应用后,距离已添加到新文件(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