Commit Graph

188 Commits

Author SHA1 Message Date
Fedor Isakov 4ea4b5cae5 Automatically update files in .idea folder. 2018-03-05 11:56:32 +01:00
Fedor Isakov 3a4d1bf7ae Another config file. 2017-11-09 12:02:59 +01:00
Fedor Isakov 7b113d5a21 Roll back an optimisation discriminating non-primary constraint symbols.
Doing so would change the semantics too much without apparent gains.
2017-11-09 12:02:27 +01:00
Fedor Isakov 2fb1f25d4c Minor code cleanup 2017-11-06 16:37:37 +01:00
Fedor Isakov 11d87c7846 Minor performance tweaks. 2017-11-03 12:09:43 +01:00
Fedor Isakov 741a803553 Code cleanup in matcher. 2017-11-02 14:51:57 +01:00
Fedor Isakov 1b809205e5 Minor optimization and refactoring in rule matcher. 2017-10-31 12:27:39 +01:00
Fedor Isakov c05dad493c Reimplement unification algorithm in Kotlin using jtrove lib. Add dependency on trove4. 2017-10-30 18:22:02 +01:00
Fedor Isakov d5cd9b825c Avoid including value of a Logical into toString() results, as it may cause infinite loop. 2017-10-13 11:53:40 +02:00
Fedor Isakov f65c0ce56e Update kotlin version to 1.1.4. 2017-10-06 12:10:42 +02:00
Fedor Isakov bfd6010b7d Fix a bug in rule matching preventing good matches to be reported. Tests. 2017-10-06 12:09:57 +02:00
Fedor Isakov 3c96e3d36c Rewrite TermTrie to not use recursion. Optimize put/lookup for speed. 2017-07-16 14:43:46 +02:00
Fedor Isakov e72585aa65 Refactoring Matcher, MatchTrie. Trying to optimize calls to lookupAuxOccurrences() by reusing the previous searches. 2017-07-15 13:36:01 +02:00
Fedor Isakov f8970f7825 Refactoring and reorganizing the matcher code, preparing for incremental matches search. 2017-07-11 14:21:25 +02:00
Fedor Isakov f3544af05a Publishing the build artefacts to github releases. 2017-06-07 12:38:47 +02:00
Fedor Isakov 10d855c3fa Update gitignore. 2017-06-07 11:51:05 +02:00
Fedor Isakov 43ae109f4b Add the build status badge. 2017-06-07 11:42:55 +02:00
Fedor Isakov 74553153ea Drop dependency on Kotlin EAP. 2017-06-07 11:37:56 +02:00
Fedor Isakov b5ec22be79 Travis to test on Java8 2017-06-07 11:18:40 +02:00
Fedor Isakov 6658214546 Travis CI manifest 2017-06-07 11:13:17 +02:00
Fedor Isakov 90044e69c7 Update the copyright notice with the license. Remove obsolete artefacts and "generated" markings. 2017-06-05 15:16:19 +02:00
Fedor Isakov 7c5274aacb Rename the maven projects and artefacts. 2017-06-05 13:38:31 +02:00
Fedor Isakov 0dcf1ecd81 Rename API interfaces for better readability. 2017-06-05 13:37:56 +02:00
Fedor Isakov 58eea099f1 Readme file. 2017-06-05 10:48:29 +02:00
Fedor Isakov a23c0db226 Integrate unification into the Core module. Remove the unification lib and all its stuff. 2017-06-02 11:19:36 +02:00
Fedor Isakov 8f0ce2aad6 Delete deprecated interface. 2017-06-02 10:53:48 +02:00
Fedor Isakov 77662be281 Auto-changed .iml files. Switch to Kotlin 1.1.2. Switch to Dexx collection 0.7. 2017-06-01 15:11:54 +02:00
Fedor Isakov 89018e7fb6 Updated the javadoc. Removed unused class. 2017-06-01 10:42:41 +02:00
Fedor Isakov c5c198cf8b Refactoring in the reactor API: move invocation/occurrence factory methods to evaluation session, enable access to logical context from an invocation. 2017-03-27 19:01:07 +02:00
Fedor Isakov a70c5f6f02 Ensure the failure is only reported to the trace once. 2017-03-22 10:50:05 +01:00
Fedor Isakov cab0931cc1 Report failure to the trace. 2017-02-27 16:06:32 +01:00
Fedor Isakov 6cac64b6bd Fix and simplify the unification algorithm. Drop support for cyclic terms. Correctly report cycles. 2017-02-25 18:36:56 +01:00
Fedor Isakov c687908e1e Fix copying occurrences from the store view 2017-02-25 18:35:37 +01:00
Fedor Isakov cae150819f Introduce StoreView as a parameter to launching evaluation session. Minor code refactoring/extracting. 2017-01-10 20:19:59 +01:00
Fedor Isakov c68d9a0bd7 Refactoring the reactor API. Extract StoreView. Get rid of obsolete calls to SessionSolver, cleanup the interface. Introduce AbstractSolver. Move instantiation arguments to solver/program. Cleaning up the code. 2017-01-05 17:34:53 +01:00
Fedor Isakov ebfe680aae Refactoring the reactor API. Extract StoreView, get rid of obsolete calls to SessionSolver. Cleaning up the code. 2017-01-04 10:47:23 +01:00
Fedor Isakov 0771504044 Refactoring the reactor API, cleaning up the code. 2017-01-03 12:11:31 +01:00
Fedor Isakov 466c015263 Handlers to have multiple primary constraints. RuleIndex to select handlers with matching primary symbol, if a handler has one. Only "accept-all" handlers process non-primary constraints. 2016-12-28 12:54:19 +01:00
Fedor Isakov 26f12f187d Refactor the evaluation controller to have handlers. RuleIndex to select handlers with matching primary symbol first, then the "accept-all" handlers. Tests. 2016-12-23 16:50:31 +01:00
Fedor Isakov 49a6ee0bd0 New naming convention for test helper classes (prefix Mock-). 2016-12-22 15:56:23 +01:00
Fedor Isakov e80818607c Introduce the Handler API. 2016-12-22 12:39:28 +01:00
Fedor Isakov e6c7ee74f5 Renaming implementation classes to clean up the namespace. 2016-12-22 12:27:34 +01:00
Fedor Isakov b891f0fa47 Optimizing the aux lookup of constraints by moving the constraint symbol to the top of the search term. 2016-12-14 17:07:58 +01:00
Fedor Isakov 3dd42efe32 Include information of the parent activations in the profiling data. 2016-12-14 12:34:18 +01:00
Fedor Isakov 90640f1d3d Bumped up the kotlin version in maven project file. Switch to the latest dexx collections. Drop google collections (unused). Re-imported all maven projects. 2016-12-13 10:31:16 +01:00
Fedor Isakov bdc4701b23 Uptimizing the profiler. Ensure only the top 98% of the durations get reported. 2016-12-12 15:42:06 +01:00
Fedor Isakov cb7dc76aa5 Simplify MatchTrie: no more additional nextSibling calculation, which had caused exponential search (yikes!); code cleanup. 2016-12-06 16:58:21 +01:00
Fedor Isakov 76fa878518 Report profiling results even on evaluation failure. 2016-12-06 16:58:21 +01:00
Fedor Isakov b02f3d727b Fix infinite loop on cyclic terms. Detect term cycles while walking on put/remove/retrieve. 2016-12-06 16:58:15 +01:00
Fedor Isakov 7fe7662873 Fix the failing match if case of the wrong constraints order. Test. 2016-11-23 15:55:45 +01:00