我过去在一个小项目(如实验室项目)中使用过 MPS,所以我对如何使用 MPS 有基本的了解(尽管它是 2.4 版或类似版本)。现在我正在尝试介绍一些基于 MPS 功能构建的实用软件(最好是 IntelliJ 插件)。由于 MPS 的使用并不广泛,我想在这里咨询有经验的人。
我想要做的是将一些关系知识数据库访问(SQL 查询)包装到基于 MPS 的插件中。我希望能够快速启动并为现有的 jdbc-wrapping 库生成代码,并且将来我希望能够切换到添加了特定于 db 的功能的实现。同时,我想保留现有的用户模型,以便他们可以轻松切换到新语言,并在这种新语言出现问题时回退。如何实现这种易于切换的功能?我的第一个想法是使用没有生成器的抽象语言,并在 Idea 的基于 mps 的模块中添加实现语言作为依赖项(一个或另一个),但我不确定这是否容易实现。