使用最新的 ANTLR Works 1.5 和以下语法:
语法测试方法;
ID : ('a'..'z'|'A'..'Z'|' ') ('a'..'z'|'A'..'Z'|'0'..'9 '|' ')* ;
WS : ( ' ' | '\t' | '\r' | '\n' ) ;
ws : (WS)* ;
身份证:身份证;
表达式:id | 方法 ;
方法
:标识符 ws '(' ws ')' ;
标识符:(id(选择器)*'.')?ID ;
选择器:'。' 编号 | '[' ws 表达式 ws ']' ;
提交以表达式开头的 abcd 时出现 NoViableAltException。从 id 开始时我没有收到此错误,所以既然表达式有 id 作为替代,为什么它不起作用?