Commit Graph

169 Commits

Author SHA1 Message Date
Fedor Isakov 4d2f6c4720 Drop usages of hardcoded "node" symbol. Rely on finders. 2017-10-24 16:05:05 +02:00
Fedor Isakov 4f5d2c62fe Typesystem2 lang: Deprecate an obsolete superfluos language construct. 2017-10-23 13:58:47 +02:00
Fedor Isakov bc3ff79a9c Migration applied: extract ListRole. 2017-10-23 12:08:50 +02:00
Fedor Isakov e9a35f4fae Fix module dependencies 2017-10-23 10:23:12 +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 7aef68dfc3 Typesystem2 language refactoring: Delete obsolete unused code. Rename the runtime model (type->macro). 2017-10-18 12:41:49 +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 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 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 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 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 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 a6fffb46c9 Drop LogicalSubstitution type and runtime class. 2017-08-22 11:47:35 +02:00
Fedor Isakov 2aa4717ae7 Typesystem2 lang: move the context parameter declarations to a separate root. 2017-08-22 11:47:35 +02:00
Fedor Isakov 6c56623987 Minor refactoring in CHR program producing code: avoid passing stage as a parameter. 2017-08-22 11:47:35 +02:00
Fedor Isakov 7d926f5cdf Extract typechecking dependencies from all node anchors in typeof, asType and newType constraints. 2017-08-22 11:47:34 +02:00
Fedor Isakov 78c7f71e9a Refactoring the code that launches typechecking to better separate concerns.
Extract TypeAspectRuntime.
Support building typechecking program for sequence of nodes.
Moving classes/models around to get rid of cyclic deps.
2017-08-16 15:29:23 +02:00
Fedor Isakov 243932d6a1 Collect required nodes from TypeofConstraint anchors. 2017-08-15 15:14:36 +02:00
Fedor Isakov 64546445ef Merge two generator templates for rule templates into one, simplify the internal rule application API. 2017-08-14 16:00:09 +02:00
Fedor Isakov 9a9dc9bd08 Refactoring rule application API and generator: consolidate all logic into token, make token a private API, switch to prototype extension of rule templates. Cleaning up the generator. 2017-08-14 13:33:50 +02:00
Fedor Isakov 9e5eb91089 Minor refactoring of rules application logic: extract specific subclasses of NodeWalker for different kinds of walks. 2017-08-08 11:56:19 +02:00
Fedor Isakov 60ef0acb6a Remove dependency on guava. 2017-07-28 20:33:10 +02:00
Fedor Isakov 5c4fb50a63 Reorganize and repackage the code to better reflect purpose of the modules. 2017-07-28 19:13:48 +02:00
Fedor Isakov aac95b2b25 Move typesystem2.helper.plugin to typechecking.plugin. Drop typesystem2.helper solution. 2017-07-28 13:58:37 +02:00
Fedor Isakov 804cc9140b Refactoring typechecking API: extract cache component to the plugin, change the cache updater contract to factory, simplify TestLaunchTypechecking. 2017-07-28 13:51:15 +02:00
Fedor Isakov 757d869cf3 Rewrite tests without using NodeTestCase's header. Update TypeNodeManager and Typechecker to both be initialized async, add a dispose call for Typechecker. 2017-07-27 15:18:20 +02:00
Fedor Isakov 2908543afe Refactoring typechecking steps to extract the core part. Get rid of the persistency-dependent model, use a bare EditableSModelBase for types. 2017-07-25 13:55:55 +02:00
Fedor Isakov e970b2443a Extract typechecking-related stuff to a separate solution 'j.m.typechecking' 2017-07-25 10:30:29 +02:00
Fedor Isakov 20622554f2 Switch to MPS 172 latest RC build. Fix a couple of parent-invariant violations in the type system, remove obsolete intention. 2017-07-19 16:22:59 +02:00
Fedor Isakov 7d422d4921 Avoid requesting SNode's presentation for the constraints program: too slow. 2017-07-18 11:25:31 +02:00
Fedor Isakov 9e8c5145d3 Add a missing dependency, fix the error. 2017-06-12 21:55:53 +02:00
Fedor Isakov 0a615c8490 Rename solution "typesystem2.test" to "typechecking.test". 2017-06-12 19:01:49 +02:00
Fedor Isakov 51263e9b8b Reorganizing the code, optimize the number of solutions. Delete empty solutions. 2017-06-12 18:55:55 +02:00
Fedor Isakov 663c58d880 Delete empty generators. Fix the import errors. 2017-06-12 16:45:00 +02:00
Fedor Isakov ee0b98f9db Rename "sampleLang" to "baseLanguageExt" 2017-06-12 16:32:49 +02:00
Fedor Isakov f9e9e7956a Import the sample language to the tests model. Fix the test. 2017-06-12 13:22:41 +02:00
Fedor Isakov 60fb9388a1 Support for using rule input reference in a java expression. 2017-06-12 12:22:41 +02:00
Fedor Isakov effa917f63 Optimize module/model imports. Get rid of "exported" dependencies (too much trouble with the ant files). 2017-06-09 09:51:35 +02:00
Fedor Isakov f30710f463 Updated the reactor libs. Adapted to the renamed interfaces in the reactor API. 2017-06-05 14:34:14 +02:00
Fedor Isakov ef375de9fd Optimizing model imports 2017-06-01 15:45:49 +02:00
Fedor Isakov 15fcef19eb Return the more conventional symbols for unification and equality constraints. 2017-05-29 15:30:57 +02:00
Fedor Isakov 7d860de465 Better editor representation for Typeof constraint. Another minor rename (AsType{Pseudo}Constraint). 2017-05-22 10:34:12 +02:00
Fedor Isakov 8043623d09 Rename AssignConstraint -> UnifiesConstraint, change alias and representation to tilde. Equals constraint has equals sign. 2017-05-22 10:21:49 +02:00
Fedor Isakov cff4669e3f Substitution and transformation actions for easier input of logical variables and terms. 2017-05-19 14:46:22 +02:00
Fedor Isakov 32618d55bf Specify this's classifier when referring to logical variable declared in the type definition. 2017-05-19 12:11:50 +02:00
Fedor Isakov 6e33dc3e0e A workaround for generating recursive structures. 2017-05-18 13:21:53 +02:00
Fedor Isakov 7dae44e27e Better editor presentation for constraint and type declaration. 2017-05-18 13:14:35 +02:00
Fedor Isakov 0c53a5b57a Enable optional arguments in user constraints. 2017-05-12 11:35:02 +02:00