ANTLR4的IntelliJ插件安裝及示例Hello.g4


Download:
https://plugins.jetbrains.com/plugin/7358-antlr-v4-grammar-plugin
或者從這里http://www.antlr.org/tools.html進入下載。

前提
安裝好
- jdk
- IntelliJ

配置好ANTLR的java運行時環境(庫)。具體見這里

插件安裝

 

Hello.g4示例
在IntelliJ中新建java項目(即一個Module),並創建grammar文件Hello.g4 。代碼如下:

//Define a grammar called Hello
grammar Hello;
r : 'hello' ID; // match keyword hello followed by an identifier
ID : [a-z]+; // match lower-case identifiers
WS : [ \t\r\n]+ -> skip; // skip spaces, tabs, newlines


IntelliJ 中的Project相當於eclipse中的workspace;
而IntelliJ中的Module相當於eclipse中的project。
因此,我們創建項目時只需在當前Project中創建一個新的Module項目(File -> New -> Module)。

編輯好該.g4文件后即可測試該grammar規則。在rule “r”處選中“r”並右擊鼠標后,點擊“Test Rule r”,如下圖。然后在左下方便可以輸入“hello name”,在右下方框中便會顯示對應的Parse tree。

 

Hello.g4的ANTLR代碼生成配置
注意:IntelliJ中的ANTLR插件指定了antlr的運行時庫的版本為最新版本(此處即為ANTLR4 4.7版本)

右擊項目中剛剛創建的Hello.g4文件,點擊“Configure ANTLR…”,然后便會彈出如下圖所示窗口。

 

在該窗口中便可以對從grammar自動生成對應的ANTLR API的java代碼進行配置。
其中,“Output directory where all output is generated”表示指定隨后生成的java代碼所存放的路徑。
“generate parse tree vistor”表示生成ANTLR中用於遍歷parse tree的visitor類相關API。(我這里勾選上了,萬一要”實現”了呢^_^)

Hello.g4的ANTLR代碼生成
如下圖所示,在項目中選中Hello.g4文件並右擊選擇“Generate ANTLR Recognizer”。隨后便會在app目錄下看到生成的各種.java 文件等。(上一步配置中我們設置了代碼生成的目標路徑為app目錄)

 

生成了這些API后,我們就可以通過調用API實現相應的功能了。

---------------------------------------------------------
參考:

https://blog.csdn.net/yuexiang321/article/details/52770283

https://www.cnblogs.com/clonen/p/9083359.html

https://blog.csdn.net/dc_726/article/details/45399371

https://www.cnblogs.com/sld666666/p/6145854.html

https://blog.csdn.net/yangguosb/article/details/86007195

https://blog.csdn.net/yuexiang321/article/details/52770283

https://liangshuang.name/2017/08/20/antlr/

http://yijun1171.github.io/2015/03/30/ANTLR4學習筆記-語法字典-Grammar-Lexicon/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM