问题标签 [mps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dsl - MPS 中的自定义编辑器
我在 Jetbrains MPS 中有一个概念,我想为其创建一个自定义编辑器。
这个概念有许多孩子。
对于每个孩子,我想显示孩子自己的编辑器,但前面有一个“-”。
我不完全确定我是否正在尝试以正确的方式解决这个问题。
但我的第一次尝试是在子节点上循环的自定义单元格。
我的问题是我不知道如何找到子节点的编辑器单元格:
我的手机提供商:
dsl - 是否可以导出由 JetBrains MPS 创建的 DSL 编译器并独立使用(例如从另一个 Java 程序调用它)
我想构建一个 DSL 并按如下方式使用它:
- DSL 编译为 Java。
- 导出 DSL 编译器并将其打包(即作为 JAR),这样我就可以从 Java 应用程序调用 DSL 编译器,将“用我的 DSL 编写的代码”编译为“Java 源代码”(我将使用其他库以编程方式编译Java 转换成字节码)。
我可以使用 JetBrains MPS 来构建 DSL 并按照说明导出其编译器吗?如果没有,其他建议是否值得赞赏?
dsl - 我可以用 JetBrains MPS 中生成的 DSL 语言做什么?
几个小时前,我刚刚开始阅读有关 DSL 建模的内容。
但是现在,我与使用 JetBrains MPS IDE 或它的 JetBrains Intellij Idea 插件有关,我想知道如何将这些 DSL 模型导出到可用于控制台应用程序或其他任何东西的东西(以防万一可能或有意义)。
eclipse - Jetbrains MPS 优于 Xtext 的优势
我想问一下 mps 和 xtext 的优势以及编写语言时的主要功能。我知道在使用 mps 时,您正在直接编辑 AST,而 xtext 使用解析器。我已经阅读了使用 AST 的优势,允许为您正在制作的语言扩展多种语言,我真的不明白这意味着什么,可以进一步解释,为什么有人想要扩展多种语言?
我也读过 AST 删除了模棱两可的代码,它是如何做到的?
我知道 MPS 和 xtext 都具有下划线和突出显示代码之类的功能,它们是否还有其他与代码验证相关的功能?
欢迎他们的任何其他主要区别和一般特征?
mps - 重建项目时出现 MPS 错误:“x@descriptor 没有输出位置”
我是 JetBrains MPS 的新手,正在尝试了解其他人构建的 Jetbrains MPS 应用程序。但是,我发现我无法构建从 GitHub 下载的大多数应用程序。大多数情况下,我在尝试重建项目时遇到错误。我得到的一个常见错误是:
其中 x 是语言的名称。
我必须更新什么来修复它?
额外细节:
- 操作系统:Windows 10
- MPS:2020.2
- git repo 示例:https ://github.com/DSLFoundry/mps-examples/Sorting
mps - mps 语法单元格给出消息“错误缺少对 jetbrains.mps.lang.core 的依赖”
我正在关注 Kolja Dummann 在 Youtube 上的 Heavy Meta (4) 直播。
我正在尝试使用语法单元来包装二进制表达式。投影看起来像这样
grammar.constant
constant text
属性设置为subconcept.conceptAlias
。
不幸的是,我在编辑器中收到了两个包装单元格的错误消息:
当我重建编辑器、语言或项目时,它报告重建成功,但是,在我输入数字后,我无法获得别名(+、-、*、/)的预期行为沙盒项目。
我已将 jetbrains.mps.lang.core 添加到编辑器中,但它显示为灰色,即未使用。
当我在本教程的早些时候在wrap
我的数字文字编辑器上使用时,即使我得到的编辑器显示了同样的错误消息,预期的行为也会发生。所以也许错误信息是一个红鲱鱼。
我在用
- MPS 2020.2 (202.6397.948)。(我在 2020.1 遇到了同样的问题)
- 来自 de.itemis.mps.extensions-2020.1.1477.e4af43c 的语法单元(我认为 - 不知道如何检查)。
interface - 无法弄清楚 MPS 错误:“角色 XY 中的孩子不属于概念 X”
我是 MPS 的新手,所以这可能是一个愚蠢的问题,但我在任何地方都找不到解决方案。
我正在定义两个 DSL,其中第一个将依赖于第二个。
我已经定义了第一语言的一部分,到目前为止一切都很好。
我有一堆概念,一些编辑器,约束等。
我创建了一个带有示例节点的模型,我可以在其中查看我所做的事情。
现在我正在研究第二种语言,我的方法与第一种语言完全相同。
我创建了一个可以作为根的概念。它被称为“模块”。
然后我定义了一个名为“IModuleContent”的接口概念,并将其作为一个孩子交给“Module”,称其为“内容”并将基数设置为[0..n]。
然后我定义了另一个概念,称为“接口”,它继承自“IModuleContent”。我给了两个概念编辑器,它们现在基本上只是大括号。
在我的示例模型中,我使用新语言创建了一个新节点。它给了我我的根,一个“模块”。因为它是一个命名的概念,所以我给它一个名字。然后,在模块的大括号内,我声明了一个新的“接口”。
一起,
这一切都非常有效,除了在给“模块”一个“接口”(所以“打印机”)的实例作为变量之后,它会用红色下划线并且错误显示为:
但是,我很确定确实如此。所有的概念都在新语言的结构中,我相信一切都以正确的方式继承。我用我的母语做了几乎同样的事情,而且效果很好。
这里发生了什么?
编辑:应该指定我使用的是 2020.3 版
mps - JetBrains 元编程系统不工作
每当我尝试运行批处理脚本来运行 MPS 时,它会打开片刻然后立即关闭。
尝试通过命令行运行它会给我以下消息:“此时 Jetbrains/MPS 出乎意料。”
我也在他们的论坛上发布了这个问题,但我似乎没有得到答案,所以也许其他人也有这个问题。
编辑:为澄清起见,我在 64 位上使用 Windows 10,并尝试了通过工具箱应用程序和独立安装程序安装的版本 203.7148.1199 和版本 202.8194.1069。我还想提一下,我的系统满足运行程序的要求。
编辑 2:我发现它可以工作,但前提是它安装在 C 驱动器中,而不是任何其他驱动器中。
mps - JetBrains MPS 只是为了创建突出显示?
MPS 不是为了创建编程语言,而是为已经创建的语言创建语法,这是真的吗(突出显示)?