如何创建一个Eclipse编辑器插件,尽可能快地进行语法检查和着色?

时间:2009-11-21 13:27:17

标签: eclipse-plugin

我正在开展一个项目,要求我为不同的语言创建一系列编辑器。语法由我们定义。

我正在寻找解决方案。 是否有一个快捷方式可以解决这个问题?

4 个答案:

答案 0 :(得分:4)

您可以使用 XText

  

开发文本域特定语言(DSL)的框架   只需使用Xtext的简单DSL语法语言描述您自己的EBNF,生成器将创建一个解析器,一个AST-meta模型(在EMF中实现)以及一个功能齐全的Eclipse文本编辑器。

alt text

答案 1 :(得分:1)

XText的替代品是RascalSpoofax,两者都不如XText受欢迎,但有趣的是它们支持更一般的无上下文语法等等。很高兴退房。

答案 2 :(得分:1)

如果您正在寻找更低级别的可编程解决方案,那么Eclipse的IDE元工具平台是一个不错的选择(IMP)。

IMP为您提供的API是将您的现有解析器连接到Eclipse而不会有太多麻烦。您需要实现一个IParseController接口,以调用您的解析器和ITokenIterator来生成令牌和其他一些接口,以便为每种令牌分配字体。

前面提到的Rascal和Spoofax都建立在IMP之上。

答案 3 :(得分:1)

未提及的是DLTK(也在Tutorial regarding the development of a custom Eclipse editor中提出)

有Ruby,bash用它实现。