仅忽略解析器中的空格
Ignore whitespace in parser only
我正在使用 JSON grammar from the antlr4 grammar repository 来解析 JSON 文件。它工作正常并使用通常的规则忽略空格:WS: [ \t\n\r] + -> skip;
我想重新使用词法分析器来识别所有标记,以便在 eclipse 中突出显示语法。它还需要指定空白标记,但调用 JSONLexer.nextToken()
会跳过它们。
有没有办法在直接使用词法分析器时不跳过空格?
使用以下内容:
WS: [ \t\n\r] + -> channel(HIDDEN);
它不会完全丢弃空格,它仍会创建 WS
个标记,但它们最终会出现在一个单独的通道中(名为 HIDDEN
)。解析器只能 "listen" 到单个通道,但词法分析器仍然允许您从任何通道检索标记。
我正在使用 JSON grammar from the antlr4 grammar repository 来解析 JSON 文件。它工作正常并使用通常的规则忽略空格:WS: [ \t\n\r] + -> skip;
我想重新使用词法分析器来识别所有标记,以便在 eclipse 中突出显示语法。它还需要指定空白标记,但调用 JSONLexer.nextToken()
会跳过它们。
有没有办法在直接使用词法分析器时不跳过空格?
使用以下内容:
WS: [ \t\n\r] + -> channel(HIDDEN);
它不会完全丢弃空格,它仍会创建 WS
个标记,但它们最终会出现在一个单独的通道中(名为 HIDDEN
)。解析器只能 "listen" 到单个通道,但词法分析器仍然允许您从任何通道检索标记。