JavaCC 实战一:安装与入门示例

在这里插入图片描述

Java Compiler Compiler (JavaCC) 是 Java 应用程序最流行的一种解析器生成器。解析器生成器是一种可以读取语法规范并将其转换为能够识别与匹配语法规范的一段 Java 程序。除了解析器生成器本身,JavaCC 还提供了与解析器生成相关的其他功能,例如树构建(通过 JavaCC 附带的 JJTree 工具)、操作和调试。一旦生成 JavaCC 解析器,运行它只需要 Java 运行时环境(JRE)。

1. 特性

  • JavaCC 生成的是自顶向下(递归下降)的解析器,而不是像由 YACC 类似工具生成的自底向上的解析器。尽管不允许左递归,但是这样可以使用更通用的语法。自顶向下解析器还有许多其他优点(除了更通用的语法之外),比如更容易调试,能够解析语法中的任何非终结符,还能够在解析期间在解析树中上下传递值(属性)。
  • 默认情况下,JavaCC 生成一个 LL(1) 解析器。然而,可能有一部分语法不是 LL(1)。JavaCC 提供了语法和语义前瞻性的功能,可以在这些点上解决本地的移位歧义。例如,解析器仅在这些点上是 LL(k),但在其他地方保持 LL(1) 以获得更好的性能。对于自顶向下的解析器来说,Shift-reduce 和 reduce-reduce 冲突不是问题。
  • JavaCC 生成 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@SmartSi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值