【发布时间】:2017-05-23 05:17:43
【问题描述】:
如何在 Antlr 3 解析器中获取之前的令牌?实际上我可以通过使用“input.LT(-1)”轻松获得它。但我不想使用前瞻。那么有没有其他方法可以在解析器中获取前一个令牌?
【问题讨论】:
-
回避
LT(-1)的原因是什么?只要您想要在当前匹配的之前的前一个令牌,这是标准方式,并且被 ANTLR 完全支持。我知道你不能在哪里使用它的唯一情况是,如果你想在某个给定的任意令牌(不是实际匹配的那个)之前知道前一个令牌。