代码之家  ›  专栏  ›  技术社区  ›  g7s

antlr4令牌流或解析树重写

  •  0
  • g7s  · 技术社区  · 5 年前

    我有一个不知道如何处理的案子,需要帮助假设我有以下文本:

    spec Foo A, B, C
    

    因为上面是一个速记版本:

    spec Foo A
    spec Foo B
    spec Foo C
    

    我想把第一个版本翻译成第二个版本。 所以有这样一个语法:

    program: element* EOF;
    element: spec;
    spec: 'spec' specType=Identifier Identifier (',' Identifier)*;
    

    我希望解析树由 不同的 每个等级库标识符的元素节点。

    我知道antlr4不支持树重写,但是有什么方法可以做到这一点吗?

    0 回复  |  直到 5 年前