ANTLR(全名:ANother Tool for Language Recognition)是基於LL(*)演演算法實現的語法解析器生成器(parser generator),用Java語言編寫,使用自上而下(top-down)的遞迴下降LL剖析器方法。由舊金山大學的Terence Parr博士等人於1989年開始發展。
antlr4 是一款強大的語法分析器生成工具,可用於讀取、處理、執行和翻譯結構化的文字或二進位制檔案。它被廣泛的應用於學術領域和工業生產實踐,是眾多語言、工具和框架的基石。Twitter 搜尋使用 antlr 進行語法分析,hadoop 生態系統中的 Hive、Pig、資料倉儲和分析系統所使用的語言都用到了 antlr,Lex Machina 將 antlr 用於分析法律文字,oracle 公司在 sql 開發者 IDE 和遷移工具中使用了 antlr,NetBeans 公司的 IDE 使用 antlr 來解析 c++,Hibernate 物件-關係對映框架 ORM 使用 antlr 來處理 HQL 語言。
https://www.antlr.org/download/antlr-4-12.0-complete.jar (這裡下載得是12版本的Antlr4)
因為Antlr4版本4.12使用的JDK最低使用11版本的,所以這裡我們下載JDK11,下載連結:https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html
JDK一般安裝在C:\Program Files\Java,新建資料夾:antlr,將antlr-4.12.0-complete.jar放入該資料夾中,如下圖:
新建antlr4.bat
輸入
@ECHO OFF
"C:\Program Files\Java\jdk-11.0.17\bin\java" -jar "%~dp0antlr-4.12.0-complete.jar"
儲存使用CMD執行下指令碼,檢視到如下圖則證明antlr可以正常工作
新建grun.bat,這個是Antlr4自帶的用來檢查自定義的語法樹是否正確的工具
輸入
@ECHO OFF
"C:\Program Files\Java\jdk-11.0.17\bin\java" -cp "%~dp0antlr-4.12.0-complete.jar" org.antlr.v4.gui.TestRig %*
儲存使用CMD執行下指令碼,檢視到如下圖則證明antlr工具可以正常工作
上述操作做完檔案目錄如下圖
設定好之後開啟CMD,輸入Java-version和Javac-version,驗證Java環境是否正確
這裡有的小夥伴輸入java-version可以執行,輸入javac-version不能執行,可以看下環境變數設定的是否正確,環境變數正確,可以重啟電腦,有時候環境變數重啟之後才會生效
到此,使用antlr4的環境就設定好了。接下來,就是學習使用antlr4。距離成功已經開啟了大門!!!