Commit Graph

213 Commits

Author SHA1 Message Date
Fedor Isakov bd99befdb6 Fix a couple of bugs in template application logic. 2018-06-05 15:09:33 +02:00
Fedor Isakov 2de4d69781 Introduce QueryKind. Fix the kinds of typechecking queries. Avoid directly linking the queries in types aspect. 2018-06-04 18:45:08 +02:00
Fedor Isakov 49296df88f Fix the dependencies to avoid breaking the build. 2018-05-24 12:47:25 +02:00
Fedor Isakov ce688b3672 Refactor ProgramProducer to use query templates.
Switch to using queries to launch program stages.
Refactor typesystem2 lang and runtime to break queries into stages.
Rename ChrProgram to LogicProgram.
2018-05-24 11:54:01 +02:00
Fedor Isakov bc1f865eeb Switch to using queries in UI actions. Rule application accepts only list of nodes, drop the "root" use case. 2018-05-17 12:07:51 +02:00
Fedor Isakov e056befb4e Establish module dependencies that make sense. 2018-05-17 12:07:50 +02:00
Fedor Isakov 1b564b3057 Implementing QueryTemplate API and support in the evaluation environment. 2018-05-17 12:07:50 +02:00
Fedor Isakov fec79ebde3 Refactoring in typesystem2 runtime and template APIs: cleaning up the code and preparing to introduce queries. Support for extended handler templates. 2018-05-17 12:07:50 +02:00
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 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 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