将现有文件解析为 MPS 语言
Parse existing files to MPS language
我正在考虑迁移到 Jetbrains MPS,这样我可以更轻松地使用自定义语言编辑我的文件。
我刚刚开始创建文件,已经有很多文件了。除了复制粘贴部分代码之外,有什么方法可以在 MPS 中自动将这些文件转换为我的语言?
当然可以:有几种方法。第一个是为 MPS 定义自定义持久化机制。这意味着您将能够在 MPS 中打开、编辑和保存文件,同时保持当前格式。但是,如果您这样做,您将失去 MPS 的一些灵活性,因为当您扩展语言或将您的语言与其他语言结合时,您将不得不修改持久性机制。我建议改为简单地解析您的文件,构建一个抽象语法树并在 MPS 中创建相应的节点。
这里有一个教程展示了如何使用 ANTLR 解析器在 MPS 中导入文件:http://tomassetti.me/antlr-and-jetbrains-mps-parsing-files-and-display-the-ast-usign-the-tree-notation/
我正在考虑迁移到 Jetbrains MPS,这样我可以更轻松地使用自定义语言编辑我的文件。
我刚刚开始创建文件,已经有很多文件了。除了复制粘贴部分代码之外,有什么方法可以在 MPS 中自动将这些文件转换为我的语言?
当然可以:有几种方法。第一个是为 MPS 定义自定义持久化机制。这意味着您将能够在 MPS 中打开、编辑和保存文件,同时保持当前格式。但是,如果您这样做,您将失去 MPS 的一些灵活性,因为当您扩展语言或将您的语言与其他语言结合时,您将不得不修改持久性机制。我建议改为简单地解析您的文件,构建一个抽象语法树并在 MPS 中创建相应的节点。 这里有一个教程展示了如何使用 ANTLR 解析器在 MPS 中导入文件:http://tomassetti.me/antlr-and-jetbrains-mps-parsing-files-and-display-the-ast-usign-the-tree-notation/