将代码从文本编辑器和过去复制到 Jetbrains MPS

Copy code from text editor and past into Jetbrains MPS

我想从文本编辑器复制一个 json 片段,然后将其复制到我的 json 语言中。因此,我必须解析该片段并从中创建 AST,这不是问题。 但是,如何将该操作集成到 MPS 中? Paste WrappersCopy and Paste Handlers 旨在用于 MPS 中的复制和粘贴操作,因为它们已经与 AST 一起工作,对吧? 是否可以挂接到 "plain text" 粘贴操作? 有什么我可以借鉴的建议或例子吗?

MPS 为 Java 代码提供了此功能,它是作为自定义操作(单独的上下文菜单项)实现的。实现在名为 PasteAsJavaClass (URL: http://127.0.0.1:63320/node?ref=r%3Ac6bc30d1-d0d1-44c6-ba7e-90e78619615e%28jetbrains.mps.ide.java.actions%29%2F2872212824181502651)

的操作中

由 MPS Slack 的 Sergej Koščejev 回答

另一种使用 Antlr 的方法:
假设你有一个自定义的基于文本的 DSL,你想将 DSL 代码导入 MPS,然后你必须解析它,你必须将解析树映射到你的 MPS 模型。
Frederico Tomasetti 写了一篇关于 how to integrate antlr and mps 的博客 post。