【问题标题】:Basic ANTLR Concepts基本的 ANTLR 概念
【发布时间】:2011-09-16 17:53:06
【问题描述】:

我是 ANTLR 的新手,想澄清一些基本概念。

  1. 解析器是否从词法分析器接收令牌流?如果是,隐藏通道概念如何适应此 Token 流?这是否意味着对于流中的每个标记,它都有一个属性来显示它属于哪个频道?

  2. 我想访问隐藏的通道标记(空白或 cmets),也就是说,在解析器中我自己的标记之前。我想我必须明确地写一些代码。是通过org.antlr.runtime.TokenStream.get()吗?应该给它什么参数值?

【问题讨论】:

    标签: antlr


    【解决方案1】:

    JavaMan 写道:

    解析器是否从词法分析器接收到 Token 流?

    TokenStream 包裹在词法分析器周围。默认情况下,Parser 会根据需要“轮询”此流以获取令牌(即输入不是一次性标记化的,而是被缓冲的)。

    JavaMan 写道:

    如果是,隐藏通道概念如何适应此 Token 流?这是否意味着对于流中的每个令牌,它都有一个显示它属于哪个频道的属性?

    默认的TokenStream 只会生成放置在DEFAULT 频道上的令牌。但是,您可以在解析期间更改频道(或从多个频道读取)[1]。

    JavaMan 写道:

    我想访问隐藏的通道标记(空格或 cmets),也就是说,在解析器中我自己的标记之前。我想我必须对其进行显式编码。

    正确,参见 [1]。



    [1]How do I get an Antlr Parser rule to read from both default AND hidden channel

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-19
      • 1970-01-01
      • 2016-07-06
      • 1970-01-01
      • 2013-12-08
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多