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),对语法分析过程进行完全的掌控。   本书并非教科书,所有的讨论都是基于实例的,旨在令你巩固所学的知识,并提供语言类应用程序的基本范例。   本书的读者对象本书尤其适用于对数据读取器、语言解释器和翻译器感兴趣的开发者。虽然本书主要利用ANTLR来完成这些工作,你仍然可以学到很多有关词法分析器和语法分析器的知识。初学者和专家都需要本书来高效地使用ANTLR 4。如果希望学习第三部分中的高级特性,你需要先了解之前章节中的ANTLR基础知识。此外,读者还需要具备一定的Java功底。   Honey Badger版本ANTLR 4的版本代号是“Honey Badger”,这个名字来源于一段著名的YouTube短片The Crazy Nastyass Honey Badger(网址为:http://www.youtube.com/watch?v=4r7wHMg5Yjg)中的勇敢无畏的主角——一只蜜獾。它敢吃你给它的任何东西,根本不在乎那是什么!   ANTLR 4有哪些神奇之处ANTLR 4引入了一些新功能,降低了入门门槛,使得语法和语言类应用程序的开发更加容易。最重要的新特性在于,ANTLR 4几乎能够处理任何语法(除了间接左递归,稍后会提到)。在ANTLR将你的语法转换成可执行的、人类可读的语法分析代码的过程中,语法冲突或者歧义性警告不会再出现。   无论多复杂的语法,只要你提供给ANTLR自动生成的语法分析器的输入是合法的,该语法分析器就能够自动识别之。当然,你需要自行保证该语法能够准确地描述目标语言。   ANTLR语法分析器使用了一种名为自适应LL(*)或者ALL(*)(读作“all star”)的新技术,它是由我和Sam Harwell一起开发的。ALL(*)是ANTLR 3中的LL(*)的扩展,在实际生成的语法分析器执行前,它能够在运行时以动态方式对语法执行分析,而非先前的静态方式。由于ALL(*)语法分析器能够访问实际的输入文本,通过反复分析语法的方式,它最终能够决定如何识别输入文本。相比之下,静态分析必须考虑所有可行的(无限长的)输入序列。   在实践中,拥有ALL(*)意味着你无须像在其他语法分析器生成工具(包括ANTLR 3)中那样,扭曲语法以适应底层的语法分析策略。如果你曾经为ANTLR 3的歧义性警告和yacc的归约/归约冲突(reduce/reduce conflict)而抓狂,ANTLR 4就是你的不二之选!   另外一个强大的新功能是ANTLR 4极大地简化了匹配某些句法结构(如编程语言中的算术表达式)所需的语法规则。长久以来,处理表达式都是ANTLR语法(以及手工编写的递归下降语法分析器)的难题。识别表达式最自然的语法对于传统的自顶向下的语法分析器生成器(如ANTLR 3)是无效的。现在,利用ANTLR 4,你可以通过如下规则匹配表达式:   类
2021-05-28 12:49:30 6.16MB antlr4
1
antlr4权威指南,适合想要构建自己的语言的同学,使用antlr4构建更方便
2021-05-28 12:40:54 158.42MB antlr 领域语言
1
WebRTC权威指南全方位深入解读标准的方方面面,阐释WebRTC相关概念、技术及最佳实践,本书的新内容体现在增强的演示应用程序,它展示了如何实现浏览器之间直接发送实时文本的数据通道功能。此外,还涉及浏览器媒体协商过程中的完整描述(Firefox和Chrome的SDP会话描述),如何使用Wireshark来监控WebRTC协议的注意事项以及例子捕捉。另外,支持NAT和防火墙穿透的TURN服务器也是本版新加入的内容。 本书循序渐进地介绍了WebRTC,阐述了诸如本地媒体、信令等概念,并通过独立可运行的演示程序来介绍对等连接。书中给出了大量示例代码、各类数据和图表。
2021-05-27 11:44:10 86.28MB webrtc pdf
1
压缩文件包括CSS权威指南 第3版.pdf、HTML5 与 CSS3 设计模式.pdf。
2021-05-26 14:42:28 104.7MB css html5
1
Hadoop权威指南.大数据的存储与分析.第4版.修订版&升级版.Tom White.清华大学出版社.pdf
2021-05-26 11:37:59 184.48MB hadoop
1
ARM Cortex-M3与Cortex-M4权威指南 ARM Cortex-M3与Cortex-M4权威指南 中文的
2021-05-24 14:58:09 109.79MB Cortex M3 M4
1
随着The Data Warehouse Toolkit(1996)第1版的出版发行,Ralph Kimball为整个行业引入了维度建模技术。从此,维度建模成为一种被广泛接受的表达数据仓库和商业智能(DW/BI)系统中数据的方法。该经典书籍被认为是维度建模技术、模式和最佳实践的权威资源。这本《数据仓库工具箱(第3版)——维度建模权威指南》汇集了到目前为止最全面的维度建模技术。本书采用新的思路和最佳实践对上一版本进行了全面修订,给出了设计维度模型的全面指南,既适合数据仓库新手,也适合经验丰富的专业人员。
2021-05-22 21:11:59 113.83MB 数据仓库
1
本书重点介绍了新的ARM架构、指令集的总结、硬件特性以及调试系统的概览。本书还提供了一些程序示例,并且在其中讲解了使用GNU工具链与ARM工具的基本方法与步骤。主要内容包括:ARM架构的背景、Cortex?M3入门、操作模式、异常与中断、汇编语言基础、存储器系统、Cortex?M3上的汇编与C编程、开发流程、电源管理、多处理机通信、开发工具、调试、Keil RealView MDK使用入门等。随书附光盘1张,内含ARM Cortex?M3相关文章及Keil RealView MDK评估软件等。 本书适用于使用ARM Cortex?M3微控制器的研发人员作为技术、编程参考,也可作为Cortex?M3微控制器教学或培训用教材。
2021-05-21 14:44:14 5.01MB ARM Cortex-M3 指南
1
IDA Pro 权威指南(第二版) (高清,带标签)
2021-05-20 15:34:25 6.76MB IDA IDA Pro 权威指南
1
Elastic官方权威指南
2021-05-20 13:00:30 4.31MB ELK elasticsearch Java