Commit Graph

860 Commits

Author SHA1 Message Date
Fedor Isakov c9af35e14b Typesystem2 lang and runtime: introduce CopyItem to copy terms recursively; specify MetaLogical type explicitly in the runtime interfaces; optimize generator templates. 2017-11-07 14:13:07 +01:00
Fedor Isakov 1a3a5ff6b1 Drop unnecessary type cast in generated code. 2017-11-07 14:10:45 +01:00
Fedor Isakov 291c0b58cd Display baseline conventional typechecking time. 2017-11-03 12:09:13 +01:00
Fedor Isakov 1541244395 Typechecking templates: add a rule to discharge hasBound of a captureOf type. 2017-11-03 12:08:17 +01:00
Fedor Isakov 45aa42bfe3 Enable control of output of profiling data with a system property. 2017-11-01 12:12:29 +01:00
Fedor Isakov d9eb56a91c Latest conreactor release. 2017-11-01 10:56:37 +01:00
Fedor Isakov aa8258c365 Typechecking templates: Applied migrations. Replace ad-hoc logical value access with valueOf expressions. 2017-11-01 10:52:15 +01:00
Fedor Isakov 1b86c47cac Typesystem2 lang: Deprecate LogicalExpression, migration to replace with the one from Logic lang. Support generation of ValueOf in LateExpressions. 2017-11-01 10:51:42 +01:00
Fedor Isakov 8ebee79af7 Logic lang: ValueOf expression for logical variables. LogicalExpression to replace the one from typesystem2 lang. 2017-11-01 10:51:42 +01:00
Fedor Isakov 51baea8b26 Typechecking plugin: drop read action from evaluation step. 2017-10-31 12:33:09 +01:00
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