2015-05-08 28 views
13

我試圖在Eclipse Luna(4.4)上安裝ANTLR 4 IDE。我從市場上安裝了它,但我不知道如何創建一個項目,其中包含ANTLR 4 Lexer/Parser。在Eclipse Luna上設置ANTLR 4 IDE時出錯(4.4)

當我去創建一個新項目時,我沒有看到ANTLR 4的任何選項。我嘗試創建一個.g4文件,並在編輯器中打開,但是當我保存它時什麼也不做。

回答

27

我環顧了整個互聯網,發現了一些我拼湊在一起的資源,並通過反覆試驗找到了解決方案。 下面是我在幾臺機器上用來在Eclipse中獲得ANTLR 4 IDE設置的指南。我想我應該在這裏分享和拯救別人的谷歌搜索小時(希望)的麻煩

先決條件

  • 的Eclipse 4.4月神的Xtext提供完整的SDK(需要是2.7.3版本)
  • Eclipse的刻面項目框架(與3.4.0測試)的Eclipse切割面
  • 項目框架JDT啓用(與3.4.0測試)ANTLR 4 SDK甲
  • 的ANTLR-4.x的-complete.jar的副本(4.5在寫作時G)

設置

  1. 安裝Eclipse
    1. 下載它從https://www.eclipse.org/downloads/
  2. 安裝XTEXT 2.7.3
    1. 轉到Help > Install New Software...
    2. Work With文本
    3. 按下回車鍵http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/輸入並等待列表加載(這將需要一些時間)
    4. 展開Xtext節點,並檢查Xtext Complete SDK(確保版本是2.7。3X)
    5. 點擊Next,同意EULA,然後單擊Finish
    6. 讓安裝完成並重新啓動Eclipse
  3. 安裝多面項目框架
    1. 轉到Help > Install New Software...
    2. 在輸入http://download.eclipse.org/releases/lunaWork With textbox
    3. 按回車並等待列表加載(這將需要一些時間)
    4. 在過濾文本框中輸入Facet
    5. 選擇Eclipse Faceted Project FrameworkEclipse Faceted Project Framework JDT Enablement
    6. 點擊Next,同意EULA,然後單擊Finish
    7. 讓安裝完成並重新啓動Eclipse
  4. 安裝ANTLR 4個IDE
    1. 轉至Help > Eclipse Marketplace...
    2. 搜索antlr
    3. 選擇ANTLR 4 IDE(確保它的ANTLR 4個IDE不ANTLR IDE)
    4. 單擊安裝
    5. 讓安裝完成點擊確定,如果它提示並重新啓動Eclipse
  5. 獲取ANTLR-4的副本。 X-完成。罐子
    1. here
    2. 下載文件保存到某個地方,你會記得

創建ANTRL 4項目

我發現大部分信息here,其餘正在讀取錯誤和猜測

  1. 轉到File > New Project > Project
  2. 展開General Tab並選擇ANTLR 4 Project(如果您沒有看到這個看到設置的步驟4)
  3. 點擊Next,給項目的名稱,然後單擊Finish
  4. 一旦項目完成右鍵單擊該項目,並單擊Properties
  5. 轉到Project Facets並單擊Convert to faceted form...(如果您沒有看到這個看到設置的步驟3)
  6. 檢查Java項目方面並單擊Apply(如果您沒有看到這個看到設置的步驟3)
  7. 點擊OK,讓解決方案重建,再次打開屬性
  8. 轉到Java Build Path,點擊Source標籤
  9. 點擊Add Folder...和檢查Project > target > generated-sources > antlr4,單擊OK
  10. 點擊Libraries標籤
  11. Add External JARs...,找到你的antlr-4.x-complete.jar副本,單擊Open
  12. 轉到ANTLR 4 > Tool,單擊Apply如果彈出出現
  13. 檢查Enable project specific settings
  14. 點擊Add,找到你的antlr-4.x-complete.jar副本,單擊Open
  15. 檢查4.x
  16. 點擊Apply,單擊Yes重建,單擊OK退出物業

測試

用下面的代碼創建一個新類並嘗試運行。在控制檯寫Hello there按Ctrl + ž發送EOF輸入流

import org.antlr.v4.runtime.*; 
import org.antlr.v4.runtime.tree.*; 
public class HelloRunner 
{ 
    public static void main(String[] args) throws Exception 
    { 

     ANTLRInputStream input = new ANTLRInputStream(System.in); 

     HelloLexer lexer = new HelloLexer(input); 

     CommonTokenStream tokens = new CommonTokenStream(lexer); 

     HelloParser parser = new HelloParser(tokens); 
     ParseTree tree = parser.r(); // begin parsing at rule 'r' 
     System.out.println(tree.toStringTree(parser)); // print LISP-style tree 
    } 
} 

注意

  1. 如果你看到一個錯誤,當你試圖進入ANTLR 4 > Tool檢查Xtext版本,2.8。0會導致錯誤的工具窗口
  2. 在步驟8,如果你改變了目錄,ANTLR產生它的來源使用目錄
  3. 如果您發現您已經添加到ANTLR 4 > Tool > Distributions的ANTLR的版本中消失,這似乎沒問題

    • 檢查您的構建輸出以查看它正在使用的工具,它應該仍然使用您添加的JAR,即使它消失了。這就是我的樣子:使用

    ANTLR Tool v4.5 (C:\JavaLib\antlr-4.5-complete.jar) Hello.g4 -o C:\Users\username\workspace\project\target\generated-sources\antlr4 -listener -no-visitor -encoding UTF-8

+0

最新XTEXT(2.8.2)將不會導致錯誤。 – CoronA

+0

這就是我讀的,但我很確定我有2.8.2,它導致設置菜單中的問題,但在其他地方工作 –

+0

我有2.8.0,它失敗了,更新到2.8.2,它的工作。 – CoronA