我寫了下面的Antlr語法閱讀:爲什麼減號不能正確地在我的Antlr語法
grammar Hello;
file: row+ ;
row: karyotype NEWLINE ;
karyotype: chrNum (',' sexChr CONST?)? (',' event)* ;
event: prefixPlus gainChr (CONST | INH)? # gainChrEvent
| prefixMinus lossChr (CONST | INH)? # lossChrEvent
;
chrNum: numRangeTypeI ;
numRangeTypeI: INT (APPROX INT)? ;
gainChr: INT | SEX ;
lossChr: INT | SEX ;
prefixPlus: PLUS QUES? | QUES PLUS ;
prefixMinus: MINUS QUES? | QUES MINUS ;
sexChr: (SEX | QUES)+ ;
APPROX: '~' | '-' ;
CONST: 'c' ;
INH: 'dn' | 'inh' | 'mat' | 'pat' ;
INT: [0-9]+ ;
MINUS: '-' ;
NEWLINE: '\r'? '\n' ;
PLUS: '+' ;
QUES: '?' ;
SEX: [XY]+ ;
WS : [ \t]+ -> skip ;
但是,當我使用的解析如下:
43-45,XX,-4
的ANTLR的告訴我「行1:9不匹配的輸入' - '期待{' - ','+','?'}「
你知道我的語法有什麼問題嗎?