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),對語法分析過程進行完全的掌控。

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

用户评价

评分

##读完这本书,能够实现几个简单的案例demo,也算是入门了

评分

##实践出真知,适合践行《编程语言实现模式》。译者翻译较为用心。

评分

##有了成熟、现代的Antlr,能在实际业务中做到实操上手应用。比起lex、yacc,Antlr工程化做得太好了!

评分

##学习成本和使用成本倒是很低,或许内部算法真的牛逼,但具体比其他的语法分析器好在哪我也说不上来,主要是用的太少,目前就过Coco/R,但还没捂热项目就凉了。 这次有个需求是从一堆类似SQL的语句中找出哪些语句是非常类似的,尝试过用python抽取lemma,然后算每两个语句的共同lemma的交集所占全集比例,但这种结果对于找出两条完全一样的语句不是特别可靠,还是得分析出表达式树,希望antlr能给我带来好的结果吧。

评分

##确实nb,好工具

评分

##放弃????????????

评分

##系统的介绍了antlr的知识点并附带代码,对照看超级棒????

评分

##读的是英文版,有空再读一下中文版

评分

##只看了第一部分,很详细,也非常实用,后续有需求再深入后面两部分

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有