我正在处理的项目具有自定义文件格式,具有预定义的结构。该结构非常简单且通用(我无法更改):它由(嵌套)命令和类型化属性组成。
使用这种结构,已经创建了几种方言。方言是通用语法的“实例化”,并指定命令的名称和含义以及预期的属性。
我为其中一种方言创建了一个带有 EMF 的模型,我想重用 XText 来轻松创建一个专业的文本编辑器,并能够以正确的格式读取和写入我的模型。
现在我有一个选择。一方面,我可以直接针对方言,并将自定义文件结构中的概念和方言中的概念混合在相同的语法中。另一方面,我可以创建一个描述文件结构的语法,在此之上我可以描述我的方言。
我应该遵循哪种方式?我认为后者是最好的,但我怎样才能创建一个描述这两层的语法呢?