java只忽略解析器中的空白
我正在使用JSON grammar from the antlr4 grammar repository来解析JSON文件。它可以正常工作,并按照通常的规则忽略空白:WS: [ \t\n\r] + -> skip;
我想重新使用lexer来识别eclipse中语法高亮显示的所有标记。它还需要指定空白标记,但调用JSONLexer.nextToken()
会跳过它们
当直接使用lexer时,有没有办法跳过空白
你可以在下面搜索框中键入要查询的问题!
我正在使用JSON grammar from the antlr4 grammar repository来解析JSON文件。它可以正常工作,并按照通常的规则忽略空白:WS: [ \t\n\r] + -> skip;
我想重新使用lexer来识别eclipse中语法高亮显示的所有标记。它还需要指定空白标记,但调用JSONLexer.nextToken()
会跳过它们
当直接使用lexer时,有没有办法跳过空白
# 1 楼答案
使用以下命令:
它不会完全丢弃空白,而是仍然会创建
WS
标记,但它们最终会出现在一个单独的通道上(名为HIDDEN
)。解析器只能对单个通道进行“监听”,但lexer仍然允许您从任何通道检索令牌