ANTLR (另一種語言辨識工具)是一個功能強大的解析器產生器,用於讀取、處理、執行或翻譯結構化文字或二進位。它廣泛用於建構語言、工具和框架。 ANTLR 根據語法產生一個解析器,該解析器可以建立解析樹,並產生一個偵聽器介面(或訪客),以便輕鬆回應感興趣短語的識別。
Dev分支建構狀態
(github 行動)
ANTLR 4 支援 10 種目標語言(Cpp、CSharp、Dart、Java、JavaScript、PHP、Python3、Swift、TypeScript、Go),確保這些目標之間的一致性是一項獨特且非常有價值的功能。為了確保正確支援此功能,ANTLR 的每個版本都是該工具和 10 個運行時的完整版本,全部具有相同的版本。因此,ANTLR 版本控制並不嚴格遵循 semver 語義:
如果您在 CI 中使用 semver 驗證器,您可能想要對 ANTLR 套用特殊規則,例如將較小的變更視為主要變更。
此儲存庫的預設分支是master
,它是最新的穩定版本,並且具有各個版本的標籤;例如,請參閱發布標籤 4.9.3。分支dev
是在版本之間進行開發的地方,所有拉取請求都應該從該分支派生。 dev
分支合併回master
以剪切發布,並且發布狀態被標記(例如,使用4.10-rc1
或4.10
。)從視覺上看,我們的流程大致如下:
Go 目標現在有自己的專用儲存庫:
$ go get github.com/antlr4-go/antlr
注意專用的 Go 儲存庫僅用於go get
和import
。 Go 運行時開發仍然在主antlr/antlr4
儲存庫中進行。
您可能還會發現以下頁面很有用,特別是如果您想嘗試各種目標語言。
程式設計師總是會遇到解析問題。無論是像 JSON 這樣的資料格式、像 SMTP 這樣的網路協定、Apache 伺服器設定檔、PostScript/PDF 文件,還是簡單的電子表格巨集語言——ANTLR v4 和本書都將揭開這個過程的神秘面紗。 ANTLR v4 從頭開始重寫,讓建置解析器和建置在其上的語言應用程式變得比以往更容易。這本完全重寫的暢銷書權威 ANTLR 參考的新版本向您展示瞭如何利用這些新功能。
您可以在亞馬遜購買《The Definitive ANTLR 4 Reference》一書,也可以在出版商的網站上購買電子版。
您會發現本書的原始碼很有用。
這個儲存庫是沒有操作的語法集合,其中根目錄名稱是語法解析的語言的全小寫名稱。例如java、cpp、csharp、c等...