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 |
Fedor Isakov
|
db9e27ace4
|
Drop quotation marks in LogicalExpression.
|
2017-05-12 10:46:43 +02:00 |
Fedor Isakov
|
7a9dc002c0
|
Rename AssignedLogicalVariable -> PatternLogicalVariable, LogicalVariableReference -> LogicalVariable
|
2017-05-11 13:31:17 +02:00 |
Fedor Isakov
|
4b94f1726a
|
Drop AbstractLogicalVariable
|
2017-05-11 13:18:49 +02:00 |
Fedor Isakov
|
bbd00b99eb
|
Refactoring in the typesystem2 language: push down "index" feature into LogicalVariableReference as "position".
|
2017-05-11 13:10:34 +02:00 |
Fedor Isakov
|
77cb4c42f9
|
Simplifying the editor for logical variables: brackets only for the declaration, hash for index access, drop backticks.
|
2017-05-10 11:40:30 +02:00 |
Fedor Isakov
|
3d7e9c8134
|
Cons-list-like editor for the term list.
|
2017-05-09 15:40:55 +02:00 |
Fedor Isakov
|
2b060299f6
|
Editor beautification: lighter colors, less highlighting, better layout, curly braces for term features
|
2017-05-09 14:36:40 +02:00 |
Fedor Isakov
|
04397ff0f7
|
Rename TypeTerm* to Term*, collect together term-related generator templates, drop obsolete code.
|
2017-05-04 13:50:58 +02:00 |