From e9c3191a59174bf3444f1a11a9a0493c68f413b8 Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Mon, 14 Nov 2016 16:30:35 +0100 Subject: [PATCH] Initial commit. A simple functional language with numeric and string constants, single-argument abstractions and let bindings. --- samples/lambdacalc/.gitignore | 10 + samples/lambdacalc/.mps/.name | 1 + samples/lambdacalc/.mps/encodings.xml | 6 + samples/lambdacalc/.mps/migration.xml | 8 + samples/lambdacalc/.mps/misc.xml | 16 + samples/lambdacalc/.mps/modules.xml | 9 + samples/lambdacalc/.mps/vcs.xml | 6 + samples/lambdacalc/.mps/version.xml | 6 + .../generator/template/main@generator.mps | 23 + .../sample.fooblin/models/behavior.mps | 11 + .../sample.fooblin/models/constraints.mps | 80 ++ .../sample.fooblin/models/editor.mps | 961 ++++++++++++++++++ .../sample.fooblin/models/structure.mps | 264 +++++ .../sample.fooblin/models/typesystem.mps | 11 + .../sample.fooblin/sample.fooblin.mpl | 108 ++ .../models/sample/demo/fooblah.mps | 105 ++ .../solutions/sample.demo/sample.demo.msd | 17 + 17 files changed, 1642 insertions(+) create mode 100644 samples/lambdacalc/.gitignore create mode 100644 samples/lambdacalc/.mps/.name create mode 100644 samples/lambdacalc/.mps/encodings.xml create mode 100644 samples/lambdacalc/.mps/migration.xml create mode 100644 samples/lambdacalc/.mps/misc.xml create mode 100644 samples/lambdacalc/.mps/modules.xml create mode 100644 samples/lambdacalc/.mps/vcs.xml create mode 100644 samples/lambdacalc/.mps/version.xml create mode 100644 samples/lambdacalc/languages/sample.fooblin/generator/template/main@generator.mps create mode 100644 samples/lambdacalc/languages/sample.fooblin/models/behavior.mps create mode 100644 samples/lambdacalc/languages/sample.fooblin/models/constraints.mps create mode 100644 samples/lambdacalc/languages/sample.fooblin/models/editor.mps create mode 100644 samples/lambdacalc/languages/sample.fooblin/models/structure.mps create mode 100644 samples/lambdacalc/languages/sample.fooblin/models/typesystem.mps create mode 100644 samples/lambdacalc/languages/sample.fooblin/sample.fooblin.mpl create mode 100644 samples/lambdacalc/solutions/sample.demo/models/sample/demo/fooblah.mps create mode 100644 samples/lambdacalc/solutions/sample.demo/sample.demo.msd diff --git a/samples/lambdacalc/.gitignore b/samples/lambdacalc/.gitignore new file mode 100644 index 00000000..98bbd45c --- /dev/null +++ b/samples/lambdacalc/.gitignore @@ -0,0 +1,10 @@ +**/source_gen/* +**/source_gen.caches/* +**/test_gen/* +**/test_gen.caches/* +**/classes_gen/* +**/classes_jchr/* +.mps/workspace.xml +.idea/workspace.xml +out +build/* diff --git a/samples/lambdacalc/.mps/.name b/samples/lambdacalc/.mps/.name new file mode 100644 index 00000000..55659f15 --- /dev/null +++ b/samples/lambdacalc/.mps/.name @@ -0,0 +1 @@ +Project24 \ No newline at end of file diff --git a/samples/lambdacalc/.mps/encodings.xml b/samples/lambdacalc/.mps/encodings.xml new file mode 100644 index 00000000..97626ba4 --- /dev/null +++ b/samples/lambdacalc/.mps/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/samples/lambdacalc/.mps/migration.xml b/samples/lambdacalc/.mps/migration.xml new file mode 100644 index 00000000..4a354136 --- /dev/null +++ b/samples/lambdacalc/.mps/migration.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/samples/lambdacalc/.mps/misc.xml b/samples/lambdacalc/.mps/misc.xml new file mode 100644 index 00000000..5580139f --- /dev/null +++ b/samples/lambdacalc/.mps/misc.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/lambdacalc/.mps/modules.xml b/samples/lambdacalc/.mps/modules.xml new file mode 100644 index 00000000..432dd620 --- /dev/null +++ b/samples/lambdacalc/.mps/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/samples/lambdacalc/.mps/vcs.xml b/samples/lambdacalc/.mps/vcs.xml new file mode 100644 index 00000000..94a25f7f --- /dev/null +++ b/samples/lambdacalc/.mps/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/samples/lambdacalc/.mps/version.xml b/samples/lambdacalc/.mps/version.xml new file mode 100644 index 00000000..48d71a1e --- /dev/null +++ b/samples/lambdacalc/.mps/version.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/samples/lambdacalc/languages/sample.fooblin/generator/template/main@generator.mps b/samples/lambdacalc/languages/sample.fooblin/generator/template/main@generator.mps new file mode 100644 index 00000000..bc4d6b56 --- /dev/null +++ b/samples/lambdacalc/languages/sample.fooblin/generator/template/main@generator.mps @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/lambdacalc/languages/sample.fooblin/models/behavior.mps b/samples/lambdacalc/languages/sample.fooblin/models/behavior.mps new file mode 100644 index 00000000..b83f5231 --- /dev/null +++ b/samples/lambdacalc/languages/sample.fooblin/models/behavior.mps @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/samples/lambdacalc/languages/sample.fooblin/models/constraints.mps b/samples/lambdacalc/languages/sample.fooblin/models/constraints.mps new file mode 100644 index 00000000..5baf87f5 --- /dev/null +++ b/samples/lambdacalc/languages/sample.fooblin/models/constraints.mps @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/lambdacalc/languages/sample.fooblin/models/editor.mps b/samples/lambdacalc/languages/sample.fooblin/models/editor.mps new file mode 100644 index 00000000..b087b9e4 --- /dev/null +++ b/samples/lambdacalc/languages/sample.fooblin/models/editor.mps @@ -0,0 +1,961 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/lambdacalc/languages/sample.fooblin/models/structure.mps b/samples/lambdacalc/languages/sample.fooblin/models/structure.mps new file mode 100644 index 00000000..c6fd979a --- /dev/null +++ b/samples/lambdacalc/languages/sample.fooblin/models/structure.mps @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/lambdacalc/languages/sample.fooblin/models/typesystem.mps b/samples/lambdacalc/languages/sample.fooblin/models/typesystem.mps new file mode 100644 index 00000000..ec1de910 --- /dev/null +++ b/samples/lambdacalc/languages/sample.fooblin/models/typesystem.mps @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/samples/lambdacalc/languages/sample.fooblin/sample.fooblin.mpl b/samples/lambdacalc/languages/sample.fooblin/sample.fooblin.mpl new file mode 100644 index 00000000..57031cf8 --- /dev/null +++ b/samples/lambdacalc/languages/sample.fooblin/sample.fooblin.mpl @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose) + a2eb3a43-fcc2-4200-80dc-c60110c4862d(jetbrains.mps.devkit.templates) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI) + af858d84-85f2-42f4-a854-0b3c6b5cd482(sample.fooblin) + + + 2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/lambdacalc/solutions/sample.demo/models/sample/demo/fooblah.mps b/samples/lambdacalc/solutions/sample.demo/models/sample/demo/fooblah.mps new file mode 100644 index 00000000..83310843 --- /dev/null +++ b/samples/lambdacalc/solutions/sample.demo/models/sample/demo/fooblah.mps @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/lambdacalc/solutions/sample.demo/sample.demo.msd b/samples/lambdacalc/solutions/sample.demo/sample.demo.msd new file mode 100644 index 00000000..a790818c --- /dev/null +++ b/samples/lambdacalc/solutions/sample.demo/sample.demo.msd @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + +