Commit Graph

351 Commits

Author SHA1 Message Date
8563011939 Minor formatting. 2016-06-13 03:22:48 +02:00
e07672ffe6 Added transitive deduction of object types to PDDL translation. 2016-06-13 03:22:19 +02:00
23f6f9b26b Added translation of a PDDL problem’s goal. 2016-06-13 03:19:24 +02:00
e9c464b319 Added translation of a PDDL problem’s initial state. 2016-06-13 02:59:43 +02:00
d3dc9101dd Added translation of objects in PDDL problems. 2016-06-13 02:48:16 +02:00
e018cdbc91 Added translation of effects of PDDL actions. 2016-06-13 02:41:23 +02:00
e2b8fd2880 Added translation for preconditions of PDDL actions. 2016-06-13 02:38:56 +02:00
680206b40b Removed Reference expressions. 2016-06-13 01:38:56 +02:00
1c8af793c2 Made PDDL action preconditions and effects optional. 2016-06-12 23:51:45 +02:00
46351b2fe7 Ensuring that input contains only predicates, negations, and conjunctions for the time being. 2016-06-12 23:38:44 +02:00
30cfa1b45e Fixes lambda issue with gcc. 2016-06-12 22:58:17 +02:00
0756d63769 Put translation of PDDL variable lists into separate method. 2016-06-12 22:55:35 +02:00
87ca54a253 Translating names of PDDL actions. 2016-06-12 22:47:39 +02:00
9c2f49e4a0 Put PDDL translation sections into separate methods. 2016-06-12 22:39:04 +02:00
49002ac52d Made output stream a member of the SAS translator for convenience. 2016-06-12 22:35:31 +02:00
b70e62ff3b Made output stream a member of the PDDL translator for convenience. 2016-06-12 22:31:31 +02:00
046f803538 Implemented translation of PDDL predicates (with primitive types only). 2016-06-12 22:25:12 +02:00
639b7646c9 Making sure that PDDL predicates contain only primitive types for the time being. 2016-06-12 22:19:55 +02:00
89bb54a3ec Hiding translated PDDL sections if empty. 2016-06-12 22:19:24 +02:00
e9d48bcb7d Removing visitor pattern and replacing it with CRTP. 2016-06-12 22:12:09 +02:00
0513b3aa0c Implemented translation of PDDL domain constants. 2016-06-10 17:52:19 +02:00
458dbd723c Restructured translated PDDL type output. 2016-06-10 17:48:17 +02:00
8f0f4bfa65 Implemented translation of PDDL domain types. 2016-06-10 17:40:32 +02:00
da71d4947b Added method for checking whether PDDL description contains problem. 2016-06-10 17:26:36 +02:00
6a83147ac0 Moved TranslatorException class to utils directory. 2016-06-10 17:21:56 +02:00
34a413cf05 Clarified error message. 2016-06-10 17:12:08 +02:00
854ade5fa9 Ensuring input to contain only one SAS description. 2016-06-10 17:09:06 +02:00
20b40d3e1c Allowing primitive type »objects« for compatibility. 2016-06-10 16:46:02 +02:00
9f0e784a4a Implemented recognition of comments in PDDL. 2016-06-10 16:40:43 +02:00
eb5a120286 Fixed wrong comparison for language detection. 2016-06-10 01:25:51 +02:00
2e1a011dcf Implemented automatic language detection for plasp application. 2016-06-10 01:23:41 +02:00
8bb25e9b90 Implemented construction of SAS and PDDL Descriptions from Parser object. 2016-06-10 00:46:40 +02:00
dea879199a Removed debug output. 2016-06-09 23:26:00 +02:00
f8fc1865a2 Added to-do. 2016-06-09 22:55:16 +02:00
85444f235b Parsing goal section of PDDL problem specifications. 2016-06-09 22:54:39 +02:00
d138e869fc Fixed further white space issue with empty n-ary predicates. 2016-06-09 18:46:06 +02:00
156dfd88c2 Fixed issue with parsing unsupported sections. 2016-06-09 18:30:34 +02:00
730a9b7e63 Fixed whitespace issues when parsing constants. 2016-06-09 18:26:04 +02:00
6f1b38cdb7 Fixed parsing issue with predicates in problem description. 2016-06-09 18:04:24 +02:00
a8e4ef7234 Added missing implementation of facts accessor of InitialState. 2016-06-09 18:03:43 +02:00
c7405e054f Minor formatting. 2016-06-09 18:03:32 +02:00
9506dcb31e Refactored parsing of expressions, all classes parse from opening to closing parenthesis now. 2016-06-09 17:51:10 +02:00
bbb6379907 Added goal-utilities requirement with a warning if used for compatibility. 2016-06-09 15:52:57 +02:00
26d7e216a6 Fixed issue with invalid suffixes on section names. 2016-06-09 15:33:09 +02:00
2245422d0f Made parser exception message more meaningful. 2016-06-09 15:18:36 +02:00
87889f5efe Implemented two-pass parsing for PDDL problems. 2016-06-09 14:39:03 +02:00
8428c20bd4 Parsing domains in two passes and continued working on parsing the initial state. 2016-06-09 01:25:18 +02:00
ff7a6b8c8f Removed unnecessary include. 2016-06-08 16:52:44 +02:00
d23ec14e9d Started testing PDDL problem parsing for a Blocks World problem. 2016-06-08 13:52:36 +02:00
ad23c89266 Refactored PDDL tests. 2016-06-08 13:41:17 +02:00
1c8958ad9d Check that variables are not declared multiple times. 2016-06-08 13:35:10 +02:00
c99b7018c6 Checking that type declarations are not missing. 2016-06-08 13:34:41 +02:00
f2089f48b8 Fixed typo. 2016-06-08 12:56:50 +02:00
75e51c856e Implemented early checking for typing requirement in Variables and Constants. 2016-06-08 12:51:39 +02:00
e60af33f75 Added functions for checking PDDL requirements. 2016-06-08 12:22:31 +02:00
993d14d409 Implemented type requirement checking for problem objects. 2016-06-08 01:51:45 +02:00
bf0e636d57 Fixed PDDL problem header parsing. 2016-06-08 01:51:21 +02:00
374ac3b07f Removed unneeded temporary object. 2016-06-08 01:44:06 +02:00
183b0c954e Fixed debug output. 2016-06-08 01:41:21 +02:00
42559fd601 Minor refactoring removing unnecessary temporary variable. 2016-06-08 01:31:14 +02:00
069ad4ca99 To-dos and formatting. 2016-06-08 01:19:49 +02:00
8db4b5a53e Implemented constant type checking. 2016-06-08 01:14:39 +02:00
32883910bb Fixed typo. 2016-06-08 01:12:29 +02:00
9b3f78559e Implemented primitive type declaration check. 2016-06-08 01:08:22 +02:00
7bd2782fc8 Implemented variable type requirement checking. 2016-06-08 01:05:36 +02:00
75fbb5fb48 Checking type requirement. 2016-06-08 00:48:33 +02:00
af2f9290c6 Removed obsolete functionality. 2016-06-08 00:36:48 +02:00
31fb8ba79b Started parsing in a two-pass approach. 2016-06-08 00:34:59 +02:00
9360f4295a Extracted function for skipping entire sections. 2016-06-08 00:13:53 +02:00
69ff84eecc Added efficient probing functions to Parser. 2016-06-08 00:02:40 +02:00
eea3272c56 Made Parser seekable for easier maintenance. 2016-06-07 18:41:01 +02:00
27e76fc035 Added check that typing requirement is not added by PDDL problem. 2016-06-07 16:34:15 +02:00
188165bc4d Added fix for gcc. 2016-06-07 16:14:35 +02:00
e6ddad5960 Checking that all variables in predicates have types if and only if typing is enabled. 2016-06-07 16:11:12 +02:00
4228ca01dc Implemented multi-file input. 2016-06-07 15:54:01 +02:00
c489c7fd5a Added tests for PDDL actions. 2016-06-07 14:00:29 +02:00
b612122180 Refactoring to make parsing expressions consistent across PDDL domains and problems. 2016-06-07 13:26:19 +02:00
d5fa00a4a4 Started parsing initial state and object sections. 2016-06-06 15:18:06 +02:00
e607ca4e8e Refactored PDDL parser to make all input case-insensitive. 2016-06-04 18:28:43 +02:00
d64c68f754 Improved error message. 2016-06-04 18:21:42 +02:00
e5bf7d754f Refactored expression parsing. 2016-06-04 18:12:41 +02:00
f8eab1cbb6 Removed unnecessary includes. 2016-06-04 18:07:57 +02:00
0f2c81f894 Added to-dos. 2016-06-04 17:55:17 +02:00
e481732fae Started implementation of PDDL problem parser. 2016-06-04 17:53:42 +02:00
ee597c805e Added to-do. 2016-06-04 17:52:37 +02:00
e561c55f73 Made Action section parsing case-insensitive. 2016-06-04 17:51:21 +02:00
2870bc6434 Made section identifier parsing case-insensitive. 2016-06-04 17:47:41 +02:00
7e60631840 Refactored Requirement parsing. 2016-06-04 17:47:01 +02:00
f2a1528ea9 Fixed determination of default requirement (STRIPS). 2016-06-04 17:28:52 +02:00
4ae37603f4 Added support for Imply expression. 2016-06-04 17:20:25 +02:00
837612bb8d Made type warnings non-fatal by default. 2016-06-04 16:42:41 +02:00
813fecbf15 Removed now unnecessary Parser function arguments. 2016-06-04 16:24:10 +02:00
a776fc9e06 Put Parser into Context. 2016-06-04 16:10:11 +02:00
08eb14e400 Made section parsing function names consistent. 2016-06-04 15:07:18 +02:00
60c072a2b3 Clean-up. 2016-06-04 15:06:04 +02:00
feedb95295 Turned exception about undeclared types into a consistency warning. 2016-06-04 15:04:18 +02:00
c93661f44e Finished refactoring of expressions. 2016-06-04 14:46:05 +02:00
daa063c338 Big refactoring (build still broken). 2016-06-03 17:12:39 +02:00
5abf1f8a84 Removed obsolete Variable class. 2016-06-03 13:37:23 +02:00
133aa051eb Shortened Expression class names. 2016-06-03 13:33:05 +02:00
d334b4150b Started refactoring Variables as expressions. 2016-06-03 13:21:02 +02:00
50315f5fae Relaxing white space requirements. 2016-06-02 23:41:40 +02:00
8817a3f226 Fixed whitespace parsing issue. 2016-06-02 22:47:25 +02:00
fcde9c9b6b Finished basic support for action parsing. 2016-06-02 22:31:02 +02:00
8134c6af80 Started parsing action effects. 2016-06-02 21:53:10 +02:00
7271a5e52b Implemented predicate expressions. 2016-06-02 18:31:47 +02:00
7baf15d9f0 Implemented And expressions. 2016-06-02 17:35:01 +02:00
a07019801c Refactored expressions to inherit from base class. 2016-06-02 16:28:08 +02:00
97ab22461c Started implementing parsing of action preconditions. 2016-06-02 16:06:11 +02:00
7e4a05e1db Assuming parent types to be declared properly. 2016-06-01 18:09:40 +02:00
0a4541a401 Put parsing of typed variables into Variables class. 2016-06-01 17:20:34 +02:00
b249e1cbf8 Put generic Type parsing in separate function. 2016-06-01 17:02:35 +02:00
25cf7c8ae8 Implemented parsing of PDDL constants. 2016-06-01 16:47:34 +02:00
3c97ced486 Implemented predicate parsing and refactored context storage. 2016-06-01 14:11:13 +02:00
44482ae438 Renamed TypePrimitive to PrimitiveType and made Type hash map contain PrimitiveTypes only. 2016-06-01 01:54:43 +02:00
b8223b42bd Removed unnecessary include. 2016-06-01 01:31:14 +02:00
ced1fd0038 Started refactoring Types with variants. 2016-06-01 01:29:46 +02:00
2654a6ff23 Started implementing predicate parsing. 2016-05-31 16:43:25 +02:00
5f763e90fc Refactored Requirement to be a proper class. 2016-05-31 14:11:21 +02:00
cf1c66a085 Refactored interface for parsing Types. 2016-05-31 14:01:18 +02:00
1395b62e60 Added checks that used types are correctly declared previously. 2016-05-31 13:50:30 +02:00
85da5024ea Refactored type parsing. 2016-05-31 01:06:57 +02:00
a989f5f86e Started implementing PDDL type parsing. 2016-05-30 20:43:36 +02:00
d26ff2df77 Implemented computation of derived requirements. 2016-05-30 15:44:13 +02:00
5c37026ec7 Parsing PDDL requirements. 2016-05-30 15:06:04 +02:00
8aa419b5c2 Implemented requirement parsing. 2016-05-30 14:34:17 +02:00
0eb2714c9e Removed incorrect parentheses check. 2016-05-30 13:22:17 +02:00
0b33ac0e7d Minor formatting. 2016-05-30 13:06:10 +02:00
f55e366b17 Removed unnecessary statement. 2016-05-30 13:03:18 +02:00
4d984d32c3 Refactoring of Parser class with std::istreambuf_iterator. 2016-05-30 12:54:56 +02:00
40547691a0 Started implementing PDDL domain parser. 2016-05-30 12:51:00 +02:00
42fda5925d Simplified Parser interface. 2016-05-29 15:08:10 +02:00
2c564f47d3 Refactored predicate argument parsing. 2016-05-28 14:21:05 +02:00
f81fd1a1b4 Introduced alias for parser’s underlying character type. 2016-05-27 19:25:59 +02:00
07eb23b312 Refactored basic parsing. 2016-05-27 03:58:59 +02:00
8eb0a4847f Refactoring of TranslatorASP class. 2016-05-26 12:59:18 +02:00
045239b620 Fixed wrong operator in debug output. 2016-05-25 23:22:25 +02:00
082235eaaf Minor refactoring. 2016-05-24 16:31:05 +02:00
ee0b446230 Showing action cost predicates unconditionally for easier handling in meta encodings. 2016-05-24 01:54:57 +02:00
ac354d512c Treating <none of those> as a normal value in SAS translator output. 2016-05-24 01:48:59 +02:00
bf6300f36b Made SAS translator output format contain less IDs. 2016-05-24 01:42:15 +02:00
3a2dfd97b8 Added conditional effect support for SAS translator output. 2016-05-23 18:16:44 +02:00
bc5f8edb67 Hiding action cost output if feature not required. 2016-05-23 17:15:22 +02:00
05058c149e Added axiom rule support for SAS translator output. 2016-05-23 17:13:11 +02:00
a5fd698888 Added action costs support for SAS translator output. 2016-05-23 16:57:12 +02:00
4c6c739060 Changed SAS translator output format once more to make it even closer to the SAS format. 2016-05-23 16:28:06 +02:00
02a5b11884 Switching SAS translator output format to multi-valued variable representation. 2016-05-23 15:36:23 +02:00
6e37721243 Minor formatting. 2016-05-23 14:24:00 +02:00
0724963c32 Removed fluents section (to be derived from variables instead). 2016-05-23 14:22:33 +02:00
03ae0dc301 Changed SAS translator output format to be closer to the SAS representation. 2016-05-23 14:20:11 +02:00
2ef710642b Fixed unescaped fluent names. 2016-05-23 02:03:52 +02:00
3ff20da97e Handling <none of those> values in ASP translator. 2016-05-23 01:53:42 +02:00
d118788142 Parsing <none of those> values in SAS files. 2016-05-23 01:27:28 +02:00
401c4069bd Enforcing variables to have exactly (and not at most) one value. 2016-05-23 01:02:45 +02:00
ea1dcef788 Reordered ASP output. 2016-05-23 00:25:13 +02:00
5db8af9ffc Fixed meta encoding for sequential, incremental planning. 2016-05-23 00:24:48 +02:00
d8b87c7bfa Finished SAS-to-ASP translation with limited support. 2016-05-22 22:45:33 +02:00
eed215871a Minor formatting. 2016-05-22 20:22:48 +02:00
1dd55715f1 Reordered ASP output. 2016-05-22 20:21:31 +02:00
d8d6998936 Escaping predicates containing hyphens for ASP output. 2016-05-22 20:19:45 +02:00
4258dfcfd0 Added constraints derived from SAS variables to ASP output and fixed mutex group constraints. 2016-05-22 16:35:57 +02:00
97eaff0535 Removed done to-do. 2016-05-22 16:04:22 +02:00
d9e5b5826b Added exception for currently unsupported action costs. 2016-05-22 16:03:37 +02:00
1e47173d17 Made Predicate a proper class. 2016-05-22 16:00:58 +02:00
6677ded33e Made Effect a proper class. 2016-05-22 15:46:41 +02:00
342672063e Minor formatting. 2016-05-22 15:04:23 +02:00
37af6d5127 Made AxiomRule a proper class. 2016-05-22 15:00:54 +02:00
d97b45ddcd Removed pointless comment. 2016-05-22 14:42:34 +02:00
c23ba5312b Outsourced debug output into a separate header. 2016-05-22 14:40:52 +02:00
21237ecac7 Made Operator a proper class. 2016-05-22 14:35:53 +02:00
c13e3539f2 Introduced consistent aliases for vector types. 2016-05-22 14:24:38 +02:00
90dfa302a9 Made Goal a proper class. 2016-05-22 14:04:58 +02:00
beef3aca60 Made InitialState a proper class. 2016-05-22 13:58:05 +02:00
c7c7a93eba Outsourced SAS value parsing. 2016-05-21 17:09:55 +02:00
d219ef0388 Removing trailing () at the end of 0-ary values for ASP output. 2016-05-21 16:27:30 +02:00
273e310c60 Made Value a proper class. 2016-05-21 16:22:40 +02:00
5e016d2d79 Made Variable a proper class. 2016-05-21 15:54:03 +02:00
bac8d5c842 Outsourced SAS variable parsing. 2016-05-21 15:45:01 +02:00
20c2af5f7d Implemented common function for parsing expected values. 2016-05-21 15:40:19 +02:00
081f0eb70f Moved parsing utilities to separate namespace. 2016-05-21 14:14:14 +02:00
1840b200d5 Added to-do. 2016-05-21 03:03:00 +02:00
cac555ea42 Correctly aggregating fluent names now. 2016-05-21 03:02:12 +02:00
17685b68fb Started implementing SAS to ASP translator. 2016-05-21 02:43:07 +02:00
57a64f3af9 Fixed output of 0-ary predicates. 2016-05-21 02:31:47 +02:00
6e36fc128e Implemented parsing the operator predicates. 2016-05-21 02:03:45 +02:00
15289a0c8c Implemented parsing the signs of values. 2016-05-21 01:17:17 +02:00
b09906495a Included missing header file. 2016-05-20 21:34:36 +02:00
fb04b5fb11 Added accessor for action costs usage. 2016-05-20 18:26:42 +02:00
b083d77ad4 Added accessors to parsed SAS information. 2016-05-20 18:18:30 +02:00
2d3760b774 Implemented SAS parsing directly from streams. 2016-05-20 18:02:52 +02:00
e899bd7aec Removed unintended debug output. 2016-05-20 17:05:49 +02:00
eee7a3da4d Minor formatting. 2016-05-20 17:03:56 +02:00
48bd3c77ad Handling further parser exceptions. 2016-05-20 17:01:48 +02:00
c61bdfd9f1 Unified parsing of Boolean variable. 2016-05-20 16:53:14 +02:00
8883613d18 Minor formatting. 2016-05-20 16:49:44 +02:00
440d90a28e Renamed parseVariableValue to parseValue. 2016-05-20 16:48:46 +02:00
44e7535e64 Simplified parsing of primitive types. 2016-05-20 16:45:15 +02:00
59661621cd Enhanced exception output for number parsing. 2016-05-20 16:26:24 +02:00
6d7954e661 Better handling of number parsing exceptions. 2016-05-20 16:20:51 +02:00
d7984e9b3a Moved exception catching from parser to application. 2016-05-20 16:16:56 +02:00