Fedor Isakov
86fa1cb65a
Upgraded to the latest MPS build (to be announced as EAP4)
2015-10-28 11:57:07 +01:00
Fedor Isakov
853b6adeba
Refactor the constraint subtypePaths to accept two arguments instead of three
2015-10-27 15:54:20 +01:00
Fedor Isakov
5e4019e7b8
Fix the tests for LubSolver
2015-10-26 16:05:04 +01:00
Fedor Isakov
de7b9523eb
The algorithm to find the shortest subtyping path from a given type.
2015-10-26 12:43:17 +01:00
Fedor Isakov
0e87430933
Rewritten findLub algorithm, testing LUB for heterogenous types
2015-10-25 20:03:28 +01:00
Fedor Isakov
9a4a23ae10
Simplifying operations with lists, get rid of list role (replaced with child role + list)
2015-10-21 19:08:25 +02:00
Fedor Isakov
63f5789f7b
Get rid of cardinality in role, simplifying code
2015-10-21 12:33:23 +02:00
Fedor Isakov
4136d9ff62
Cleaning up the walker interface, appropriate naming for concepts, some tests
2015-10-20 17:29:02 +02:00
Fedor Isakov
d79af1a6f6
Add type table and replace all type terms with the ones built from type patterns
2015-10-08 11:17:38 +02:00
Fedor Isakov
52c0cb7309
Switch to the latest MPS build
2015-10-08 11:17:38 +02:00
Fedor Isakov
f1ee8ae30c
Refactor typechecking templates for ClassCreator and DefaultClassCreator
2015-10-05 15:54:00 +02:00
Fedor Isakov
2df4627b3e
Get rid of named tuples as context, replaced with structure. Ensure iterating rule template supports prototype.
2015-09-26 13:38:03 +02:00
Fedor Isakov
8695b3a3cc
Updated the templates to use the prototype fragments (MethodCall)
2015-09-26 13:37:59 +02:00
Fedor Isakov
b542b6ce3b
Runtime support for prototype template fragments. Minor fixes
2015-09-26 13:37:59 +02:00
Fedor Isakov
8af807b78f
Refactoring in typesystem2: merge let value and the logical variables declared as exported into single Context type.
...
Updated the runtime and the generator to support extending prototype's context.
Some minor fixes in the language.
2015-09-23 17:16:36 +02:00
Fedor Isakov
4d2b955721
Refactoring in typesystem2 and logic langs: extract LogicalVariableDeclarationStatement
...
Introduce parameters block to rule parts, use tuples as the runtime object
Refactor the typesystem2 runtime to use the logicalVal method for initialization of parameter tuples
2015-09-23 17:16:32 +02:00
Fedor Isakov
f402b9d58c
Changed logical variable scope to allow cross-rule references. Introduced template fragments (incomplete)
2015-09-16 12:10:15 +02:00
Fedor Isakov
9994ca20c2
Upgraded MPS to the latest EAP3
2015-09-14 15:06:33 +02:00
Fedor Isakov
1f7e800864
Updated the typechecking templates after the refactoring
2015-08-27 13:55:28 +02:00
Fedor Isakov
cee12bbef3
Pull up boundParameterBlock as AbstractRule.letBlock
2015-08-27 13:55:11 +02:00
Fedor Isakov
9ad0dc8f53
Updated the typechecking templates after the refactoring
2015-08-27 13:27:18 +02:00
Fedor Isakov
acd9aa4826
Pull up input specification to AbstractRule
2015-08-27 13:27:02 +02:00
Fedor Isakov
51db4e7df3
Update the typechecking templates after link push down
2015-08-27 11:28:13 +02:00
Fedor Isakov
1c091271b1
Push down applicableCondition as Rule.condition
2015-08-27 11:27:55 +02:00
Fedor Isakov
1925e99b3e
Removed obsolete concept
2015-08-27 11:08:44 +02:00
Fedor Isakov
e6c7cd6bba
Replace multi-fragment generator template with a switch (trying to avoid generating generator templates, failed)
2015-08-26 19:07:40 +02:00
Fedor Isakov
2b83eb1bb5
Code cleanup
2015-08-26 18:25:24 +02:00
Fedor Isakov
beb24a57e1
Typechecking2 runtime API simplification and cleanup
2015-08-26 13:49:41 +02:00
Fedor Isakov
e66de44626
Validate type term against the template and report structure errors
2015-08-25 13:37:06 +02:00
Fedor Isakov
cc33af8691
Editor beautifications and workarounds for indent layout
2015-08-25 13:37:06 +02:00
Fedor Isakov
e9b1968475
Copy NodeKind from the prototype (mostly useless feature now)
2015-08-25 13:37:06 +02:00
Mihail.Buryakov
270e1de4cc
comment out difficult fragments of samples
2015-08-25 13:00:43 +02:00
Mihail.Buryakov
d9e042ae94
Add Comment intension available only if there is no comment on this node
2015-08-25 12:59:03 +02:00
Mihail.Buryakov
7fa0207a2b
support copying multiple bounds (0..n) with boundCopy
2015-08-25 12:44:37 +02:00
Mihail.Buryakov
680242cbe9
ubound and lbound are also correct on termintation
2015-08-25 12:27:21 +02:00
Mihail.Buryakov
3de2351f8d
add missing required dependency (classifier -> its type variables)
2015-08-25 12:26:35 +02:00
Mihail.Buryakov
cd3ec30bea
temporary disable return check rule (until we have lub)
2015-08-25 12:25:38 +02:00
Mihail.Buryakov
f0ddff8ccd
skip commented out templates
2015-08-25 12:24:19 +02:00
Fedor Isakov
2907e1af3f
New construct to represent type terms (TypeTerm) referencing a declaration, an intention to convert old Ast to TypeTerm
...
Renamed Node -> Compound, (old) TypeTerm -> TypeTemplate.
2015-08-24 17:09:52 +02:00
Mihail.Buryakov
e5b21e1327
check remaining constraints on termination
2015-08-24 16:57:36 +02:00
Mihail.Buryakov
4d86d23235
check remaining constraints on termination
2015-08-24 15:57:46 +02:00
Mihail.Buryakov
c196d3f254
typesystem rules for logical variables and values
2015-08-24 15:46:49 +02:00
Mihail.Buryakov
a13882914b
fix unification failure: use always short class name
2015-08-24 15:46:47 +02:00
Mihail.Buryakov
3394dd2c71
fix wildcards
2015-08-24 15:46:47 +02:00
Mihail.Buryakov
76504f9321
discard check constraint for MethodDeclaration
2015-08-24 15:46:46 +02:00
Fedor Isakov
f607281012
Typesystem2 language: runtime and generator for type declaration templates
2015-08-24 13:34:12 +02:00
Fedor Isakov
113bbb821a
Typesystem2 language: type declaration templates
2015-08-24 13:34:12 +02:00
Fedor Isakov
13d286e0ec
Check types action runs typechecking on all ClassConcept roots in the selection
2015-08-24 13:34:12 +02:00
Fedor Isakov
167123abc1
Extract typechecking helper class to be used in actions
2015-08-24 13:34:11 +02:00
Mihail.Buryakov
9ad6d96925
discard 'check' constraint for those concept which do not require (yet) real checking
2015-08-20 19:36:41 +02:00