Commit Graph
100 Commits
Author SHA1 Message Date
patrick 9e9040cac0 Added normalization tests for “forall” statements.
These tests ensure that universal quantifiers are correctly reduced to
negated existential quantifiers over the negated argument via derived
predicates in preconditions (nested and not) and goal descriptions.
2017-11-15 17:26:56 +01:00
patrick 0cf84dd5ca Added normalization tests for implications.
These tests ensure that implications are correctly reduced to
disjunctions in preconditions (nested and not) and goal descriptions.
2017-11-15 16:34:48 +01:00
patrick b063f5047e Added basic normalization tests.
These tests make sure that simple PDDL descriptions are preserved by
normalization.
2017-11-15 16:01:26 +01:00
patrick 08a2eebe2c Removed obsolete test file.
This file will soon be replaced by a dedicated test suite in the pddl
library and is obsolete thus.
2017-11-15 16:01:22 +01:00
patrick 010e7bf41e Requiring goal to contain only one statement.
Previously, the parser read the first statement of the goal as its
precondition, but didn’t check that it was properly terminated with a
closing parenthesis. This allowed arbitrary text to be included within
the goal description without error, which was incorrect.

This commit fixes this issue and adds a corresponding unit test.
2017-11-15 15:52:10 +01:00
patrick f0e553df23 Minor formatting. 2017-11-08 17:11:36 +01:00
patrick 0d0a4337a2 Updated Catch to 2.0.1. 2017-11-04 20:54:39 +01:00
patrick b21b4f47bf Made form of variables within values consistent.
Previously, variables referenced within values were unpacked within
values. This was inconsistent, because all predicates are usually used
in their unpacked form in the rest of the output format. This commit
makes this consistent by using variables in their packed form within
values, making it more compact to handle them.
2017-11-03 01:49:24 +01:00
patrick 3a7b61de68 Fixed syntax error at end of initial state facts.
Due to a mistake in commit 6d07fcb, the closing parenthesis and period
at the end of initial state facts was omitted. This adds these back in
order to solve this syntax error.
2017-11-01 16:00:48 +01:00
patrick 4faa8813e4 Added removed Boost dependency to change log. 2017-10-28 17:33:26 +02:00
patrick dd1b2f9636 Removed Boost dependency from building instructions. 2017-10-28 17:31:37 +02:00
patrick a31d8638e7 Fixed typos in documentation. 2017-10-28 17:30:41 +02:00
patrick 6af0d4ec7a Removed Boost dependency from Arch PKGBUILD. 2017-10-28 17:16:18 +02:00
patrick 021e6c439c Removed Boost packages from Travis configuration.
As the Boost dependency isn’t required anymore, this commit removes the
Boost packages from the Travis configuration.
2017-10-28 16:50:45 +02:00
patrick e87f86af95 Removed Boost dependency in assertions.
Instead of using BOOST_ASSERT, this commit changes all assertions to
plain C-style assertions in order to drop the dependency to Boost.
2017-10-28 16:49:15 +02:00
patrick ca7ae883ee Removed Boost dependency in unit tests.
Some of the unit tests depended on Boost’s null_sink to redirect the
unwanted test output to /dev/null. This commit adds a simple
NullOutputStream as a replacement and removes the obsolete Boost
includes.
2017-10-28 16:45:29 +02:00
patrick 72fc7493b2 Removed Boost dependency in language distinction.
As Boost isn’t used in the rest of this project anymore, this commit
removes the unnecessary dependency to boost::bimap just for language
detection, and replaces it with a simple std::map instead.
2017-10-28 15:44:37 +02:00
patrick 1631a70a0b Ensuring that goal is variable-free.
Even though the parser shouldn’t be able to put variables into the goal
description, the AST theoretically allows for this case. This commit
adds a defensive check that goal descriptions are variable-free.
2017-10-27 17:10:35 +02:00
patrick 27f773e091 Added support for derived predicates in goals.
By accident, the support for derived predicates in goals was missing.
This commit adds this, in a very similar way to how normal predicates
are handled in the goal description.
2017-10-27 16:46:38 +02:00
patrick 6d07fcbd6c Moved initial state translation to new header. 2017-10-27 16:38:01 +02:00
patrick 6415f871d7 Error for derived predicates in initial state.
Previously, derived predicates in the initial state weren’t handled at
all. That’s not an issue, because derived predicates shouldn’t occur in
the initial state. However, as a defensive measure, this commit adds an
error thrown in such cases.
2017-10-27 16:27:33 +02:00
patrick feaef5a3fa Translating derived predicates of problems.
While derived predicates stemming from the domain were already
translated, the ones from the problem were missing. This commit fixes
that, although it duplicates the definition of “contains.”
2017-10-27 16:21:54 +02:00
patrick 624ddc38aa Fixed incorrect derived predicate IDs in problems.
The IDs of derived predicates within problems were accidentally starting
with 1 again, colliding with the IDs of derived predicates in the
domain. With this fix, the IDs are continuously incremented, even after
switching from domain to problem.
2017-10-25 19:01:11 +02:00
patrick 9803710ff3 Fixed typo. 2017-10-25 19:00:54 +02:00
patrick 4d8525f52d Added comment for consistency. 2017-10-25 18:03:11 +02:00
patrick d0b7f89925 Removed unwanted newlines at the end of output. 2017-10-25 17:01:19 +02:00
patrick 032fa14f61 Updated tagline to match plasp’s recently extended tool set. 2017-10-14 02:37:46 +02:00
patrick 8b487b0a82 Structured change log more nicely. 2017-10-14 02:31:04 +02:00
patrick f6eed53550 Minor formatting. 2017-10-14 02:13:47 +02:00
patrick cb61f7cc5e Making command-line options in change log more specific. 2017-10-14 02:13:47 +02:00
patrick 5ec4dd2aaf Added new commands to the change log. 2017-10-14 02:13:47 +02:00
patrick b8bd42d361 Implemented “check-syntax” command. 2017-10-14 02:13:47 +02:00
patrick 89edafb586 Implemented “beautify” command. 2017-10-14 02:13:47 +02:00
patrick 0d5245b48b Showing list of available commands in help message. 2017-10-14 02:13:47 +02:00
patrick d20b30d34d Implemented “normalize” command. 2017-10-14 02:13:47 +02:00
patrick b99e7c198a Refactored “translate” command. 2017-10-14 02:13:46 +02:00
patrick c3b6d6939f Added missing inline directive. 2017-10-14 02:13:46 +02:00
patrick 868c220e42 Minor formatting. 2017-10-14 02:13:46 +02:00
patrick cde892c771 Added command for printing version information. 2017-10-14 02:13:46 +02:00
patrick 974c94fbb0 Unified version printing. 2017-10-14 02:13:46 +02:00
patrick 2be3f4256a Refactored command base class for simplicity. 2017-10-14 02:13:46 +02:00
patrick 5427876e36 Added workaround for GCC 6 compiler error. 2017-10-14 02:13:46 +02:00
patrick abdc4e31dc Refactored printing help messages in commands. 2017-10-14 02:13:46 +02:00
patrick db7ea6f2fe Removed unwanted methods. 2017-10-14 02:13:46 +02:00
patrick d8b2aa9720 Updated change log with new command interface. 2017-10-14 02:13:46 +02:00
patrick 63c4da8fad Made option group parsing more uniform. 2017-10-14 02:13:46 +02:00
patrick 3fe2886925 Updated CMake in Travis configuration for C++17 support. 2017-10-14 02:13:46 +02:00
patrick 86486207b8 Added help and version options to the translate command. 2017-10-14 02:13:46 +02:00
patrick 569b170aba Using cxxopts as a submodule. 2017-10-14 02:13:45 +02:00
patrick f6c9e19a60 Outsourced parsing of common options in plasp app. 2017-10-14 02:13:45 +02:00
patrick 6b891fcb8e Prepared app directory for future subcommands. 2017-10-14 02:13:45 +02:00
patrick 46cd4de854 Updated changelog with parser support for equalities. 2017-08-31 19:29:54 +02:00
patrick 871d3fcdb3 Renamed test suites for clarity. 2017-08-31 19:15:17 +02:00
patrick 4ad9355e47 Removed domains from blacklist that are now supported by parser. 2017-08-31 19:08:28 +02:00
patrick 1dee4655a7 Minor refactoring. 2017-08-31 19:04:10 +02:00
patrick 0a104d222c Removed unneeded constant parsing functions. 2017-08-31 18:51:27 +02:00
patrick 80167fd21b Removed unneeded variable parsing functions. 2017-08-31 18:48:48 +02:00
patrick 7de9980c10 Refactoring to reuse term parsing code. 2017-08-31 18:37:43 +02:00
patrick 89f3eb0306 Implemented term parser. 2017-08-31 18:34:34 +02:00
patrick 716b4801aa Added AST representation for “equals” expressions. 2017-08-31 17:54:30 +02:00
patrick 9199b68080 Renamed “pddlparse” library to simply “pddl”. 2017-08-09 17:52:50 +02:00
patrick 8b232e0155 Updated sequential horizon-bound meta encoding to match new output format. 2017-06-28 16:41:31 +02:00
patrick aec16f4407 Added option to compile plasp statically. 2017-06-28 01:43:12 +02:00
patrick b2ac47c2d3 Moved Boost dependency to plasp application only. 2017-06-28 01:42:29 +02:00
patrick 31cf6d287d Internal version bump to 3.1.0-git because of the scope of the changes since 3.0.3. 2017-06-28 01:06:30 +02:00
patrick b282225363 Moved util predicates to separate section. 2017-06-28 01:00:36 +02:00
patrick 95c03396d0 Fixed incorrect argument format in ASP output. 2017-06-28 00:51:42 +02:00
patrick a5038535f4 Added missing argument to ASP predicate. 2017-06-28 00:35:28 +02:00
patrick d82ae8544b Implemented translation of conditional PDDL effects. 2017-06-28 00:33:00 +02:00
patrick 0caef2e81c Extended error message. 2017-06-27 23:35:44 +02:00
patrick cb333fd420 Updated Catch to 1.9.6. 2017-06-27 23:21:36 +02:00
patrick f61cfa532d Added support for unconditional “forall” effect statements. 2017-06-27 23:17:32 +02:00
patrick 39b885c47c Handling effects in PDDL normalization step. 2017-06-27 22:32:49 +02:00
patrick da85683f7c Changed effects in normalized PDDL effects according to recent changes. 2017-06-27 18:17:02 +02:00
patrick 0beab67bd4 Made effect variant more concise. 2017-06-27 17:50:42 +02:00
patrick 4622f31fa4 Made conditional effect variant more concise. 2017-06-27 17:43:00 +02:00
patrick 0eff8e5dcf Only enumerating existentially bound parameters for “and” expressions. 2017-06-27 16:52:50 +02:00
patrick 1516561a58 Allowing “not” expressions without introducing derived predicates. 2017-06-27 12:39:51 +02:00
patrick 5c93840f85 Allowing “exists” derived predicates to hold the precondition directly. 2017-06-27 12:34:15 +02:00
patrick ea50cffac9 Separating top-level and nested preconditions correctly. 2017-06-27 12:29:43 +02:00
patrick 8a48a5043a Minor refactoring for consistency. 2017-06-27 12:17:42 +02:00
patrick cc90ef3ec6 Restructured file for clarity. 2017-06-27 11:56:51 +02:00
patrick 31e5ead21e Minor refactoring. 2017-06-27 11:44:33 +02:00
patrick d451d2d548 Handling negations introduced by “forall” elimination correctly. 2017-06-27 11:35:47 +02:00
patrick 729ecc9475 Added missing recursion step in PDDL reduction. 2017-06-27 11:34:53 +02:00
patrick 6c9ca0ccb8 Implemented translation of derived predicates. 2017-06-24 23:54:57 +02:00
patrick 6b1d079f69 Enabled test cases again by removing unsupported features from test files. 2017-06-24 21:49:13 +02:00
patrick 6e858ff52f Enabled test case again by exchanging unsupported input file. 2017-06-24 21:49:06 +02:00
patrick ca02b8ce62 Throwing exceptions for unsupported features instead of silently accepting them. 2017-06-24 20:27:01 +02:00
patrick 2b0b6570ea Excluding unsupported domains and instances from acceptance tests. 2017-06-24 20:14:06 +02:00
patrick 909949ff22 Removed unwanted test case. 2017-06-24 20:11:12 +02:00
patrick 436933f73f Added function to dermine stream location from arbitrary positions. 2017-06-24 19:01:09 +02:00
patrick 4d59732263 Minor refactoring. 2017-06-24 18:37:49 +02:00
patrick 12efe41551 Fixed issue due to undefined implementations. 2017-06-24 18:37:20 +02:00
patrick 362222c882 Finished implementing reduction. 2017-06-24 17:38:11 +02:00
patrick fcb9aa0a76 Added missing forward declaration. 2017-06-24 17:35:52 +02:00
patrick d9bae984b2 Implemented elimination of “forall” statements. 2017-06-24 17:30:08 +02:00
patrick 994801525a Implemented negation normalization (NFF). 2017-06-24 17:19:35 +02:00
patrick 939c2c735c Explicitly deleted default constructors of all variant types to avoid future errors. 2017-06-24 17:17:27 +02:00
patrick 287e1041bd Added missing inline directive. 2017-06-24 16:51:45 +02:00