Попытка простой грамматики на antlr. он должен анализировать входные данные, такие как L = [1,2, привет]. Однако antlr выдает эту ошибку: Следующие определения токенов не могут быть сопоставлены, поскольку предыдущие токены совпадают с одним и тем же вводом: INT, STRING .Any Help?
grammar List;
decl: ID '=[' Inside1 ']'; // Declaration of a List. Example : L=[1,'hello']
Inside1: (INT|STRING) Inside2| ; // First element in the List. Could be nothing
Inside2:',' (INT|STRING) Inside2 | ; //
ID:('0'..'Z')+;
INT:('0'..'9')+;
STRING:('a'..'Z')+;
РЕДАКТИРОВАТЬ: обновлено Грамматика. Ошибка остается только с INT.
grammar List;
decl: STRING '=[' Inside1 ']'; // Declaration of a List. Example : L=[1,'hello']
Inside1: (INT|'"'STRING'"') Inside2| ; // First element in the List. Could be nothing
Inside2:',' (INT|'"'STRING'"') Inside2 | ; //
STRING:('A'..'Z')+;
INT:('0'..'9')+;