问题标签 [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.
intellij-idea - JetBrains MPS-Building from source code
有没有人尝试从构建脚本构建 MPS 源代码,而不是从 IntelliJ IDE 运行。我试过了,但是我得到了一个构建失败,下面的错误消息“找不到类 jetbrains.sign.JetSignTask”。有什么想法吗?
提前致谢
库纳尔
mps - 将附加属性附加到概念的属性/引用的 MPS 方式
我有一组表示实体 Hrrr 类型的概念。
示例概念:
Loop
有孩子loopCount: IntegerProperty[1]
HttpRequest
的孩子url: StringProperty[1]
,hostName: StringProperty[1]
这两个概念都扩展AbstractTestElement
了概念(它定义了名称、评论等常见属性)。
我想要Loop
并HttpRequest
生成 baseLanguage 如下:
环形:
请求:
我想要的是有一些通用的生成器模板来涵盖这个通用逻辑,setProperty
因此不会针对不同类型的测试元素重复它。好吧,有些属性需要特定于测试元素的处理,但是通常存在一对一转换属性的情况,因此
问题是:如何将元数据附加到 Loop/HttpRequest 概念配置?MPS 惯用的做法是什么?
1) 虽然我可以使用“属性名称”作为放入 中的名称new XXXProperty
,但理想情况下我会使用HttpRequest.HOST_PROPERTY_NAME
某种引用,因此“属性名称”是不够的。
2)我可能会发明注释并注释我的概念的属性,看起来 MPS 本身并没有使用这种方法。
3)(ab)使用概念的行为返回<quotation new StringProperty("url", node.url) >
看起来更尴尬。
java - 找不到 JDK 依赖项 - JetBrains MPS
我正在https://youtu.be/Uq4o4TCLhCQ?t=5m5s上观看有关MPS的第一个教程,他正在谈论添加依赖项(JDK),但是当我按照步骤添加它时,并没有出现在我的名单上,就像在他的名单上一样。JDK
我尝试从该列表中添加其他随机内容,JDK
但正如预期的那样,它没有帮助。
如何将 JDK 添加为依赖项?
dsl - 在 MPS 中运行 Language-Solution 时出错
我正在使用 jetbrains MPS 开发 DSL。使用起来并不明显,但到目前为止我在设计部分取得了成功。可以右键单击解决方案节点并“运行”它,假设该语言是可执行的(扩展 execution.util)。另外,我使用单独开发的 jar 作为库(由生成器使用)。
我建立了一个新项目进行测试,尽可能简单,在生成器中添加了一些额外的节点和循环,出现错误并且无法撤消。
据我所知,有几个可能的错误来源。
- 依赖项(它们在 MPS 中很棘手)
- 我的罐子
- 错误的缓存文件左右
执行“运行”会导致以下错误:
你们中有些人有这方面的经验吗?告诉我,如果有一些额外的信息会有所帮助。
mps - 使用 MPS 从一个 DSL 生成不同的文本语言
我正在寻找一种以几种不同语言生成代码的方法,好的开始将是 ObjC、Android 的 Java、Unity 和 JavaScript (Cordova),用于重复代码。目前我正在用每种语言一遍又一遍地手动编写代码。我正在研究 MPS 并考虑开发一种 DSL 并从中为每种语言生成不同的代码。
我的问题是 MPS 是否允许为不同的语言创建不同的 TextGen?
intellij-idea - JetBrains MPS - 将 ClassifierType 引用约束到给定类型的子类
我正在 MPS 中编写 DSL 来定义事件生产者/消费者,如下所示:
在哪里:
我有一个包含ClassifierType
参考的 On 概念。
如何限制ClassifierType
对子类的引用Producer
?
dsl - 是否可以在另一个应用程序中使用 JetBrains MPS 或其中的一部分作为 JIT 编译器/翻译器?
JetBrains MPS 是否提供可在其他应用程序中使用的 JIT 编译器?我们有一个带有脚本语言的遗留应用程序。因为我们的客户很难使用这种脚本语言,所以我们想为他们提供一种新的 DSL。
所以问题是:我们是否可以使用 Jetbrains MPS 来设计我们的 DSL,然后在用户在我们的软件中编写脚本之后使用 MPS JITCompiler/Translator 将其转换为 Java 或其他任何内容?
mps - MPS 错误:找不到模型:java.awt、java.io 等
我想在当前的 MPS 3.2 中打开 mpscmindstorms 项目(使用 MPS 1.5 创建)。打开它后,我收到很多错误:“找不到模型:java.awt”/java.io、java.lang 等。
问题出在哪里?在我的项目中还是在我的 MPS 配置中?
谢谢,阿奇姆
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 类中。是否有任何类似的问题或遇到这个问题的人?我相信我会以某种方式让它发挥作用,但我对一个好的和顺利的解决方案很感兴趣。
编辑
问题是我确定我需要DesktopLauncher 及其配置来在我的PictureGenerator 中运行libGDX 的东西。
编辑 2 - 第一种方法
这再次与 MPS 相关。我曾考虑使用 MPS 生成器生成 Picture 类,但运行 Launcher 类。这有可能吗?要从解决方案运行一个类,它需要实现 IMainClass,但 Launcher 不能。启动器看起来总是一样的。是否有运行另一个类而不是生成的类的功能?
或者在 libGDX-site 上:是否可以合并启动器和图片类以插入配置?
debugging - Mps 在语言定义中设置断点
您如何正确调试您的语言创建?
特别是我想测试一个范围约束并查看节点的内容。您可以在约束文件中设置断点,但它们永远不会被触发。打印消息也是如此。