2012-05-28 46 views
2

我很快就會被迫在Haskell中展示一個應該讓Java語法突出顯示的項目。我做了一些研究,發現Happy可能是一個解決方案(因爲它是一個類似yacc的解析器)。還有人提到了Bison和Parsec。 因爲我是Haskell的新手,所以我真的不知道如何開始這個項目。 任何提示都會有所幫助。如何在Haskell中爲Java進行語法高亮顯示?

謝謝!

回答

2

由於我在Haskell是新的,我真的沒有任何想法如何開始這個項目

啊,這是真實的問題。要開始學習Haskell,我經常推薦Learn You a Haskell,它可以免費在線閱讀。我推薦的其他優質資源包括Real World Haskell(稍微過時但仍然不錯)和Typeclassopedia

爲了應對包的建議,您首先要安裝Haskell Platform,然後你可以用以下命令來安裝一個給定的包:

cabal install PACKAGE 

當心,雖然Haskell是在一個非常感人速度快,所以一些軟件包彼此不兼容。 Cabal應該阻止你做任何太愚蠢的事情,但如果最終導致軟件包之間的依賴關係混亂,請向the #haskell irc channel尋求幫助。您可以通過在軟件包概覽頁面上單擊其名稱來查看給定模塊的文檔。如果軟件包不在http://hackage.haskell.org上,請聯繫店主或者尋求IRC幫助,他們會幫助您生成文檔並進行安裝。

我不知道語法突出顯示算法是如何工作的,所以我會留下那部分讓你自己去研究。如果您可以重用現有工作,那麼您可能會使用language-java包(如Louis所建議的)將原始文本解析爲Java的抽象語法樹,然後由您將該語法樹轉換爲無論您需要製作彩色格式。

在爲任何一種方法投入大量時間之前,您應該諮詢誰需要執行此任務的人員,以確保其可接受。

1

快速搜索Hackage返回language-java。你可能會以某種方式調整它的漂亮打印機。

2

高效的語法高亮顯示在Haskell庫,使用亞歷產生的詞法分析器 - https://github.com/jgm/illuminate

+0

有誰知道如何解決「無法找到模塊'System.Posix.Temp'」錯誤。我在試圖安裝照明時收到了這個消息 – Antonio

相關問題