Commit Graph

106 Commits

Author SHA1 Message Date
Fedor Isakov 2166c14df3 Introduce per-rule NamingContext for logical variables. Support for launching constraint handler via main() constraint. Minor fixes. 2015-11-12 12:01:19 +01:00
Fedor Isakov 320e650dd5 Support for headless rules: all are collected into "main" rule with head=main() 2015-11-10 17:15:32 +01:00
Fedor Isakov 368c743b5a Ensure the iterating templates get proper context 2015-10-29 11:12:44 +01:00
Fedor Isakov 6524579317 Correctly process universal (with no input) typechecking templates 2015-10-28 14:39:24 +01:00
Fedor Isakov 86fa1cb65a Upgraded to the latest MPS build (to be announced as EAP4) 2015-10-28 11:57:07 +01:00
Fedor Isakov 9a4a23ae10 Simplifying operations with lists, get rid of list role (replaced with child role + list) 2015-10-21 19:08:25 +02:00
Fedor Isakov 63f5789f7b Get rid of cardinality in role, simplifying code 2015-10-21 12:33:23 +02:00
Fedor Isakov 4136d9ff62 Cleaning up the walker interface, appropriate naming for concepts, some tests 2015-10-20 17:29:02 +02:00
Fedor Isakov 52c0cb7309 Switch to the latest MPS build 2015-10-08 11:17:38 +02:00
Fedor Isakov b542b6ce3b Runtime support for prototype template fragments. Minor fixes 2015-09-26 13:37:59 +02:00
Fedor Isakov 9994ca20c2 Upgraded MPS to the latest EAP3 2015-09-14 15:06:33 +02:00
Fedor Isakov beb24a57e1 Typechecking2 runtime API simplification and cleanup 2015-08-26 13:49:41 +02:00
Fedor Isakov 2907e1af3f New construct to represent type terms (TypeTerm) referencing a declaration, an intention to convert old Ast to TypeTerm
Renamed Node -> Compound, (old) TypeTerm -> TypeTemplate.
2015-08-24 17:09:52 +02:00
Mihail.Buryakov 2b5a1c1cb9 do not allow confusing value '_' 2015-08-20 18:54:04 +02:00
Mihail.Buryakov b5be803d04 ignore attributes during rules collecting 2015-08-19 13:48:40 +02:00
Fedor Isakov 13724ff2ad Avoid editing root while registered in a model 2015-08-18 16:25:24 +02:00
Mihail.Buryakov 0cadcb5073 it is possible to add comments to constraint declaration 2015-08-18 11:44:25 +02:00
Fedor Isakov 3cc6495885 Updated imports 2015-08-09 17:36:42 +02:00
Fedor Isakov e1c9bb7496 Renamed solution 'j.m.unification.tree' -> 'j.m.logic.atom' 2015-08-06 12:57:35 +02:00
Fedor Isakov c6582551e2 Renamed the model 'j.m.unification.tree' -> 'j.m.logic.atom' 2015-08-05 19:26:17 +02:00
Fedor Isakov a72ad3393f Delete obsolete concepts 2015-08-04 15:53:31 +02:00
Fedor Isakov 3ee3b93352 Simplify the atom API, get rid of MITM class Tree, using Atom instead everywhere 2015-08-03 15:01:10 +02:00
Fedor Isakov bbe9178c40 Adopted the updated unification API, terminology change: Atom, Func, Term and arguments 2015-08-01 17:21:12 +02:00
Fedor Isakov 9ed12b4e68 Updated the unification lib 2015-08-01 15:12:23 +02:00
Fedor Isakov e5c7d17401 Removed type parameters from the internal term structure API 2015-08-01 14:08:00 +02:00
Fedor Isakov a31e44161e Updated to the new unification API. Automatic changes in model imports 2015-08-01 12:45:57 +02:00
Fedor Isakov b6c5eb3dc7 Updated the unification lib 2015-08-01 12:45:57 +02:00
Fedor Isakov 2c2f97d835 Trying to switch to java.util.List for internal lists instead of using the terms, unsuccessful. Keeping the new implementation for the future 2015-07-24 11:18:42 +02:00
Fedor Isakov 25e71a8978 Avoid judging if a var is a wildcard by its name, use the wildcard feature of a logical 2015-07-20 17:09:45 +02:00
Fedor Isakov ae55e2f265 Support for anonymous and wildcard variables. List alias is created for a wildcard 2015-07-20 17:04:48 +02:00
Fedor Isakov c495c193b6 Fixed the NPE during error reporting 2015-07-20 16:53:49 +02:00
Fedor Isakov d6e894a95b More trace info while collecting rules 2015-07-16 13:34:00 +02:00
Fedor Isakov a057f2d77f Automatically update language imports 2015-07-09 17:54:32 +02:00
Fedor Isakov 20dda2ceeb Report a warning if the solver class not found 2015-06-18 18:28:41 +02:00
Fedor Isakov 90b8f58143 Refactoring the code to use the updated API for processing constraints 2015-06-17 16:12:51 +02:00
Fedor Isakov b3a04066f7 Removed obsolete solutions 2015-06-17 15:39:53 +02:00
Fedor Isakov c41fef5ffe Optimized module imports and added explict dependency on "core" 2015-06-09 13:29:01 +02:00
Fedor Isakov 672515d798 JCHR producing: better processing of Java expressions, list support 2015-06-08 13:39:20 +02:00
Fedor Isakov 42deb2b5e1 Rules collecting/generating: boundParam in required(), pre/post processing of static rule templates 2015-06-08 13:39:19 +02:00
Fedor Isakov f6d26f5a35 Introduced ExpressionConstraint; template parts contribute to the main template; refactored the templates runtime 2015-05-13 13:49:38 +02:00
Fedor Isakov f5f999b7be Refactored out SModel-related templates from the runtime. Better reusable pretty printing of nodes. Project reorganization. 2015-04-15 18:27:06 +02:00
Fedor Isakov 1950dcc7a8 Better processing of wildcard variables 2015-04-15 17:24:14 +02:00
Fedor Isakov e67b31bd30 Ensure string logicals are generated properly to CHR 2015-04-14 00:11:40 +02:00
Fedor Isakov 29e6d168b8 Nice printing of Ast nodes to make debugging of typechecking rules easier 2015-04-13 16:47:21 +02:00
Fedor Isakov 3c27aa79e1 More strict checking of rules, fixing minor problems reported by model checker, minor update of the rules runner 2015-04-08 15:40:32 +02:00
Fedor Isakov 72a3aac2e2 Collect templates for required nodes. Enable rule templates to tell what nodes are to be walked in addition to the one passed as parameter. 2015-04-08 15:40:31 +02:00
Fedor Isakov f2a5220ae1 Another rule parameter block: bound value (à la let binding). Allows to extract a value to a parameter. 2015-04-02 20:01:31 +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 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