Commit Graph

255 Commits

Author SHA1 Message Date
Fedor Isakov a6bd6dac9c New structure of RuleTemplate, get rid of various "code blocks" in favour of regular control statements. 2018-04-03 12:16:38 +02:00
Fedor Isakov b052790f8c Switch to latest conreactor, update Kotlin runtime libs. 2018-03-05 15:31:39 +01:00
Fedor Isakov 6ac5af596f Upgrade to the latest MPS release. 2018-01-23 12:29:46 +01:00
Fedor Isakov bd81dfe749 Bump up the release version to 0.3. Default build number set to 9999. 2018-01-23 11:55:13 +01:00
Fedor Isakov 43a823a2b5 Refactorings in the API. Introducing RuleProcessingSession to facilitate all operations with the rule processing. Consolidating all low-level stuff in runtime solution. Preparing for multiple languages support. 2018-01-05 13:58:24 +01:00
Fedor Isakov a74f4fb944 Dropping deprecated API, renaming obsolete API calls. 2017-12-14 14:46:04 +01:00
Fedor Isakov c236981fb6 Correct version number of the plugin (0.2). 2017-12-06 18:10:02 +01:00
Fedor Isakov fb7f249435 Fix project generation by implementing newly introduced abstract methods in MPS interfaces. 2017-12-06 17:44:07 +01:00
Fedor Isakov d3a4e21ca9 Migrated to MPS2017.3. 2017-12-06 16:36:28 +01:00
Fedor Isakov 8c81df5fae Automating updates file generation and upload using Travis CI. 2017-12-04 20:40:52 +01:00
Fedor Isakov 114f4b8079 Bumped up version in plugin.xml. 2017-12-04 13:34:57 +01:00
Fedor Isakov ab8f4709ee Make checking for garbage optional by default. Garbage is always reported though. 2017-12-04 12:30:21 +01:00
Fedor Isakov 2ba4ee5712 Correct plugin version. Create updatePlugins.xml to provide updates. 2017-11-15 14:11:38 +01:00
Fedor Isakov 323cfdf080 Introduce environment variable to control whether to report garbage constraints.
Fix NPE on missing rules for a stage during rules application.
2017-11-15 11:46:44 +01:00
Fedor Isakov 83b52e8b45 Drop usages of java expression solver, deprecate the API calls that require it. 2017-11-14 15:09:33 +01:00
Fedor Isakov 291c0b58cd Display baseline conventional typechecking time. 2017-11-03 12:09:13 +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 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 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 0ead14f24b Applied migration in Logic lang. 2017-10-25 16:33:09 +02:00
Fedor Isakov b3b62d2cca UI: Fix presentation of terms, values and lists. 2017-10-24 16:05:05 +02:00
Fedor Isakov bc3ff79a9c Migration applied: extract ListRole. 2017-10-23 12:08:50 +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 7c28db8854 UI: Drop string hacks, drop hardcoded term feature names. Code cleanup. 2017-10-19 17:55:09 +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 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 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 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 ce77d05486 Minor fixes in the samples. Make bad samples bad again. 2017-10-04 15:47:02 +02:00
Fedor Isakov 3adfaf1ec2 Fix model read violation by wrapping SearchQuery construction into a read action. 2017-10-01 14:37:33 +02:00
Fedor Isakov 3ce85cac5e Introduce snapshot history. Activation sink to record all snapshots and allow to refer to snapshot taken at particular instant. This is used in the Store sink in order to correctly represent logical assignments and unions. Snapshot history is reused by the next stage program. 2017-09-26 11:37:35 +02:00
Fedor Isakov 651fb9ac66 Activation trace: emphasise constraint occurrences in the store view relevant to the selected occurrence event. 2017-09-25 11:34:12 +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 975beae9bb Refactor Show Type action to also display progress. 2017-09-18 13:34:01 +02:00
Fedor Isakov f0a7ab2317 Make types cache store type models by source root instead of model. 2017-09-15 15:10:55 +02:00
Fedor Isakov 9bc019c58d Show Node Type action to show single node's type. Minor refactoring in ui plugin. 2017-09-15 14:18:18 +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 bad0e86d85 Test recursive type. 2017-09-13 16:41:56 +02:00
Fedor Isakov 0ef1798c1a Fix infinite cycle in Snapshot. Include the exception that caused failure while evaluating rules. 2017-09-13 16:05:07 +02:00
Fedor Isakov f8c265dcc7 Use PooledThreadExecutor for background scheduling. Ad-hoc support for handling fatal errors during execution, such as StackOverflowError. 2017-09-12 17:11:43 +02:00
Fedor Isakov b33aa6fd76 Introduce module for type models managed by the types cache. 2017-09-12 13:01:36 +02:00
Fedor Isakov 490abaad0f Typechecking plugin: ensure the highlighting is part of the reactive scheme. Expose errors during highlighting to the user. 2017-09-11 13:17:34 +02:00
Fedor Isakov e9c8897bfa Refactor out common typechecking actions. An action to mark a single node's type. 2017-08-23 14:33:25 +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 5c442c47b6 Support for launching typechecking on a bunch of nodes without going deep. Implies automatic collection of typechecking dependencies. 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 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