《antlr4 权威指南》笔记--第1章 初识ANTLR

前言

ANTLR是一款强大的语法分析器生成工具,可用于读取、处理、执行和翻译结构化的文本或二进制文件。它被广泛应用于学术领域和工业生产实践,是众多语言、工具和框架的基石。Twitter搜索使用ANTLR进行语法分析,每天处理超过20亿次查询;Hadoop生态系统中的Hive、Pig、数据仓库和分析系统所使用的语言都用到了ANTLR; Lex Machinal山)将 ANTLR用于分析法律文本;Orade公司在SQL开发者1DE和迁移工具中使用了 ANTLR;NetBeans 公司的IDE使用ANTLR来解析C++;Hibernate对 象-关系映射框架 (ORM)使用ANTLR来处理HQL语言。
除了这些鼎鼎大名的项目之外,还可以利用ANTLR构建各种各样的实用工具,如配置文件读取器、遗留代码转换器、维基文本渲染器,以及JSON解析器。我编写了一些工具,用于创建数据库的对象-关系映射、描述三维可视化以及在Java源代码中插入性能监控代码。

一门语言的正式描述称为语法 (grammar),ANTLR能够为该语[言生成一个语法分析器,并自动建立语法分析树-一种描述语法与输入文本匹配关系的数据结构。ANTLR也能够自动生成树的遍历器,这样你就可以访问树中的节点,执行自定义的业务還辑代码。本书既是ANTLR 4的参考手册,也是解决语言识别问题的指南。

除了上述两项与语法相关的改进,ANTLR 4还使得编写语言类应用程序更加容易。ANTLR生成的语法分析器能够自动建立名为语法分析树 (parse tree)的视图,其他程序可以遍历此树,井在所需处理的结构处触发回调函数。在先前的ANTLR 3中,用户需要补充语法来创建树。除了自动建立树结构之外,ANTLR 4还能自动生成语法分析树遍历器的实现:监听器 (listener) 或者访问器 (visitor)。监听器与在XML文档的解析过程中响应SAX事件的处理器相似。

note: 使用软件设计的访问者模式就可以实现对语法树的访问。

第1章 初识ANTLR

小demo

在这里插入图片描述

针对hello parrt 用语法Hello 和规则r来识别
在这里插入图片描述

**每行输出代表了一个词法符号,其中包含了该词法符号的全部信息。**例如,[@1, 6: 10='parrt',<2>,1:6]表明,这个词法符号位于第二个位置(从0开始计数),由输入文本的第6个到第10个位置之间的字符组成(包含第6个和第10个,同样人0开始计数),;包含的文本内容是parrt;词法符号类型是2 (即1D);位于输入文本的第一行、第6个位置处 (从0开始计数,tab符号被看作一个字符)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值