【问题标题】:ANTLR: exclude (skip) tokens when building AST treeANTLR:构建 AST 树时排除(跳过)标记
【发布时间】:2019-08-09 15:02:01
【问题描述】:

给定以下语法(在 ANTLR v3 中):

test : value0 COMMA_KEYWORD value1 (COMMA_KEYWORD value2)*;

我们如何从 ANTLR 构建的 AST 树中排除(跳过)COMMA_KEYWORD(并且不使用写入规则)?

【问题讨论】:

    标签: antlr antlr3


    【解决方案1】:

    使用重写规则的替代方法是使用树构造操作符

    https://theantlrguy.atlassian.net/wiki/spaces/ANTLR3/pages/2687090/Tree+construction

    您可以使用! 运算符从 AST 中省略标记或子树:

    test : value0 COMMA_KEYWORD! value1 (COMMA_KEYWORD! value2)*;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多