【问题标题】:Can I use JetBrains MPS in a web application?我可以在 Web 应用程序中使用 JetBrains MPS 吗?
【发布时间】:2019-01-16 16:13:59
【问题描述】:

我正在使用 Flask 开发一个小型 Web 应用程序。这个应用需要一个DSL,可以表达.pdf文件的内容。

我已经使用 JetBrains MPS 开发了一个 DSL,但现在我不确定如何在我的 Web 应用程序中使用它。可能吗?或者我应该考虑切换到另一个 DSL 还是直接在 Python 中制作我的 DSL。

【问题讨论】:

    标签: python flask dsl jetbrains-ide mps


    【解决方案1】:

    如果您想在 Web 前端使用 MPS,简单的答案是:否。

    由于 MPS 是一个投影编辑器,它需要一个投影引擎,以便用户可以与程序/模型进行交互。 MPS 的投影引擎是用 Java 构建的,用于桌面应用程序。已经有一些努力将 MPS 放到 Web 上并构建 Java Script/HTML 投影引擎,但这些工作都没有完成。因此,除非您要构建类似的东西,否则无法在前端使用 MPS。

    如果您的 DSL 无论如何都是文本的,并且没有利用 MPS 的投影特性,我会使用专门的工具沿着文本 DSL 之路走下去,例如你建议的python或Xtext。

    【讨论】:

    【解决方案2】:

    如果您决定在 python 路线中使用 DSL,我想我会提出建议。
    TextX 是一个很好的 DSL 创建库,支持 BNF 语法并使用 PEG 解析器。

    【讨论】:

    • 谢谢,乍一看还不错。你用过TextX吗?您会在 Web 应用程序中推荐它吗?
    • 是的,我过去曾使用过一次 textx,使用起来非常好。因为它是纯 python,所以在烧瓶中使用它应该没有问题。
    • 会试一试。谢谢你:)
    猜你喜欢
    • 2017-05-07
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多