Commit Graph

3315 Commits

Author SHA1 Message Date
Fedor Isakov f54c0783c4 Extracted sample code to a separate solution. Support for marking the types on arbitraty code 2015-04-02 13:16:22 +02:00
Fedor Isakov ced411a708 One action to collect rules, make and run. Mark all types in the editor. Rewrote launching of typechecking constraints 2015-03-31 13:02:51 +02:00
Fedor Isakov b4bfb30102 Patch JCHR to avoid problems with accessing package local fields of Tuple's superclass 2015-03-31 13:02:51 +02:00
Fedor Isakov 85d1746ea5 Combining collecting rules + making + running constraints in one action 2015-03-31 13:02:51 +02:00
Fedor Isakov e5a3fccfa6 Made the typechecking sample compute 2015-03-31 13:02:47 +02:00
Fedor Isakov f4043b8206 Updated the unification lib 2015-03-31 13:02:47 +02:00
Fedor Isakov 19d9048cb3 The TreeLogicVar can act both as a VAR and as a REF depending on whether it's bound, fixing tests 2015-03-31 13:02:35 +02:00
Fedor Isakov 2fb992ead3 Dropped check for unreconciled refs, adapted the tests 2015-03-27 21:50:15 +01:00
Fedor Isakov 375a15e172 Support generating the code with JRE 1.8 2015-03-25 16:33:15 +01:00
Fedor Isakov 07ecdb5651 Updated the unification lib 2015-03-24 16:28:19 +01:00
Fedor Isakov fce38c6cdd Updated the typechecking templates to use the modern construct for list 2015-03-24 16:27:12 +01:00
Fedor Isakov 77479a076f Support for variables matching a list, getting rid of obsolete code, some refactoring 2015-03-24 16:27:08 +01:00
Fedor Isakov 41077453e8 Reporting the cause of failed unification, some code cleanup 2015-03-24 16:20:40 +01:00
Fedor Isakov 80d16b592d Ensure cyclic terms in the solution are fully reconciled, some tests and code cleanup 2015-03-24 11:49:06 +01:00
Fedor Isakov f380297ccb Adopted the new unification solver API 2015-03-22 15:19:16 +01:00
Fedor Isakov c337fe0039 Updated the unification lib 2015-03-22 15:19:12 +01:00
Fedor Isakov 690e2929bb Ensure the data is associated with nodes using identity, except variables, which are identified by symbol 2015-03-22 15:10:41 +01:00
Fedor Isakov 004480ca70 Now allowing REF nodes to point to variables too, adapted the algorithm, removed obsolete interfaces, created more tests 2015-03-20 12:57:35 +01:00
Fedor Isakov 09e0fd00b7 Fixed variables order, removing usages of the obsolete interface, code cleanup 2015-03-19 17:31:08 +01:00
Fedor Isakov 868d82c1db Made the Node's inner enum explicitly public (MPS wrongly assumes it to be package local) 2015-03-18 11:56:58 +01:00
Fedor Isakov 28387e683b Introduced unification of cyclic terms, redesigned the algorithm, refactored the API, wrote a bunch of tests 2015-03-18 11:21:03 +01:00
Fedor Isakov 308024f8df Added objenesis library to the IDEA module to support debugging 2015-03-13 16:04:35 +01:00
Fedor Isakov 05dab11deb Calculate system hash of a tree logical, avoid ininite recursion (eg. in recursive types) 2015-03-13 16:03:57 +01:00
Fedor Isakov fbf384dc7e Updating the typechecking templates to support classifier's node ID 2015-03-13 16:02:39 +01:00
Fedor Isakov 7e3131a697 Supporting logical variables of different types (currently only TreeLogical and StringLogical) 2015-03-13 14:45:04 +01:00
Fedor Isakov 061062c257 Some tests on tree walk 2015-03-13 11:28:10 +01:00
Fedor Isakov 18a737d733 Regenerated with the latest rule templates 2015-03-12 15:28:10 +01:00
Fedor Isakov 63edc8e6b6 Fixing processing of constraint parameters: an unbound logical variable produces a local variable, some refactoring 2015-03-12 15:27:47 +01:00
Fedor Isakov 8e836a9055 Patched the JCHR compiler to avoid naming constraint parameters in a way producing name clashes, Tree is made a "fixed' class (ie. immutable) 2015-03-12 15:13:10 +01:00
Fedor Isakov 753d2da74a Removing instances of obsolete code, cleaning up the model checker issues 2015-03-11 13:35:10 +01:00
Fedor Isakov 3af797e768 Updated the submodule with unification lib 2015-03-11 12:29:51 +01:00
Fedor Isakov 6d39ceddd3 More tests for the unification solver, string logical 2015-03-11 12:27:47 +01:00
Fedor Isakov 2489d817b0 Refactoring: replacing the obsolete constructs with logical substitution, runtime API changes, abstract logical, extracting equals constraint 2015-03-11 12:26:57 +01:00
Fedor Isakov 8b25f31d92 Simplifying the make plugin code 2015-03-11 11:25:04 +01:00
Fedor Isakov 83eb1ca827 A couple more tests 2015-03-08 15:13:33 +01:00
Fedor Isakov 0ee9762140 Deleting the old deprecated concepts, some refactoring 2015-03-01 15:51:57 +01:00
Fedor Isakov 0be226b2eb Updated the IDEA project to support running tests 2015-02-26 16:03:22 +01:00
Fedor Isakov bdd3530b89 Refactoring: moving logical vars to logic lang, supporting new kind of expression in trees, matching variables to lists; tests. 2015-02-26 15:55:35 +01:00
Fedor Isakov 756450ceae Removed instances of an obsolete concept to be removed 2015-02-26 15:53:48 +01:00
Fedor Isakov 558056f9a7 Updating typechecking templates to support conversion of types 2015-02-21 12:43:05 +01:00
Fedor Isakov a9fe6bf973 Fixed calling of rule template methods recursively; use trees as anchors; some editor beautification 2015-02-21 12:43:05 +01:00
Fedor Isakov 23d5bd0bcb Enable extraction of sub-tree via "asRoot" for later embedding into other tree; editor fixes 2015-02-21 12:42:25 +01:00
Fedor Isakov 13900bfe90 Fixing the indentation problems in the rules representation. Minor editor improvemements. 2015-02-18 14:36:10 +01:00
Fedor Isakov d19edc677e Logical constraints introduced that are only applicable to logical vars; some refactoring in the runtime; rule tags 2015-02-17 17:34:22 +01:00
Fedor Isakov 4732a1e896 Another sample that is hard to typecheck, updating the typechecking templates 2015-02-17 17:34:22 +01:00
Fedor Isakov bdb85040fd Support tags in JCHR rules for easier debugging 2015-02-17 17:34:22 +01:00
Fedor Isakov a8b11f5e85 Collect typechecking rules for a class 2015-02-17 17:34:22 +01:00
Fedor Isakov 94bf61359f Removed .idea/workspace.xml 2015-02-17 17:34:22 +01:00
Fedor Isakov 73b8f5c873 Ignore IDEA's workspace file 2015-02-09 16:21:36 +01:00
Fedor Isakov 7290c1541b Added the sources of JCHR implementation 2015-02-09 16:13:04 +01:00