Commit Graph

149 Commits

Author SHA1 Message Date
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 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 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 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
Fedor Isakov 21dbecd386 Re-saved all models. 2017-05-04 13:10:14 +02:00
Fedor Isakov 368c08b38e Refactoring: move the term table to separate root. 2017-05-04 12:47:22 +02:00
Fedor Isakov fd3d74a375 Deprecate and remove all usages of TypeTerm from the TypeDeclaration. 2017-05-03 16:14:44 +02:00
Fedor Isakov 2b49f4e1c8 Refactoring: moving the TypeTerm out of NewType, making the two constructs independent. 2017-05-03 13:50:11 +02:00
Fedor Isakov 49b7407581 Correct the wording in some language constructs 2017-04-28 15:02:22 +02:00
Fedor Isakov 94b5b9c71a Less contrast color scheme for rules. 2017-04-28 14:37:38 +02:00
Fedor Isakov db3b8b434a Compacting the rule editor: fewer keywords, compact presentation. Rename "template" to "rule". 2017-04-28 11:51:27 +02:00