问题标签 [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.

0 投票
1 回答
69 浏览

intellij-idea - JetBrains MPS-Building from source code

有没有人尝试从构建脚本构建 MPS 源代码,而不是从 IntelliJ IDE 运行。我试过了,但是我得到了一个构建失败,下面的错误消息“找不到类 jetbrains.sign.JetSignTask”。有什么想法吗?

提前致谢

库纳尔

0 投票
1 回答
146 浏览

mps - 将附加属性附加到概念的属性/引用的 MPS 方式

我有一组表示实体 Hrrr 类型的概念。

示例概念: Loop有孩子loopCount: IntegerProperty[1] HttpRequest的孩子url: StringProperty[1]hostName: StringProperty[1]

这两个概念都扩展AbstractTestElement了概念(它定义了名称、评论等常见属性)。

我想要LoopHttpRequest生成 baseLanguage 如下:

环形:

请求:

我想要的是有一些通用的生成器模板来涵盖这个通用逻辑,setProperty因此不会针对不同类型的测试元素重复它。好吧,有些属性需要特定于测试元素的处理,但是通常存在一对一转换属性的情况,因此

问题是:如何将元数据附加到 Loop/HttpRequest 概念配置?MPS 惯用的做法是什么?

1) 虽然我可以使用“属性名称”作为放入 中的名称new XXXProperty,但理想情况下我会使用HttpRequest.HOST_PROPERTY_NAME某种引用,因此“属性名称”是不够的。

2)我可能会发明注释并注释我的概念的属性,看起来 MPS 本身并没有使用这种方法。

3)(ab)使用概念的行为返回<quotation new StringProperty("url", node.url) >看起来更尴尬。

0 投票
1 回答
71 浏览

java - 找不到 JDK 依赖项 - JetBrains MPS

我正在https://youtu.be/Uq4o4TCLhCQ?t=5m5s上观看有关MPS的第一个教程,他正在谈论添加依赖项(JDK),但是当我按照步骤添加它时,并没有出现在我的名单上,就像在他的名单上一样。JDK

我尝试从该列表中添加其他随机内容,JDK但正如预期的那样,它没有帮助。

如何将 JDK 添加为依赖项?

0 投票
3 回答
152 浏览

dsl - 在 MPS 中运行 Language-Solution 时出错

我正在使用 jetbrains MPS 开发 DSL。使用起来并不明显,但到目前为止我在设计部分取得了成功。可以右键单击解决方案节点并“运行”它,假设该语言是可执行的(扩展 execution.util)。另外,我使用单独开发的 jar 作为库(由生成器使用)。

我建立了一个新项目进行测试,尽可能简单,在生成器中添加了一些额外的节点和循环,出现错误并且无法撤消。

据我所知,有几个可能的错误来源。

  • 依赖项(它们在 MPS 中很棘手)
  • 我的罐子
  • 错误的缓存文件左右

执行“运行”会导致以下错误:

你们中有些人有这方面的经验吗?告诉我,如果有一些额外的信息会有所帮助。

0 投票
1 回答
376 浏览

mps - 使用 MPS 从一个 DSL 生成不同的文本语言

我正在寻找一种以几种不同语言生成代码的方法,好的开始将是 ObjC、Android 的 Java、Unity 和 JavaScript (Cordova),用于重复代码。目前我正在用每种语言一遍又一遍地手动编写代码。我正在研究 MPS 并考虑开发一种 DSL 并从中为每种语言生成不同的代码。

我的问题是 MPS 是否允许为不同的语言创建不同的 TextGen?

0 投票
1 回答
85 浏览

intellij-idea - JetBrains MPS - 将 ClassifierType 引用约束到给定类型的子类

我正在 MPS 中编写 DSL 来定义事件生产者/消费者,如下所示:

在哪里:

我有一个包含ClassifierType参考的 On 概念。

如何限制ClassifierType对子类的引用Producer

0 投票
1 回答
366 浏览

dsl - 是否可以在另一个应用程序中使用 JetBrains MPS 或其中的一部分作为 JIT 编译器/翻译器?

JetBrains MPS 是否提供可在其他应用程序中使用的 JIT 编译器?我们有一个带有脚本语言的遗留应用程序。因为我们的客户很难使用这种脚本语言,所以我们想为他们提供一种新的 DSL。

所以问题是:我们是否可以使用 Jetbrains MPS 来设计我们的 DSL,然后在用户在我们的软件中编写脚本之后使用 MPS JITCompiler/Translator 将其转换为 Java 或其他任何内容?

0 投票
0 回答
50 浏览

mps - MPS 错误:找不到模型:java.awt、java.io 等

我想在当前的 MPS 3.2 中打开 mpscmindstorms 项目(使用 MPS 1.5 创建)。打开它后,我收到很多错误:“找不到模型:java.awt”/java.io、java.lang 等。

问题出在哪里?在我的项目中还是在我的 MPS 配置中?

谢谢,阿奇姆

0 投票
2 回答
132 浏览

java - 配合 libGDX 和 Jetbrains MPS

我还在LibGDX 论坛上发布了这个问题。

嘿!对于我的论文,我正在编写一个 DSL 来描述图片的外观。这些图片将由 libGDX 根据 DSL-Input 绘制。到目前为止,jetbrains MPS (v. 3.0) 和最新的 libGDX 版本正在使用中。我的实际问题是:如何设计我的 MPS 语言和 java-libGDX-picture-generator 之间的互连。

Jetbrains MPS 没有广泛传播,但我敢肯定,我的问题可以在不知情的情况下解决。在 DSL 中,生成器旨在构建一个可以执行的类(public static void main)。这里有几个方法调用来开始图片生成。将其视为 generatePicture(200px, 150px, "blue") (它要复杂得多,但我认为这对我的问题并不重要)。

在 libGDX 中,我有几个启动器(尤其是 DesktopLauncher),这些是程序的主要类,即已启动的那些。目前,启动器启动另一个类(我将其命名为“Main”),这里是方法调用。libGDX 程序通过 jar 工件插入到 MPS 中,因此它的方法可以在我的 DSL 中使用。

什么是让我的 DSL 代码启动我的 libGDX 程序的好解决方案?我必须进行所有这些方法调用并启动启动器。我考虑了一个额外的类来初始化启动器并进行调用,或者尝试将来自 DSL 的调用插入到 jar 类中。是否有任何类似的问题或遇到这个问题的人?我相信我会以某种方式让它发挥作用,但我对一个好的和顺利的解决方案很感兴趣。

编辑 mps 和 libgdx 中的主要类 问题是我确定我需要DesktopLauncher 及其配置来在我的PictureGenerator 中运行libGDX 的东西。

编辑 2 - 第一种方法 在此处输入图像描述 这再次与 MPS 相关。我曾考虑使用 MPS 生成器生成 Picture 类,但运行 Launcher 类。这有可能吗?要从解决方案运行一个类,它需要实现 IMainClass,但 Launcher 不能。启动器看起来总是一样的。是否有运行另一个类而不是生成的类的功能?

或者在 libGDX-site 上:是否可以合并启动器和图片类以插入配置?

0 投票
1 回答
85 浏览

debugging - Mps 在语言定义中设置断点

您如何正确调试您的语言创建?

特别是我想测试一个范围约束并查看节点的内容。您可以在约束文件中设置断点,但它们永远不会被触发。打印消息也是如此。