2011-05-06 53 views
1

我在Eclipse中有一個項目,我有一個自定義語言的編輯器。我正在使用ANTLR爲它生成編譯器。我需要的是向編輯添加內容幫助。ANTLR和Eclipse中的內容幫助

輸入是自定義語言中的源代碼,以及用戶請求內容輔助的字符的位置。源代碼大部分時間是不完整的,因爲用戶可以隨時要求內容幫助。我需要的是計算對於給定位置有效的可能令牌列表。

可以編寫自定義代碼來進行計算,但是代碼必須手動保持與語法同步。我認爲解析器正在做類似的事情。它必須能夠在給定的環境下確定可接受的令牌。是否有可能「重用」?無論如何,創建內容協助的最佳做法是什麼?

感謝, 巴林特

+0

對於那些有興趣的,這也張貼在[ANTLR郵件列表](http://antlr.markmail.org/message/uqn3mhahyeysfeon)。 – 2011-05-07 11:25:48

回答

1

看一看的Xtext。 Xtext在底層使用了Antlr3,併爲基於Antlr的語言提供了內容幫助。仔細看看包org.eclipse.xtext.ui.editor.contentassist。

您可能會考慮使用Xtext重新定義您的語法,這將提供開箱即用的內容幫助。重複使用自定義語言的Antlr語法是不可能的。