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