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