簡體   English   中英

在Eclipse Luna上設置ANTLR 4 IDE的麻煩(4.4)

[英]Trouble Setting Up ANTLR 4 IDE on Eclipse Luna (4.4)

我正在嘗試在Eclipse Luna(4.4)上安裝ANTLR 4 IDE 我已經從Marketplace安裝了它,但我不知道如何創建一個包含ANTLR 4 Lexer / Parser的項目。

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

我環顧了整個互聯網,找到了一些我拼湊在一起的資源,通過反復試驗找到了解決方案。 下面是我在一些機器上用於在Eclipse中安裝ANTLR 4 IDE的指南。 我想我應該在這里分享它並為其他人省去Google搜索數小時的麻煩(希望如此)

先決條件

  • Eclipse 4.4 Luna Xtext完整SDK(需要2.7.3版本)
  • Eclipse Faceted Project Framework(使用3.4.0測試)Eclipse Faceted
  • 項目框架JDT啟用(使用3.4.0測試)ANTLR 4 SDK A.
  • antlr-4.x-complete.jar的副本(撰寫本文時為4.5)

建立

  1. 安裝Eclipse
    1. https://www.eclipse.org/downloads/下載
  2. 安裝XText 2.7.3
    1. 轉到Help > Install New Software...
    2. Work With文本框中輸入http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
    3. 點擊Enter並等待列表加載(這將需要一些時間)
    4. 展開Xtext節點並檢查Xtext Complete SDK (確保版本為2.7.3x)
    5. 單擊“ Next ,同意EULA,然后單擊“完成”
    6. 讓安裝程序完成並重新啟動Eclipse
  3. 安裝Faceted Project Framework
    1. 轉到Help > Install New Software...
    2. Work With文本框中輸入http://download.eclipse.org/releases/luna
    3. 點擊Enter並等待列表加載(這將需要一些時間)
    4. 在過濾器文本框中輸入Facet
    5. 選擇Eclipse Faceted Project FrameworkEclipse Faceted Project Framework JDT Enablement
    6. 單擊“ Next ,同意EULA,然后單擊“完成”
    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-complete.jar的副本
    1. 這里下載文件
    2. 把它保存在你會記得的地方

創建ANTRL 4項目

我在這里找到了大部分這些信息,剩下的就是閱讀錯誤和猜測

  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 + z將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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM