ANTLR 4權威指南

ANTLR 4權威指南 pdf epub mobi txt 電子書 下載 2025

Terence Parr
圖書標籤:
想要找書就要到 靜思書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
第一部分 ANTLR和計算機語言簡介
第1章 初識ANTLR
1.1 安裝ANTLR
1.2 運行ANTLR並測試識彆程序
第2章 縱觀全局
2.1 從ANTLR元語言開始
2.2 實現一個語法分析器
2.3 你再也不能往核反應堆多加水瞭
2.4 使用語法分析樹來構建語言類應用程序
2.5 語法分析樹監聽器和訪問器
第3章 入門的ANTLR項目
3.1 ANTLR工具、運行庫以及自動生成的代碼
3.2 測試生成的語法分析器
3.3 將生成的語法分析器與Java程序集成
3.4 構建一個語言類應用程序
第4章 快速指南
4.1 匹配算術錶達式的語言
4.2 利用訪問器構建一個計算器
4.3 利用監聽器構建一個翻譯程序
4.4 定製語法分析過程
4.5 神奇的詞法分析特性
第二部分 使用ANTLR語法開發語言類應用程序
第5章 設計語法
5.1 從編程語言的範例代碼中提取語法
5.2 以現有的語法規範為指南
5.3 使用ANTLR語法識彆常見的語言模式
5.4 處理優先級、左遞歸和結閤性
5.5 識彆常見的詞法結構
5.6 劃定詞法分析器和語法分析器的界綫
第6章 探索真實的語法世界
6.1 解析CSV文件
6.2 解析JSON
6.3 解析DOT語言
6.4 解析Cymbol語言
6.5 解析R語言
第7章 將語法和程序的邏輯代碼解耦
7.1 從內嵌動作到監聽器的演進
7.2 使用語法分析樹監聽器編寫程序
7.3 使用訪問器編寫程序
7.4 標記備選分支以獲取精確的事件方法
7.5 在事件方法中共享信息
第8章 構建真實的語言類應用程序
8.1 加載CSV數據
8.2 將JSON翻譯成XML
8.3 生成調用圖
8.4 驗證程序中符號的使用
第三部分 高級特性
第9章 錯誤報告與恢復
9.1 錯誤處理入門
9.2 修改和轉發ANTLR的錯誤消息
9.3 自動錯誤恢復機製
9.4 勘誤備選分支
9.5 修改ANTLR的錯誤處理策略
第10章 屬性和動作
10.1 使用帶動作的語法編寫一個計算器
10.2 訪問詞法符號和規則的屬性
10.3 識彆關鍵字不固定的語言
第11章 使用語義判定修改語法分析過程
11.1 識彆編程語言的多種方言
11.2 關閉詞法符號
11.3 識彆歧義性文本
第12章 掌握詞法分析的“黑魔法”
12.1 將詞法符號送入不同通道
12.2 上下文相關的詞法問題
12.3 字符流中的孤島
12.4 對XML進行語法分析和詞法分析
第四部分 ANTLR參考文檔
第13章 探究運行時API
13.1 包結構概覽
13.2 識彆器
13.3 輸入字符流和詞法符號流
13.4 詞法符號和詞法符號工廠
13.5 語法分析樹
13.6 錯誤監聽器和監聽策略
13.7 提高語法分析器的速度
13.8 無緩衝的字符流和詞法符號流
13.9 修改ANTLR的代碼生成機製
第14章 移除直接左遞歸
14.1 直接左遞歸備選分支模式
14.2 左遞歸規則轉換
第15章 語法參考
15.1 語法詞匯錶
15.2 語法結構
15.3 文法規則
15.4 動作和屬性
15.5 詞法規則
15.6 通配符與非貪婪子規則
15.7 語義判定
15.8 選項
15.9 ANTLR命令行參數
參考文獻
· · · · · · (收起)

具體描述

ANTLR是一款強大的語法分析器生成工具,可用於讀取、處理、執行和翻譯結構化的文本或二進製文件。它被廣泛應用於學術領域和工業生産實踐,是眾多語言、工具和框架的基石。Twitter搜索使用ANTLR進行語法分析,每天處理超過20億次查詢;Hadoop生態係統中的Hive、Pig、數據倉庫和分析係統所使用的語言都用到瞭ANTLR;Lex Machina將ANTLR用於分析法律文本;Oracle公司在SQL開發者IDE和遷移工具中使用瞭ANTLR;NetBeans公司的IDE使用ANTLR來解析C++;Hibernate對象-關係映射框架(ORM)使用ANTLR來處理HQL語言。

除瞭這些鼎鼎大名的項目之外,還可以利用ANTLR構建各種各樣的實用工具,如配置文件讀取器、遺留代碼轉換器、維基文本渲染器,以及JSON解析器。我編寫瞭一些工具,用於創建數據庫的對象-關係映射、描述三維可視化以及在Java源代碼中插入性能監控代碼。我甚至為一次演講編寫瞭一個簡單的DNA模式匹配程序。

一門語言的正式描述稱為語法(grammar),ANTLR能夠為該語言生成一個語法分析器,並自動建立語法分析樹——一種描述語法與輸入文本匹配關係的數據結構。ANTLR也能夠自動生成樹的遍曆器,這樣你就可以訪問樹中的節點,執行自定義的業務邏輯代碼。

本書既是ANTLR 4的參考手冊,也是解決語言識彆問題的指南。你會學到如下知識:

識彆語言樣例和參考手冊中的語法模式,從而編寫自定義的語法。

循序漸進地為從簡單的JSON到復雜的R語言編寫語法。同時還能學會解決XML和Python中棘手的識彆問題。

基於語法,通過遍曆自動生成的語法分析樹,實現自己的語言類應用程序。

在特定的應用領域中,自定義識彆過程的錯誤處理機製和錯誤報告機製。

通過在語法中嵌入Java動作(action),對語法分析過程進行完全的掌控。

本書並非教科書,所有的討論都是基於實例的,旨在令你鞏固所學的知識,並提供語言類應用程序的基本範例。

用戶評價

評分

##隻看瞭第一部分,很詳細,也非常實用,後續有需求再深入後麵兩部分

評分

##放棄????????????

評分

##ANTLR4框架設計麵嚮的場景很寬。 書的章節結構設計由淺入深、由精到廣。 書的中文翻譯不錯。

評分

##畢設參考書籍

評分

##放棄????????????

評分

##介紹Antlr的好書,裏麵內容稍微有點過時,但不影響理解和閱讀。一些內容需要比較紮實的編譯原理,雖然不是特彆理解,不過跟著裏麵的例子實現還是能有不少收獲。接下來看《編程語言實現模式》,看完之後再看一遍這本手冊應該會有更深的理解。

評分

antlr4好重

評分

##有瞭成熟、現代的Antlr,能在實際業務中做到實操上手應用。比起lex、yacc,Antlr工程化做得太好瞭!

評分

##學習成本和使用成本倒是很低,或許內部算法真的牛逼,但具體比其他的語法分析器好在哪我也說不上來,主要是用的太少,目前就過Coco/R,但還沒捂熱項目就涼瞭。 這次有個需求是從一堆類似SQL的語句中找齣哪些語句是非常類似的,嘗試過用python抽取lemma,然後算每兩個語句的共同lemma的交集所占全集比例,但這種結果對於找齣兩條完全一樣的語句不是特彆可靠,還是得分析齣錶達式樹,希望antlr能給我帶來好的結果吧。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有