Commit Graph

134 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
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
9199b68080 Renamed “pddlparse” library to simply “pddl”. 2017-08-09 17:52:50 +02:00
6b1d079f69 Enabled test cases again by removing unsupported features from test files. 2017-06-24 21:49:13 +02:00
909949ff22 Removed unwanted test case. 2017-06-24 20:11:12 +02:00
9d1a8f4c0f Started implementing PDDL normalization. 2017-06-23 04:18:07 +02:00
e93085d88a Moved color logging to separate library for reusing it in PDDL parser. 2017-06-22 20:58:31 +02:00
12e55da662 Allowing “at” as a predicate name even though it is an expression identifier. 2017-06-21 23:00:07 +02:00
08c55adfbd Added test case covering missing variable names. 2017-06-21 16:55:56 +02:00
39c0e27cb2 Refactoring of tokenizer and stream classes for better efficiency and maintainability. 2017-06-21 02:56:27 +02:00
e345fd60fd Reimplemented plasp with PDDL parsing library. 2017-06-20 01:53:55 +02:00
2d44ca7955 Updated PDDL instance repository. 2017-06-19 15:55:58 +02:00
40b43217fc Replicated white space test case in new PDDL parsing library. 2017-06-19 00:35:31 +02:00
9fe489de53 Added unit tests covering predicate signature matching. 2017-06-19 00:18:03 +02:00
60d8b9ba77 Fixed incorrect parsing order of type declarations. 2017-06-19 00:18:02 +02:00
dd7fb31309 Made CMake configuration consistent. 2017-06-19 00:18:02 +02:00
230844c3ae Fixed whitespace issue in typing sections and added test cases. 2017-06-19 00:18:02 +02:00
0b8da69394 Added official PDDL competition instances for automated testing. 2017-06-19 00:13:03 +02:00
e312a91632 Renamed tokenizing module for clarity. 2017-05-12 14:17:57 +02:00
27c6b69874 Moved basic parsing to a separate module. 2017-05-09 15:05:59 +02:00
88cb8f4516 Improved CMake structure. 2017-05-09 13:01:10 +02:00
cb2db2cadf Removed unnecessary test file copies in CMake configuration. 2016-12-08 02:16:17 +01:00
2334686c59 Renamed arguments to parameters in predicate declarations. 2016-12-07 02:55:44 +01:00
ebab65e233 Refactoring to avoid dynamic casts. 2016-12-07 02:29:48 +01:00
3b110c0b8a Started implementing translation for derived predicates. 2016-12-07 01:56:06 +01:00
c1340f6297 Merge branch 'develop' of github.com:potassco/plasp into normalization 2016-12-02 01:16:22 +01:00
c4e19dddae Refactoring to use cleaner output implementation. 2016-11-29 06:03:05 +01:00
ba63a9fb05 Moved Catch to lib directory. 2016-11-12 18:24:09 +01:00
d4faaf428c Switched from Google Test to Catch. 2016-10-08 16:03:14 +02:00
4fc9b35c13 Implemented disjunctive normal form. 2016-09-08 03:42:32 +02:00
34496a7158 Finished implementing the prenex normal form with maximal groups of same-type quantifiers. 2016-09-08 02:40:51 +02:00
e0ed145716 Implemented prenex normalization. 2016-09-07 00:34:26 +02:00
edbc8770e3 Testing simplification of nested existential quantifiers. 2016-09-06 18:51:29 +02:00
31068bf89c Implemented simplification of nested quantified expressions. 2016-09-06 18:50:23 +02:00
6f3769f364 Removed unnecessary includes. 2016-09-05 17:05:48 +02:00
263b611a7b Implemented simplification of directly nested n-ary expressions of the same type. 2016-09-05 00:37:43 +02:00
79d449d0df Renaming to not confuse expression simplification and reduction. 2016-09-05 00:06:09 +02:00
4d72c20d9b Added separate simplification step to normalize in a single recursion. 2016-09-04 23:30:08 +02:00
ed2d64c1c9 Added debug printing function to facilitate testing expression normalization. 2016-09-04 22:26:17 +02:00
c9ecd0c020 Implemented De Morgan’s rules for normalization purposes. 2016-09-04 20:49:22 +02:00
6aaf7c039d Refactored normalization because of recent changes to the pointer usage. 2016-09-04 19:29:05 +02:00
7aa20a5820 Refactored expressions thanks to intrusive pointers. 2016-09-04 18:48:46 +02:00