在ANTLR中生成的java代码中返回一个值

在ANTLR中生成的java代码中返回一个值,java,antlr,antlr3,Java,Antlr,Antlr3,我正在用ANTLR写语法,我想问一个关于返回值的问题。我有一条规则: mainParser returns [int test] : triple EOF { $test = 0; } ; 当我从生成的java代码调用它时,我无法收回测试值,因为它返回一个“parser object”: 如何使其返回整数、字符串等?因为mainParser必须返回树和int,所以它必须使用对象。如果你往里面看的话,mainP

我正在用ANTLR写语法,我想问一个关于返回值的问题。我有一条规则:

mainParser returns [int test]
    :
    triple EOF 
         {
            $test = 0;
         }
    ;
当我从生成的java代码调用它时,我无法收回测试值,因为它返回一个“parser object”:


如何使其返回整数、字符串等?

因为mainParser必须返回树和int,所以它必须使用对象。如果你往里面看的话,mainParser\u return对象有两个属性。

我相信!它就在我眼前。我正在创建一个返回对象,它给了我一棵树,但我没有走得更远(出于愚蠢的原因)。谢谢!!!