Commit Graph

219 Commits

Author SHA1 Message Date
Fedor Isakov c41c4e6e42 Deprecate obsolete concept. 2018-04-25 16:57:29 +02:00
Fedor Isakov 6842ffb287 Ensure anchor nodes imply required in application session. 2018-04-25 16:34:24 +02:00
Fedor Isakov 112240a6c0 Turn off checking for garbage constraints by default. 2018-04-24 17:19:53 +02:00
Fedor Isakov 414ff30f49 Add "extends" feature to Handler, defines the scope of constraints used in the Head of constraint rules. Drop support for primary constraints in the generator. 2018-04-24 17:19:53 +02:00
Fedor Isakov e4a3bf44cc Deprecate old concepts and delete generator templates. 2018-04-19 16:54:16 +02:00
Fedor Isakov c01e1d76c9 Refactoring: moving term-related concepts into a separate language, use dataform nomenclature instead of term where possible. Create migration. 2018-04-19 16:30:23 +02:00
Fedor Isakov 085918e21a Refactoring: rename treeform to dataform everywhere in the runtime. 2018-04-17 13:56:32 +02:00
Fedor Isakov 3231f004be Minor fixes in the editor: fix the constraints. 2018-04-17 11:25:11 +02:00
Fedor Isakov d45bfeccc7 Deprecate a misplaced concept, copy to where it belongs, create migration. 2018-04-10 16:17:42 +02:00
Fedor Isakov 18b459b254 Typesystem2: improvements in the editor and language structural constraints. 2018-04-10 14:24:39 +02:00
Fedor Isakov 4b41d3df1a Fix generator for reporting. 2018-04-10 14:22:48 +02:00
Fedor Isakov 487ddddff3 Switched to MPS 2018.1 2018-04-10 14:22:48 +02:00
Fedor Isakov a6c31b64b7 Reporting errors with SNode operation, support for reporting from constraint rules. 2018-04-05 12:29:39 +02:00
Fedor Isakov f730641327 Extract "reporting" solution and interface. 2018-04-04 10:52:14 +02:00
Fedor Isakov c60f92b7d8 Drop obsolete constructs. 2018-04-03 15:16:23 +02:00
Fedor Isakov e30c5e268b Extend typesystem2 lang with "assign type" operation. TypecheckingSessionSolver to be used for reporting the calculated type. Manual migration required. 2018-04-03 15:16:14 +02:00
Fedor Isakov 368fbb4319 Consolidate solvers and predicates, get rid of hardcoded predicate symbols. 2018-04-03 12:16:48 +02:00
Fedor Isakov 28d412997c Ensure all program's predicate symbols and corresponding solvers are registered. 2018-04-03 12:16:48 +02:00
Fedor Isakov 0e14b04c17 Use LateExpression for expression item always. Introduce ConstantExpressionItem to be used if no late evaluation is needed. 2018-04-03 12:16:48 +02:00
Fedor Isakov 8cb2328130 Slightly update the editor for constraint rules. Use tilde to mark "discarded" constraints in the head. 2018-04-03 12:16:48 +02:00
Fedor Isakov c588f0cff2 Fix the RuleTemplate support in the generator and the editor. 2018-04-03 12:16:47 +02:00
Fedor Isakov 2e331a2173 Separate containers for logical parameters declaration. Migration to consolidate all parameters within a rule. 2018-04-03 12:16:47 +02:00
Fedor Isakov ccb46e8ce1 Simplify constraint rules editor. Use "!" to mark kept constraints in the head. 2018-04-03 12:16:47 +02:00
Fedor Isakov 213f01f47d Require statement to replace "required block". 2018-04-03 12:16:47 +02:00
Fedor Isakov 9ecf60fac9 Drop calcucating required dependencies during generation. Rely on runtime callbacks instead. 2018-04-03 12:16:47 +02:00
Fedor Isakov a6bd6dac9c New structure of RuleTemplate, get rid of various "code blocks" in favour of regular control statements. 2018-04-03 12:16:38 +02:00
Fedor Isakov e7710aedd5 Use normal COPY-SRC on assert's argument. 2018-01-17 14:55:53 +01:00
Fedor Isakov e9201b8348 Experimental feature: substitute operator for terms. 2018-01-17 14:55:04 +01:00
Fedor Isakov 9aefd49975 Support for multiple typechecking aspects. An aspect is extended by another aspect in an extension language. 2018-01-08 16:50:20 +01:00
Fedor Isakov 273abf3091 Support for multiple languages contributing to the same handling stage. Refactorings in the macro templates API. Drop trivial interfaces. Consolidate all macro selection in single place. 2018-01-08 11:50:03 +01:00
Fedor Isakov 7912e4bdec Refactorings in the templates API. Streamline processing of handling stages. 2018-01-05 15:36:59 +01:00
Fedor Isakov 43a823a2b5 Refactorings in the API. Introducing RuleProcessingSession to facilitate all operations with the rule processing. Consolidating all low-level stuff in runtime solution. Preparing for multiple languages support. 2018-01-05 13:58:24 +01:00
Fedor Isakov a74f4fb944 Dropping deprecated API, renaming obsolete API calls. 2017-12-14 14:46:04 +01:00
Fedor Isakov 32375d313d Dropping deprecated language constructs. 2017-12-14 12:59:34 +01:00
Fedor Isakov fb7f249435 Fix project generation by implementing newly introduced abstract methods in MPS interfaces. 2017-12-06 17:44:07 +01:00
Fedor Isakov d3a4e21ca9 Migrated to MPS2017.3. 2017-12-06 16:36:28 +01:00
Fedor Isakov ab8f4709ee Make checking for garbage optional by default. Garbage is always reported though. 2017-12-04 12:30:21 +01:00
Fedor Isakov 323cfdf080 Introduce environment variable to control whether to report garbage constraints.
Fix NPE on missing rules for a stage during rules application.
2017-11-15 11:46:44 +01:00
Fedor Isakov 1ba6449525 NPE guards for broken typesystem manifest. 2017-11-14 15:20:53 +01:00
Fedor Isakov 83b52e8b45 Drop usages of java expression solver, deprecate the API calls that require it. 2017-11-14 15:09:33 +01:00
Fedor Isakov 6ba936e584 Introduce prototype for term declarations. Use term symbols to differentiate terms instead of "final" features. Simplify the editor. 2017-11-12 16:45:04 +01:00
Fedor Isakov b0f9150482 Typesystem2 lang: migration to clear term declarations using the arguments; drop term arguments suppport; default implementation for term features in the generator; fix term editor. 2017-11-10 12:13:24 +01:00
Fedor Isakov 5c6457b01a Typesystem2 lang: migration to get rid of parameters to term invocations. Fix a generator template for pattern terms. 2017-11-10 10:32:48 +01:00
Fedor Isakov ae40717078 Typesystem2 lang: Structure change to move constraint declarations closer to where they are used. 2017-11-09 14:06:39 +01:00
Fedor Isakov c9af35e14b Typesystem2 lang and runtime: introduce CopyItem to copy terms recursively; specify MetaLogical type explicitly in the runtime interfaces; optimize generator templates. 2017-11-07 14:13:07 +01:00
Fedor Isakov 1b86c47cac Typesystem2 lang: Deprecate LogicalExpression, migration to replace with the one from Logic lang. Support generation of ValueOf in LateExpressions. 2017-11-01 10:51:42 +01:00
Fedor Isakov 26cd2c0416 Fix: LateExpression to accept LogicalContext, return the missing generation template for logical context. 2017-10-30 13:18:08 +01:00
Fedor Isakov 7f1e07ebe7 Typesystem2 lang: Switch to using LateExpression for handling Java code in logical clauses; Introduce ExpressionItem, create a migration that replaces LogicalValue with ExpressionItem; Migration to replace LogicalValue; Drop generation of ExpressionSolver. 2017-10-27 16:30:28 +02:00
Fedor Isakov 0ead14f24b Applied migration in Logic lang. 2017-10-25 16:33:09 +02:00
Fedor Isakov 57b5017c74 Typesystem2 lang: Support arbitrary data types for logicals; Specify data type of a constraint argument; Intentions to convert clause list to/from template form; Refactoring in Logic lang. 2017-10-25 16:33:09 +02:00