0

我第一次使用 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 单元测试用例,如果可以,那么我做错了什么以及做错了什么。

提前致谢。

4

1 回答 1

0

如果我是你,我会用

        ID : Identifier (Identifier)+;
        Identifier : ('a'..'z'|'A'..'Z');

只是一个想法,你的语法说明 Id ca

于 2014-10-16T05:54:32.557 回答