Parsing ANTLR4-空格作为分隔符

Parsing ANTLR4-空格作为分隔符,parsing,antlr,hidden,ignore,channel,Parsing,Antlr,Hidden,Ignore,Channel,我有以下语法。 我的语法需要接受这些类型的语句: X英寸(10,20,30) X英寸(10 20 30) 我刚刚尝试将规则常量列表编辑为: constant_list : constant ((','|SPACE) constant)* ; 但是这些空间被忽略了。我如何处理这种情况?我需要使用隐藏频道吗 谢谢 我解决了编辑规则的问题: constant_list : constant (',' constant)* | constant ( constant)*

我有以下语法。 我的语法需要接受这些类型的语句:

X英寸(10,20,30)

X英寸(10 20 30)

我刚刚尝试将规则常量列表编辑为:

constant_list
    : constant ((','|SPACE) constant)*
    ;
但是这些空间被忽略了。我如何处理这种情况?我需要使用隐藏频道吗


谢谢

我解决了编辑规则的问题:

constant_list
    : constant (',' constant)*
    | constant ( constant)*
    ;

我解决了编辑规则的问题:

constant_list
    : constant (',' constant)*
    | constant ( constant)*
    ;

我解决了编辑规则的问题:

constant_list
    : constant (',' constant)*
    | constant ( constant)*
    ;

我解决了编辑规则的问题:

constant_list
    : constant (',' constant)*
    | constant ( constant)*
    ;

不,您不能在解析器规则中使用
空格
标记:它们被跳过(从lexer中丢弃)

你能做的是:

constant_list
 : constant (','? constant)*
 ;

不,您不能在解析器规则中使用
空格
标记:它们被跳过(从lexer中丢弃)

你能做的是:

constant_list
 : constant (','? constant)*
 ;

不,您不能在解析器规则中使用
空格
标记:它们被跳过(从lexer中丢弃)

你能做的是:

constant_list
 : constant (','? constant)*
 ;

不,您不能在解析器规则中使用
空格
标记:它们被跳过(从lexer中丢弃)

你能做的是:

constant_list
 : constant (','? constant)*
 ;

这与@BartKiers建议的一样,只是没有那么紧凑(因此稍微慢)。这与@BartKiers建议的一样,只是没有那么紧凑(因此稍微慢)。这与@BartKiers建议的一样,只是没有那么紧凑(因此稍微慢)。这与@BartKiers建议的一样,只是没有那么紧凑(因此稍微慢一点)。