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

mps - 是否可以丰富默认的 mps 文本编辑器?

我有一个包含超链接的 xml 文件(abc.xml),我在 MPS 中打开该 xml 文件,当前 xml/html/txt 的 MPS 编辑器无法处理显示超链接,所以我的问题是,是否可以丰富mps 文本编辑器?

0 投票
1 回答
95 浏览

mps - MPS 中图灵完备 GPL 的任何示例

您能否提供在 MPS 平台下开发的开源图灵完备通用语言的示例?(进一步学习)。

0 投票
1 回答
51 浏览

mps - MPS Typesystem 查询数据库/发出 API 调用

我正在使用 MPS 来实现一个非常有趣的 DSL。我很想知道,在他们的网站上没有找到任何关于我是否可以在类型系统中发出 API 调用或动态查询数据库的信息。所以我们会看到发生了等效测试,我希望能够发出 API 调用或数据库查询,以查看在进一步约束和分析下该等效测试的可行性。

0 投票
1 回答
126 浏览

groovy - 领域模型的文本语法

我们有以某种 xml 格式描述的域模型。给定领域模型,我想生成工具来帮助测试人员/领域专家以文本形式表达数据(以及稍后的领域特定测试框架)。IDE 支持是强制性的(IDEA 或 Eclipse)。

说,我有这个伪模型

一个典型的使用场景:

我知道这可以通过 xtext 或 jetbrains mps 等来完成。但是,我想了解哪种技术可以满足以下要求。

  1. 模型在运行时馈送到系统(新建、更新、删除等)。所以,我不能有静态的语法集。如何构建它以便在运行时解析模型/属性辅助或至少生成语法(可能是其中的一部分)
  2. 当我使用一组“语法”时,如果我将目标服务器指向不同的版本(可能有不同的模型集),我希望编辑器验证我现有的文件并标记错误。
  3. 我以 xml、文本或通过服务器查找获取数据文件。
  4. 将模型转换为其他格式或在 java/groovy 中解释它们对我来说非常重要。

例如,我可能有以下数据文件

但是,当我针对不知道“爱好”属性的服务器验证此文件时,我希望编辑器在该属性上标记错误。

我计划向这个 dsl/toolkit 添加更多功能。任何提示哪种技术更合适?

谢谢

0 投票
1 回答
56 浏览

mps - MPS:抽象(无生成器?)语言及其实现

我过去在一个小项目(如实验室项目)中使用过 MPS,所以我对如何使用 MPS 有基本的了解(尽管它是 2.4 版或类似版本)。现在我正在尝试介绍一些基于 MPS 功能构建的实用软件(最好是 IntelliJ 插件)。由于 MPS 的使用并不广泛,我想在这里咨询有经验的人。

我想要做的是将一些关系知识数据库访问(SQL 查询)包装到基于 MPS 的插件中。我希望能够快速启动并为现有的 jdbc-wrapping 库生成代码,并且将来我希望能够切换到添加了特定于 db 的功能的实现。同时,我想保留现有的用户模型,以便他们可以轻松切换到新语言,并在这种新语言出现问题时回退。如何实现这种易于切换的功能?我的第一个想法是使用没有生成器的抽象语言,并在 Idea 的基于 mps 的模块中添加实现语言作为依赖项(一个或另一个),但我不确定这是否容易实现。

0 投票
1 回答
112 浏览

intellij-idea - MPS - 从 MPS 插件访问 Idea 中的源作为 MPS 模型?

是否可以从 IDEA 中启用 MPS 的插件访问(用于读/写)项目的源代码作为 baseLanguage(或其他)源模型?我希望能够基于支持 MPS 的插件中的模型对 IDEA 中的源代码进行重构。

0 投票
1 回答
187 浏览

python - Meta language for rest client

We have a back end that exposes 50-60 Rest APIs. These will largely be consumed by standalone applications like a Python script or a Java program.

One issue we have is the APIs are at a very granular level, they do not match the business use case. For example to perform a business use case end user might have to call 4 to 5 APIs.

I want to develop a DSL or some solution that will help provide a high level abstraction that will enable end users to implement business use cases with ease. This can either be a standalone abstraction or a "library" for Python or or some much high level programming language.

For the specific purpose of combining multiple Rest API calls to create a business use case transaction, what are the approaches available.

Thanks

0 投票
1 回答
318 浏览

dsl - 是否可以在我的程序中构建 JetBrans MPS 编辑器?

他们有一个设计 DSL 的工具:https ://www.jetbrains.com/mps/

是否可以将编辑器从那里嵌入到我的程序中?或者唯一的目的是仅在开发期间使用它(从 DSL 编译)?

0 投票
1 回答
93 浏览

read-eval-print-loop - MPS - 独立的 repl 应用程序?

继续探索 MPS 可以提供的可能性,我想知道,是否可以将 MPS repl 组件/模块提取到一些使用一些外部模型文件的独立应用程序中?

0 投票
1 回答
293 浏览

jetbrains-ide - 使用 JetBrain 的 MPS 创建编辑器插件

我可以使用 MPS 为 IntelliJ 创建“传统”语言插件吗?

看起来 MPS 的核心功能是从 DSL 到 Java 的转录。但是,我只想定义 DSL 语法和编辑器,以通过 JetBrain 插件存储库将其作为独立的语言插件发布。

我不确定这是否是 MPS 的目的,或者我必须使用 Grammar-Kit 来创建插件,如此处所述