使用此[0-9A-Za-z $&#@]创建ID [0-9A-Za-z $&#@] *

时间:2016-03-01 12:00:50

标签: antlr4

我创建了这种语法:

val: ID;
ID: [0-9A-Za-z$&#@][0-9A-Za-z$&#@]*

当我给出一个值例如' A'或者'& X'在测试中我得到了这个错误:

  

val:1:0:输入不匹配& X'期待身份证

     

val:1:0:输入不匹配' A'期待身份证

2 个答案:

答案 0 :(得分:0)

As both parts of ID are identical change it to [0-9A-Za-z$&#@]+ Can you please provide code whole grammar. As far as I can see it is correct. Please provide more info.

答案 1 :(得分:0)

为了解决这个问题,我使用了这种语法:

IDX
: 
ID +
;

ID
:
  '#' | '&' | '$' | '.' | '?'| '*' | 'à' | '£' | '@' | [0-9A-Za-z] 
;