Commit Graph

850 Commits

Author SHA1 Message Date
Fedor Isakov 3ed8d2e375 Switch to latest release of constraints reactor lib. Update the dependency libs. 2017-10-30 19: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 c9c8ed39b4 Typechecking templates: Manual migrations and cleanup. Applied the migrations. 2017-10-27 16:30:28 +02:00
Fedor Isakov e41384f854 Drop JavaPredicate. 2017-10-27 16:30:28 +02: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 e154cbf82f Logic lang: Introduce EvalExpressionPredicate/Solver, LateExpression to abstract away expressions to be evaluated by the controller; Introdulce ListLiteral and TreeFormLiteral, deprecate LogicalValue. 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
Fedor Isakov fd45d86d70 Logic lang: Drop usage of LogicalValue as a wrapper for Expression, migration to replace existing instances; Minor editor fixes. 2017-10-25 16:32:06 +02:00
Fedor Isakov b3b62d2cca UI: Fix presentation of terms, values and lists. 2017-10-24 16:05:05 +02:00
Fedor Isakov 4d2f6c4720 Drop usages of hardcoded "node" symbol. Rely on finders. 2017-10-24 16:05:05 +02:00
Fedor Isakov 0d6ff0d2e4 Fix treeform finders. Minor fixes. 2017-10-24 16:04:59 +02:00
Fedor Isakov 4f5d2c62fe Typesystem2 lang: Deprecate an obsolete superfluos language construct. 2017-10-23 13:58:47 +02:00
Fedor Isakov 090bb22d9e Typechecking templates: replace ad-hoc list expressions with ListExpression. Use latter instead of TermListExpr. 2017-10-23 13:58:02 +02:00
Fedor Isakov 5a5c7e6b77 Typechecking templates: replace ad-hoc list expressions with ListExpression. 2017-10-23 13:51:22 +02:00
Fedor Isakov 4c37334b46 Logic lang: introduce ListExpression, intention to replace "list" ListRole with it. 2017-10-23 13:51:00 +02:00
Fedor Isakov bc3ff79a9c Migration applied: extract ListRole. 2017-10-23 12:08:50 +02:00
Fedor Isakov 582c8d32d3 Logic language: introduce ListRole, create a migration to extract ChildRole with single list to ListRole. 2017-10-23 12:08:32 +02:00
Fedor Isakov f4a3f1fae5 Logic language runtime: refactor the TreeForm API for cleaner and more readable design, code cleanup, drop obsolete code. 2017-10-23 10:54:30 +02:00
Fedor Isakov e9a35f4fae Fix module dependencies 2017-10-23 10:23:12 +02:00
Fedor Isakov 643b5b67b3 Typechecking templates: ensure the term has default values. 2017-10-23 10:22:48 +02:00
Fedor Isakov 7c28db8854 UI: Drop string hacks, drop hardcoded term feature names. Code cleanup. 2017-10-19 17:55:09 +02:00
Fedor Isakov f72dc69216 Typechecking templates: Drop string hacks in terms. Getting rid of hardcoded term features. 2017-10-19 17:55:08 +02:00
Fedor Isakov c94be5ac3b Typesystem2 language: drop unused (superfluous) concept, drop string hacks. Getting rid of hardcoded term features. 2017-10-19 17:54:59 +02:00
Fedor Isakov 3264ee9332 Logic language: Drop obsolete code, streamline generation of TreeForm. Remove obsolete editor actions. Testing non-string values. 2017-10-18 12:42:26 +02:00
Fedor Isakov 7aef68dfc3 Typesystem2 language refactoring: Delete obsolete unused code. Rename the runtime model (type->macro). 2017-10-18 12:41:49 +02:00
Fedor Isakov fff6d935ec Switch to the latest MPS release. 2017-10-16 15:46:04 +02:00
Fedor Isakov 12afe4fa9c Update the distribution zip file name to correspond to the package version (0.2). 2017-10-16 14:32:46 +02:00
Fedor Isakov 272c83ad3c Typechecking templates: model updated in respect to the language changes, migration applied. 2017-10-16 13:55:32 +02:00
Fedor Isakov 19af096768 Typesystem2 language: new nomenclature, "Macro Table" instead of "Type Table", call/expand operations instead of newType/asType, specify applicable concept as MacroInputDeclaration's type, replace TypeNodeExpression with MacroInputParameter, migration. 2017-10-16 13:55:32 +02:00
Fedor Isakov 6e505e3315 Switch to the latest conreactor revision. 2017-10-16 13:55:32 +02:00
Fedor Isakov 8602a3ba32 Typechecking templates: Structural changes in j.m.l.typeystem2 lang. Getting rid of AnchorUtil usages. 2017-10-16 13:55:27 +02:00
Fedor Isakov e60bfc4158 Typesystem2 lang: Use NodeAnchor to make a reference to a node explicit. Replace LogicalValue with Expression where applicable. Drop the type-dependent hacks, git rid of constructing terms by hand in AnchorUtil. Migrations. 2017-10-13 11:51:18 +02:00
Fedor Isakov c2b445b8e0 Update samples: raw type. 2017-10-13 11:51:11 +02:00
Fedor Isakov adbd00aeed Ensure local typechecking produces same results when running tests. 2017-10-13 11:49:45 +02:00
Fedor Isakov 1a284c9c58 Typechecking templates: Ensure required nodes are specified by the rules. Raw classifier types support. 2017-10-13 11:49:45 +02:00
Fedor Isakov 7cdbb939ef Include into the processing the required node for standalone rules. 2017-10-09 13:15:13 +02:00
Fedor Isakov 6aadc5a9b5 Fix the list of constraints not considered garbage. 2017-10-04 15:47:02 +02:00
Fedor Isakov 6d42745a52 Typechecking templates:
Reimplement capture constraint, use capture for type inference, introduce captureOf type.
Remove lbound, replace ubound with hasBound.
Fix the classifier type well-formedness check.
Minor fixes.
2017-10-04 15:47:02 +02:00
Fedor Isakov ce77d05486 Minor fixes in the samples. Make bad samples bad again. 2017-10-04 15:47:02 +02:00
Fedor Isakov 3adfaf1ec2 Fix model read violation by wrapping SearchQuery construction into a read action. 2017-10-01 14:37:33 +02:00
Fedor Isakov 941e62fa55 Fix generation of 'for' and other inheritors of IContainStatementList.
Skip body clauses from building the list of required nodes.
2017-10-01 14:37:33 +02:00
Fedor Isakov 3ce85cac5e Introduce snapshot history. Activation sink to record all snapshots and allow to refer to snapshot taken at particular instant. This is used in the Store sink in order to correctly represent logical assignments and unions. Snapshot history is reused by the next stage program. 2017-09-26 11:37:35 +02:00
Fedor Isakov 651fb9ac66 Activation trace: emphasise constraint occurrences in the store view relevant to the selected occurrence event. 2017-09-25 11:34:12 +02:00
Fedor Isakov 6f95100696 Standardise term symbol names.
Typechecking UI: display variable values in the activation trace view as condensed terms.
2017-09-20 16:23:31 +02:00
Fedor Isakov 975beae9bb Refactor Show Type action to also display progress. 2017-09-18 13:34:01 +02:00
Fedor Isakov f0a7ab2317 Make types cache store type models by source root instead of model. 2017-09-15 15:10:55 +02:00
Fedor Isakov 9bc019c58d Show Node Type action to show single node's type. Minor refactoring in ui plugin. 2017-09-15 14:18:18 +02:00
Fedor Isakov 2b123d9f42 Apply rule templates from all stages in one pass.
A heuristic to collect nodes required for local typechecking.
Minor changes in typesystem2 runtime.
2017-09-14 18:54:19 +02:00
Fedor Isakov bad0e86d85 Test recursive type. 2017-09-13 16:41:56 +02:00