【问题标题】:Convert Token Numbers to Strings in ANTLR4在 ANTLR4 中将令牌编号转换为字符串
【发布时间】:2015-06-30 19:09:29
【问题描述】:

我正在尝试使用 ANTLR4 构建一种使用 getExpectedTokens() 函数的自动完成系统,当解析器遇到错误时可以调用该函数。 getExpectedTokens() 返回一个 IntervalSet,包含解析中该点处可接受标记的所有标记号。是否有一些从代币编号到实际代币本身的映射? (因此,例如,如果预期标记之一是关键字,则该关键字可以以某种方式显示给用户)。

【问题讨论】:

    标签: parsing autocomplete antlr token antlr4


    【解决方案1】:

    这些标记名称可通过解析器的词汇表访问。

    parser.getVocabulary().getLiteralName(token_num) 将返回文字标记的字符串。

    【讨论】:

      【解决方案2】:

      使用getSymbolicName() 为我工作。

      所以你可以做parser.getVocabulary().getSymbolicName(tokenType),其中tokenType 是一个int。

      【讨论】:

        猜你喜欢
        • 2018-11-14
        • 2012-02-09
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2011-06-06
        • 1970-01-01
        相关资源
        最近更新 更多