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