我第一次使用G Unit来测试Antlr3语法,但在运行测试时,我得到了NullPointerException。
只有在语法规则的操作部分中存在方法调用时才会发生异常。
示例:
identifier
: name=ID
{
obj.identStmt($name.text, this.currentLine, this.currentPos);
}
;
ID: ('a'..'z'|'A'..'Z')+;
在调试时,我得到NullPointerException:
obj.identStmt($ name.text,this.currentLine,this.currentPos);
我想知道是否有可能为这种情况编写G单元测试用例,如果是,那么我做错了怎么做。
提前致谢。
答案 0 :(得分:0)
如果我是你,我会用
ID : Identifier (Identifier)+;
Identifier : ('a'..'z'|'A'..'Z');
只是一个想法,你的语法陈述Id ca