我想創建一種語言的IDE,我想知道如何實現一些功能。特別是語法突出顯示和內容幫助是令人煩惱的,因爲即使編輯器內容無效(當用戶鍵入語法時,hightlight不應該因爲解析器失敗而不會消失),它們仍然必須工作。如何實現內容輔助/語法突出顯示?
我想知道如何解決這個問題(以及其他問題)。我發現這個:How does code completion work?與解決這個問題的描述,但它是相當簡短的。
我可以想出一種方法來實現我想要的所有功能,但我不是第一個,有人已經完成了它;)(閱讀Eclipse的源代碼並不那麼容易)
所以,我真正的問題是有一本書討論與創建IDE相關的問題?討論如何解析無效代碼的詳細文章?我應該看到的任何信息來源?
啊,通過IDE我不是指新的應用程序,只是一組用於eclipse的插件。
語法突出顯示可以通過正則表達式解析(emacs始終)。然而,適當的「intellisense」式支持需要一個適當的解析/增量編譯階段,其中至少確定表達式的類型。至少可以說,這不是一項簡單的任務。 – 2012-03-31 01:45:40
我知道我需要解析代碼。無論如何,我會需要它來顯示調用層次結構/類型層次結構/在類型之間導航/支持重構。但我很想閱讀在這方面有經驗的人的見解(最好是廣泛的,例如一本書)。 – mabn 2012-03-31 02:08:08