Commit Graph

840 Commits

Author SHA1 Message Date
5af0c26650
Added tests for derived predicate numbering.
These tests ensure that derived predicates are numbered correctly,
whether they are introduced by the domain, the problem, or both.
2017-11-16 17:30:53 +01:00
39410ac98b
Added normalization tests for nested expressions.
These tests ensure that nested expressions in preconditions and effects
are correctly flattened via derived predicates.
2017-11-16 17:23:08 +01:00
5621820fe4
Added normalization tests for negations.
These tests ensure that multiple negations are eliminated, negated
quantifiers are replaced appropriately, negations introduced by
reduction are correctly handled, and negated disjunctions and
conjunctions are replaced according to De Morgan’s rules.
2017-11-15 18:53:43 +01:00
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
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
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
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
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 Lühne
a1a80332ca
Merge pull request #4 from mgebser/strips
Introduced flat representation of transition constraints, activated by
default with respect to the new constant _inertia.
2017-11-09 14:35:31 +01:00
f0e553df23
Minor formatting. 2017-11-08 17:11:36 +01:00
0d0a4337a2
Updated Catch to 2.0.1. 2017-11-04 20:54:39 +01:00
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
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
mgebser
efee22a655 introduced flat representation of transition constraints, activated by default w.r.t. the new constant _inertia 2017-11-01 13:58:04 +01:00
4faa8813e4
Added removed Boost dependency to change log. 2017-10-28 17:33:26 +02:00
dd1b2f9636
Removed Boost dependency from building instructions. 2017-10-28 17:31:37 +02:00
a31d8638e7
Fixed typos in documentation. 2017-10-28 17:30:41 +02:00
6af0d4ec7a
Removed Boost dependency from Arch PKGBUILD. 2017-10-28 17:16:18 +02:00
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
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
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
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
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
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
6d07fcbd6c
Moved initial state translation to new header. 2017-10-27 16:38:01 +02:00
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
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
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
9803710ff3
Fixed typo. 2017-10-25 19:00:54 +02:00
4d8525f52d
Added comment for consistency. 2017-10-25 18:03:11 +02:00
d0b7f89925
Removed unwanted newlines at the end of output. 2017-10-25 17:01:19 +02:00
032fa14f61
Updated tagline to match plasp’s recently extended tool set. 2017-10-14 02:37:46 +02:00
8b487b0a82
Structured change log more nicely. 2017-10-14 02:31:04 +02:00
f6eed53550
Minor formatting. 2017-10-14 02:13:47 +02:00
cb61f7cc5e
Making command-line options in change log more specific. 2017-10-14 02:13:47 +02:00
5ec4dd2aaf
Added new commands to the change log. 2017-10-14 02:13:47 +02:00
b8bd42d361
Implemented “check-syntax” command. 2017-10-14 02:13:47 +02:00
89edafb586
Implemented “beautify” command. 2017-10-14 02:13:47 +02:00
0d5245b48b
Showing list of available commands in help message. 2017-10-14 02:13:47 +02:00
d20b30d34d
Implemented “normalize” command. 2017-10-14 02:13:47 +02:00
b99e7c198a
Refactored “translate” command. 2017-10-14 02:13:46 +02:00
c3b6d6939f
Added missing inline directive. 2017-10-14 02:13:46 +02:00
868c220e42
Minor formatting. 2017-10-14 02:13:46 +02:00
cde892c771
Added command for printing version information. 2017-10-14 02:13:46 +02:00
974c94fbb0
Unified version printing. 2017-10-14 02:13:46 +02:00
2be3f4256a
Refactored command base class for simplicity. 2017-10-14 02:13:46 +02:00
5427876e36
Added workaround for GCC 6 compiler error. 2017-10-14 02:13:46 +02:00
abdc4e31dc
Refactored printing help messages in commands. 2017-10-14 02:13:46 +02:00
db7ea6f2fe
Removed unwanted methods. 2017-10-14 02:13:46 +02:00
d8b2aa9720
Updated change log with new command interface. 2017-10-14 02:13:46 +02:00