Antlr语法赢得';行不通

Antlr语法赢得';行不通,antlr,Antlr,我的语法不接受“x=4,xy=1”这样的输入 我该怎么做才能让它接受大量的输入,比如ID=NUMBER?? 提前谢谢。您必须解释语法中的逗号“”、“”。此外,由于您(很可能)不希望创建字母和数字标记,因为它们仅在其他lexer规则中使用,因此您应该: 非常感谢你。我没有考虑逗号,我将检查片段是什么。 grammar Ex5; prog : stat+; stat : ID '=' NUMBER; LETTER : ('a'..'z'|'A'..'Z'); DIGIT : ('0'..'9')

我的语法不接受“x=4,xy=1”这样的输入

我该怎么做才能让它接受大量的输入,比如ID=NUMBER??
提前谢谢。

您必须解释语法中的逗号“
”、“
”。此外,由于您(很可能)不希望创建
字母
数字
标记,因为它们仅在其他lexer规则中使用,因此您应该:


非常感谢你。我没有考虑逗号,我将检查片段是什么。
grammar Ex5;

prog : stat+;
stat : ID '=' NUMBER;

LETTER : ('a'..'z'|'A'..'Z');
DIGIT : ('0'..'9');
ID : LETTER+;
NUMBER : DIGIT+;
WS : (' '|'\t'| '\r'? '\n' )+ {skip();};
grammar Ex5;

prog : stat (',' stat)*;
stat : ID '=' NUMBER;

ID     : LETTER+;
NUMBER : DIGIT+;

fragment LETTER : 'a'..'z' | 'A'..'Z';
fragment DIGIT  : '0'..'9';

WS : (' '|'\t'| '\r'? '\n')+ {skip();};