2011-04-12 77 views
9

我正在使用ANTLR創建一種新的通用編程語言,我對此很滿意。ANTLR語法的編輯器生成器?

由於我想提供很好的工具來簡化用我的語言編寫的程序的開發,我開始考慮通過適當的Eclipse插件實現該語言的編輯器。

是否有任何工具/項目允許您擁有一個完整的編輯器(語法高亮,代碼完成等)。我知道Xtext允許您自動執行此操作,那麼ANTLR呢?

我見過this mail到ANTLR郵件列表,但它並沒有回答

+0

Xtext在引擎蓋下使用ANTLR – moritz 2011-04-12 11:52:48

+0

我知道。我問的是,如果存在任何從ANTLR語法開始的工具允許你爲eclipse生成一個編輯器插件(比如doina Xtext)。有沒有像ANTLR那樣的東西? – 2011-04-12 12:48:49

回答

5

我給的Xtext一試。它沒有在語法層面上提供Antlr的所有功能,但該框架提供了很好的基礎結構組件,如與Eclipse建模組件和Eclipse UI的緊密集成。

+0

非常感謝。我會肯定的。看起來我的語法並不複雜,所以在Xtext中翻譯它不會那麼麻煩。 然而,似乎沒有自動支持從ANTLR語法開始做同樣的工作。 – 2011-04-28 16:39:43

+1

自動將Antlr語法轉換爲Xtext幾乎是不可能的。 Xtext語法包含更多信息,例如將具體語法元素映射到類型安全的抽象語法元素。這些不能從簡單的Antlr語法中提取/推斷出來。 但是,將語法粘貼到新創建的Xtext語法中並解決自動識別的問題通常不會太痛苦。 – 2011-04-28 17:25:30

3

Monticore幾乎似乎做你(和我)所希望的。在他們的Message Sequence Chart example中有一個Eclipse編輯器,它是一個Eclipse示例項目。我目前正在研究它。 Monticore基於antlr,語法看起來與ANTLR非常相似。