有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java只忽略解析器中的空白

我正在使用JSON grammar from the antlr4 grammar repository来解析JSON文件。它可以正常工作,并按照通常的规则忽略空白:WS: [ \t\n\r] + -> skip;

我想重新使用lexer来识别eclipse中语法高亮显示的所有标记。它还需要指定空白标记,但调用JSONLexer.nextToken()会跳过它们

当直接使用lexer时,有没有办法跳过空白


共 (1) 个答案

  1. # 1 楼答案

    使用以下命令:

    WS: [ \t\n\r] + -> channel(HIDDEN);
    

    它不会完全丢弃空白,而是仍然会创建WS标记,但它们最终会出现在一个单独的通道上(名为HIDDEN)。解析器只能对单个通道进行“监听”,但lexer仍然允许您从任何通道检索令牌