《ANTLR 4权威指南》——导读
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),对语法分析过程进行完全的掌控。
本书并非教科书,所有的讨论都是基于实例的,旨在令你巩固所学的知识,并提供语言类应用程序的基本范例。
目 录
[第1章 初识ANTLR
1.1 安装ANTLR ](https://yq.aliyun.com/articles/119317/)
1.2 运行ANTLR并测试识别程序
[第2章 纵观全局
2.1 从ANTLR元语言开始 ](https://yq.aliyun.com/articles/119325/)
2.2 实现一个语法分析器
2.3 你再也不能往核反应堆多加水了
2.4 使用语法分析树来构建语言类应用程序
2.5 语法分析树监听器和访问器
[第3章 入门的ANTLR项目
3.1 ANTLR工具、运行库以及自动生成的代码 ](https://yq.aliyun.com/articles/119347/)
3.2 测试生成的语法分析器
3.3 将生成的语法分析器与Java程序集成
3.4 构建一个语言类应用程序
ANTLR 4|认识ANATLR 用ANTLR实现数据加载器、语言解释器、语言翻译器。基于自动生成的语法分析树解析文件。简单来说就是,ANTLR根据用户自定义的语法文件自动生成词法分析器和语法分析器,并将输入文本处理为语法分析树(可视化)。ANTLR 是一款强大的语法分析器生成工具,可用于读取、处理、执行和翻译结构化的文本或二进制文件。
《ANTLR 4权威指南 》一2.3 你再也不能往核反应堆多加水了 歧义性语句是指存在不止一种语义的语句。换句话说,歧义性语句中的单词序列能够匹配多种语法结构。本节的标题“你再也不能往核反应堆多加水了”就是我在几年前的《周六夜现场》中看到的一个有歧义的句子。这句话让人不确定,是已经无法往核反应堆多加水了,还是不应该往核反应堆多加水。
《ANTLR 4权威指南》——导读 本节书摘来自华章社区《ANTLR 4权威指南》一书中的目录,作者[美] 特恩斯·帕尔(Terence Parr),更多章节内容可以访问云栖社区“华章社区”公众号查看
《ANTLR 4权威指南 》一导读 ANTLR是一款强大的语法分析器生成工具,可用于读取、处理、执行和翻译结构化的文本或二进制文件。它被广泛应用于学术领域和工业生产实践,是众多语言、工具和框架的基石。
相关文章
- 《ELK Stack权威指南 》导读
- Linux 日志管理指南
- 《ELK Stack权威指南(第2版)》一导读
- 《Access 2007开发指南(修订版)》一一2.6 至关重要的主键
- 《Haskell趣学指南》——导读
- 《Docker生产环境实践指南》——2.5 部署
- 《jQuery UI 开发指南》——导读
- 《Android 应用测试指南》——导读
- 《Cucumber:行为驱动开发指南》——导读
- 《妙手回春:网站可用性测试及优化指南(修订版)》一第1章 您看到周围有大象吗?
- 《iOS 8开发指南(第2版)》——导读
- 《敏捷迭代开发:管理者指南》—第2章2.10节渐进交付
- 《Swift 权威指南》——导读
- 《BeagleBone开发指南》——导读
- 《智能路由器开发指南》——导读
- 《黑客秘笈——渗透测试实用指南(第2版)》目录—导读
- 《Arduino开发实战指南:LabVIEW卷》——导读
- 《 FreeSWITCH权威指南》—— 导读
- 《OpenGL ES应用开发实践指南:Android卷》—— 导读
- 《区块链开发指南》一一1.4 脚本系统
- 《CUDA C编程权威指南》——导读
- 《日志管理与分析权威指南》一导读
- 《Arduino开发实战指南:机器人卷》一导读
- 《Python数据科学实践指南》——导读
- 《Puppet权威指南》——导读
- uniapp微信APP支付踩坑指南:报错errMsg: "requestPayment:fail errors"
- 【正点原子FPGA连载】第六章自定义IP核-呼吸灯实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南