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
patrick
63de1891af
Fixed missing normalization step of arguments to imply statements and extended test to cover the issue.
2016-09-02 19:25:25 +02:00