Fedor Isakov
|
ab23988887
|
Profiling processing of occurrences.
|
2016-06-02 11:57:12 +02:00 |
Fedor Isakov
|
61b488aebd
|
Cleaning up TermTrie code.
|
2016-06-02 11:56:14 +02:00 |
Fedor Isakov
|
8185605e99
|
Optimizing term trie and rules index. Using bitset to mark value tokens incidental with nodes in the "term superposition" of term trie.
|
2016-06-02 11:03:19 +02:00 |
Fedor Isakov
|
0f7ffd9141
|
Support for triggering arbitrary predicates on an occurrence match with a head's rule.
Properly handling constraint pattern/occurrence match with values/variables on either side using modal unificaiton.
|
2016-05-27 20:55:31 +02:00 |
Fedor Isakov
|
d90c06f600
|
Unification feature: term wrapper to facilitate modal unification (such as b/w different meta levels).
|
2016-05-27 20:55:31 +02:00 |
Fedor Isakov
|
5c2b1539c9
|
TermTrie: introduce value tokens; ensure the value can be retrieved iff all the term's leaves match.
|
2016-05-27 20:55:31 +02:00 |
Fedor Isakov
|
1652eacfe3
|
Integrating TermTrie in the occurrence store.
|
2016-05-22 17:09:02 +02:00 |
Fedor Isakov
|
e9969b08b7
|
Integrating TermTrie in the rules index, tests.
|
2016-05-22 15:44:35 +02:00 |
Fedor Isakov
|
82d5763039
|
TermTrie: maintaining the order of the values.
|
2016-05-19 20:31:05 +02:00 |
Fedor Isakov
|
b42f005c7e
|
TermTrie: supporting term variables.
|
2016-05-19 16:39:52 +02:00 |
Fedor Isakov
|
a44366921b
|
TermTrie: building an index of rules/occurrences from term values. Term variables not yet supported.
|
2016-05-18 15:44:56 +02:00 |
Fedor Isakov
|
0b689858b8
|
Restructure sources for reuse.
|
2016-05-17 11:51:40 +02:00 |
Fedor Isakov
|
e1e642deca
|
Optimizing logical observers manipulation: get rid of linear search.
|
2016-05-10 11:24:06 +02:00 |
Fedor Isakov
|
79e920c546
|
Refactoring utility classes to a separate package
|
2016-05-10 10:09:18 +02:00 |
Fedor Isakov
|
b54673b5a8
|
Matcher optimizations: get rid of sequence and flatMap, re-implement iterating over MatchTrie using primitives, ensure no exponential search is necessary.
|
2016-05-10 10:04:32 +02:00 |
Fedor Isakov
|
261d414039
|
Fix unification for terms with references to external terms or vars, tests.
|
2016-04-28 12:13:01 +02:00 |
Fedor Isakov
|
22d208ee74
|
Two more optimizations in MatchTrie: early cutoff of deadend branches; ensure candidate occurrences match constraints.
|
2016-04-26 17:39:28 +02:00 |
Fedor Isakov
|
b5f495d6f7
|
Another major optimization in the matcher: lazily initialize MatchTrie. Update OccurrenceStore on logical value updated.
|
2016-04-26 13:22:19 +02:00 |
Fedor Isakov
|
43e9b35e1e
|
Some more minor optimizations in the match processing. Minor code refactorings.
|
2016-04-24 17:53:49 +02:00 |
Fedor Isakov
|
7095551b7f
|
Minor optimization in the match processing.
|
2016-04-22 13:25:41 +02:00 |
Fedor Isakov
|
2d46cd9542
|
Rewritten Matcher to not rely on Sequence and flatMap, instead using MatchTrie. OccurrenceIndex interface made clear. Some minor code optimizations.
|
2016-04-21 20:49:06 +02:00 |
Fedor Isakov
|
efc293b495
|
Switch to the latest version of Kotlin.
|
2016-04-17 15:47:41 +02:00 |
Fedor Isakov
|
90e28e7ac3
|
Major optimization in unifier: introduce InnerTerm, replace expensive calls with direct field access.
|
2016-04-16 20:50:06 +02:00 |
Fedor Isakov
|
e2209fa93e
|
Minor optimizations in unifier and matcher.
|
2016-04-16 19:23:19 +02:00 |
Fedor Isakov
|
8cb9c7af57
|
Minor optimizations and code cleanup in unification, removed dependency on dexx collections.
|
2016-04-15 15:39:34 +02:00 |
Fedor Isakov
|
d0bf94fc91
|
Support body alternation in Handler. Adopt the changes in the API.
|
2016-04-15 13:59:23 +02:00 |
Fedor Isakov
|
a290fe3c66
|
Integrate changes in the API: EvaluationSessionFauilure, alternation in Rule's body.
|
2016-04-11 15:32:43 +02:00 |
Fedor Isakov
|
678ab96773
|
Introduce HandlerFrame. Building the framework for supporting disjuctions in rule productions.
|
2016-04-08 16:02:28 +02:00 |
Fedor Isakov
|
e55108030b
|
Avoid dependency of Handler onto Solver. Access solver via the evaluation session.
|
2016-04-07 11:40:50 +02:00 |
Fedor Isakov
|
d7c0060724
|
Make PropagationHistory persistent (functional).
|
2016-04-06 16:53:29 +02:00 |
Fedor Isakov
|
a1a17426b7
|
Extract PropagationHistory. Code refactoring and cleanup in preparation to switching to persistent OccurrenceStore and Handler.
|
2016-04-06 13:23:04 +02:00 |
Fedor Isakov
|
15630b1582
|
Integrate changes in the API: EvaluationTrace. Updated the Handler to reflect the changes.
|
2016-03-17 13:45:50 +01:00 |
Fedor Isakov
|
8c103ddbd1
|
Integrate changes in the API imported from the Logic project. Change the code accordingly.
|
2016-03-16 16:26:25 +01:00 |
Fedor Isakov
|
1b9e919345
|
Optimizing hasData/getData, avoid calling String.intern() too often. Some API documentation.
|
2016-03-10 16:07:42 +01:00 |
Fedor Isakov
|
c8812c139e
|
Adopted the unification lib as part of this project.
|
2016-03-10 12:14:18 +01:00 |
Fedor Isakov
|
851dd6fe69
|
Imported mps-unification project.
Merge remote-tracking branch 'unification/master'
|
2016-03-09 16:58:45 +01:00 |
Fedor Isakov
|
4b1db276bc
|
Switch to persistent set of IdWrapper. Minor adjustments in the profiling setup.
|
2016-03-09 16:03:53 +01:00 |
Fedor Isakov
|
6089f8c5ff
|
Optimize selection of rules to try based on the values in the constraint arguments
|
2016-03-09 15:14:51 +01:00 |
Fedor Isakov
|
64591e113b
|
Attempting optimizations in the matcher. Minor refactorings.
|
2016-03-08 11:40:31 +01:00 |
Fedor Isakov
|
ec6ce31cc2
|
Propagation history feature, tests. Minor refactorings.
|
2016-03-07 15:23:57 +01:00 |
Fedor Isakov
|
63bb7f578d
|
Ensure the null value is never exposed when merging variable (ground-free)
|
2016-03-03 16:42:09 +01:00 |
Fedor Isakov
|
701a434d69
|
Reactivate occurrences on union of var arguments. Tests.
|
2016-03-03 12:58:53 +01:00 |
Fedor Isakov
|
286fa4c5e6
|
Clean profiler data at the end of session run
|
2016-02-24 14:55:15 +01:00 |
Fedor Isakov
|
6cfa569663
|
Switch to the latest Kotlin RC 1050
|
2016-02-11 16:49:36 +01:00 |
Fedor Isakov
|
d38373fc79
|
No more dumping of activation stack on an error
|
2016-02-11 16:33:35 +01:00 |
Fedor Isakov
|
619337151f
|
Updated API sources from the latest version of Logic. Adapted to the new API. LogicalPattern -> MetaLogical. Renamed all *pattern entities. RuleBuilder for tests.
|
2016-01-29 14:41:57 +01:00 |
Fedor Isakov
|
fb65c965c4
|
Switch to Kotlin 1.0.0 RC
|
2016-01-25 23:17:59 +01:00 |
Fedor Isakov
|
322485c046
|
Index occurrences by value.
Lookup of occurrences in the store is forced to match value OR logical (probably need both).
|
2016-01-25 18:00:18 +01:00 |
Fedor Isakov
|
c557bbab97
|
Force occurrences matching with free logicals to fail if no occurrences with those logicals.
Fix occurrence store to always take the representative of a logical.
|
2016-01-25 14:17:38 +01:00 |
Fedor Isakov
|
ed76bdae73
|
Optimizing looking up constraint occurrences to complete a match.
Parent observer for logicals, maintaining the logical-to-occurrence index in occurrence store.
Some code refactoring.
|
2016-01-24 20:45:46 +01:00 |