Commit Graph

164 Commits

Author SHA1 Message Date
9fde2b8e1b Updated cxxopts to 2.0.0.
Starting from version 2.0.0, cxxopts returns a ParseResult object
instead of storing the results directly within the Options structure.
Additionally, Booleans are handled slightly differently.

These two changes required some minor adjustment of the command-line
argument parsing code.
2017-11-17 00:51:51 +01:00
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
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
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
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
569b170aba Using cxxopts as a submodule. 2017-10-14 02:13:45 +02:00
871d3fcdb3 Renamed test suites for clarity. 2017-08-31 19:15:17 +02:00
4ad9355e47 Removed domains from blacklist that are now supported by parser. 2017-08-31 19:08:28 +02:00
1dee4655a7 Minor refactoring. 2017-08-31 19:04:10 +02:00
0a104d222c Removed unneeded constant parsing functions. 2017-08-31 18:51:27 +02:00
80167fd21b Removed unneeded variable parsing functions. 2017-08-31 18:48:48 +02:00
7de9980c10 Refactoring to reuse term parsing code. 2017-08-31 18:37:43 +02:00
89f3eb0306 Implemented term parser. 2017-08-31 18:34:34 +02:00
716b4801aa Added AST representation for “equals” expressions. 2017-08-31 17:54:30 +02:00
9199b68080 Renamed “pddlparse” library to simply “pddl”. 2017-08-09 17:52:50 +02:00
cb333fd420 Updated Catch to 1.9.6. 2017-06-27 23:21:36 +02:00
39b885c47c Handling effects in PDDL normalization step. 2017-06-27 22:32:49 +02:00
da85683f7c Changed effects in normalized PDDL effects according to recent changes. 2017-06-27 18:17:02 +02:00
0beab67bd4 Made effect variant more concise. 2017-06-27 17:50:42 +02:00
4622f31fa4 Made conditional effect variant more concise. 2017-06-27 17:43:00 +02:00
1516561a58 Allowing “not” expressions without introducing derived predicates. 2017-06-27 12:39:51 +02:00
5c93840f85 Allowing “exists” derived predicates to hold the precondition directly. 2017-06-27 12:34:15 +02:00
ea50cffac9 Separating top-level and nested preconditions correctly. 2017-06-27 12:29:43 +02:00
8a48a5043a Minor refactoring for consistency. 2017-06-27 12:17:42 +02:00
cc90ef3ec6 Restructured file for clarity. 2017-06-27 11:56:51 +02:00
31e5ead21e Minor refactoring. 2017-06-27 11:44:33 +02:00
d451d2d548 Handling negations introduced by “forall” elimination correctly. 2017-06-27 11:35:47 +02:00
729ecc9475 Added missing recursion step in PDDL reduction. 2017-06-27 11:34:53 +02:00
6b1d079f69 Enabled test cases again by removing unsupported features from test files. 2017-06-24 21:49:13 +02:00
6e858ff52f Enabled test case again by exchanging unsupported input file. 2017-06-24 21:49:06 +02:00
ca02b8ce62 Throwing exceptions for unsupported features instead of silently accepting them. 2017-06-24 20:27:01 +02:00
2b0b6570ea Excluding unsupported domains and instances from acceptance tests. 2017-06-24 20:14:06 +02:00
909949ff22 Removed unwanted test case. 2017-06-24 20:11:12 +02:00
436933f73f Added function to dermine stream location from arbitrary positions. 2017-06-24 19:01:09 +02:00
4d59732263 Minor refactoring. 2017-06-24 18:37:49 +02:00
12efe41551 Fixed issue due to undefined implementations. 2017-06-24 18:37:20 +02:00
362222c882 Finished implementing reduction. 2017-06-24 17:38:11 +02:00
fcb9aa0a76 Added missing forward declaration. 2017-06-24 17:35:52 +02:00
d9bae984b2 Implemented elimination of “forall” statements. 2017-06-24 17:30:08 +02:00
994801525a Implemented negation normalization (NFF). 2017-06-24 17:19:35 +02:00
939c2c735c Explicitly deleted default constructors of all variant types to avoid future errors. 2017-06-24 17:17:27 +02:00
287e1041bd Added missing inline directive. 2017-06-24 16:51:45 +02:00
9845c5ae9e Added missing parentheses in PDDL output. 2017-06-24 16:33:42 +02:00