Commit Graph

1027 Commits

Author SHA1 Message Date
Fedor Isakov 8f1abd0388 Migrated to the latest MPS EAP build. 2018-07-18 15:54:48 +02:00
Fedor Isakov 6b16c682e6 More demo using S and K combinators. 2018-07-18 15:54:48 +02:00
Fedor Isakov b74a7f0927 Collect bound vars from preceding let clauses 2018-07-18 15:54:48 +02:00
Fedor Isakov 6c16c4a8f2 Another example of an impossible (non-typeable) term. 2018-07-18 15:54:48 +02:00
Fedor Isakov 9900cd91f3 Report error on catching a cyclic term 2018-07-18 15:54:48 +02:00
Fedor Isakov 8146709a68 Ensure names are assigned to all type variables 2018-07-18 15:54:48 +02:00
Fedor Isakov 0d648afda8 S, K, and I combinators 2018-07-18 15:54:48 +02:00
Fedor Isakov 1d1b00cc6a Intoruce error reporting to the types aspect. Replace all obsolete constructs with the new ones. 2018-07-18 15:54:48 +02:00
Fedor Isakov 05f3c8fe8c Cleanup the demo samples. 2018-07-18 15:54:48 +02:00
Fedor Isakov 81a8c4abec Fix the editor. Enable type presentation as text. Bool and Var types. Fix the types aspect and adapt to the changed metamodel. 2018-07-18 15:54:47 +02:00
Fedor Isakov 28b4862b67 Fimplifying the language: allow only boolean constants. Visualize lambda abstractions. Fix application order visualization with parenthises. 2018-07-18 15:54:47 +02:00
Fedor Isakov 773fa2eaaa Union-find for Var nodes. 2018-07-18 15:54:47 +02:00
Fedor Isakov 7fcb2fa333 Types aspect. Simple typesystem based on Hindley-Milner. 2018-07-18 15:54:47 +02:00
Fedor Isakov e9c3191a59 Initial commit. A simple functional language with numeric and string constants, single-argument abstractions and let bindings. 2018-07-18 15:54:47 +02:00
Fedor Isakov 3763f3dfe8 README for mpscore sample. 2018-07-18 11:17:43 +02:00
Fedor Isakov 46b8e5153f Simplify and fix controlflow sample implementation. 2018-07-18 10:42:32 +02:00
Fedor Isakov 63788c9cca Virtual folders for project modules. 2018-07-18 10:42:13 +02:00
Fedor Isakov 8294e8d702 Switch to MPS 2018.1.5 2018-07-17 15:29:02 +02:00
Fedor Isakov 2d3f4126b8 Add a "check" task for testing all projects at once. Switch travis build to 'gradle check'. 2018-07-17 15:09:47 +02:00
Fedor Isakov 77b578d30c Add a dependency on workflow.preset to in order to fix command-line build. Rename ant targets when importing to clearly separate tasks.
https://youtrack.jetbrains.com/issue/MPS-25921
2018-07-17 15:09:47 +02:00
Fedor Isakov c12bf0d96a Ensure extracted baseLanguageExt stuff can be built from command line. 2018-07-17 15:09:47 +02:00
Fedor Isakov 8528876d2a Include build module into deployed set. 2018-07-16 19:05:17 +02:00
Fedor Isakov 473644e389 Extract baseLanguageExt and its related tests to a separate project. 2018-07-16 18:56:36 +02:00
Fedor Isakov 4f6b8a002a Auto-updated descriptors. (Again!) 2018-07-16 16:40:09 +02:00
Fedor Isakov 4f063cd261 Update test language for typechecking. Re-implement all typechecking tests using test language. Drop dependency on baseLanguageExt and samples. 2018-07-16 16:39:13 +02:00
Fedor Isakov 24bcd0426c Ensure conflicting queries are reported as error. 2018-07-16 16:17:52 +02:00
Fedor Isakov 8b758be83e Ensure node's own language gets included into the rules scope for application. 2018-07-16 13:45:00 +02:00
Fedor Isakov d4477c519b Auto-updated descriptors. 2018-07-16 13:44:02 +02:00
Fedor Isakov d2de6eea33 Return baseLanguagExt as dependency of test modules in order to fix tests. 2018-07-14 17:22:32 +02:00
Fedor Isakov 79c02d2b00 Cleaning up dependencies in an attempt to produce a workable build.xml that doesn't break gradle. 2018-07-14 17:22:14 +02:00
Fedor Isakov 2b2fa47b57 Extract baselanguageExt sample into separate project. 2018-07-14 17:22:07 +02:00
Fedor Isakov 92c6ba3e12 Restructuring the project: consolidate code, moving samples away. 2018-07-14 17:22:07 +02:00
Fedor Isakov 9f372d1ad6 Fix a build dependency issue. 2018-07-10 14:33:12 +02:00
Fedor Isakov 71947db946 Sample updated for codeflow analysis. 2018-07-10 14:15:52 +02:00
Fedor Isakov 36cc3753e2 Codeflow analysis for local var live/used status. (alternative implementation, faster). 2018-07-10 14:15:28 +02:00
Fedor Isakov 362912dc9e Controlflow read/write analysis. 2018-07-10 14:14:58 +02:00
Fedor Isakov fb27f1ddf2 Ensure eval() supports void and non-boolean expressions. Allow eval in guard. Fix generation of operations from collections lang. 2018-07-10 14:14:08 +02:00
Fedor Isakov a18e86bbc5 Fix presentation of non-DataForm values. 2018-07-10 14:14:08 +02:00
Fedor Isakov aa7b4d2783 Controlflow analysis: reachability (unfinished). 2018-07-10 14:13:15 +02:00
Fedor Isakov 34db122334 Controlfow rules redesign. Optimize read-write checks for multi-path programs. 2018-07-02 11:30:06 +02:00
Fedor Isakov 4dfb676349 Ensure the order of handlers corresponds with the "extends" relation. The handler being extended has lower priority. 2018-07-02 11:27:55 +02:00
Fedor Isakov 0ddd0fcaa1 Introduce "principal" flag for rule templates. A principal template is excluded from processing as "required". 2018-07-02 11:27:55 +02:00
Fedor Isakov 387e8aab31 Updated solution dependency. 2018-06-24 23:02:34 +02:00
Fedor Isakov 698ea102b2 Switch to the latest reactor release. 2018-06-24 23:02:34 +02:00
Fedor Isakov ab5e641c6b Beautifying coderules editor. 2018-06-21 13:45:20 +02:00
Fedor Isakov b048701093 Fix build dependencies. 2018-06-21 11:52:35 +02:00
Fedor Isakov 6080b5dc5e Sample controlflow analysis using code rules. 2018-06-21 11:41:29 +02:00
Fedor Isakov 784b4ca810 Support launching control flow query with trace. Fix navigating to source location from trace view. Add shortcuts to controlflow actions. 2018-06-21 11:41:11 +02:00
Fedor Isakov a940e7260a Switch to the latest reactor release. 2018-06-21 11:41:11 +02:00
Fedor Isakov 57cb04b3f8 Highlight results of control flow analysis. Drop dead code. 2018-06-16 13:22:27 +02:00