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
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