antlr构建C语言词法分类器,在Java程序中调用,得到的结果与预期不符

第一次用antlr,想用来做C语言的词法分类器,仅做词法不考虑语法问题,做好后在cmd中做测试时得到的结果是预计的结果

img

就是这个尖括号里好像是叫做token的type,显示的是正常的,之后我导入到一个java项目里时,得到的结果变成了这样

img

尖括号里的东西变成了数字,我大概能猜到这个数字是和我写的.g4文件里的顺序有关,但是我想要得到的是cmd里输出的样子,不知道怎么解决


```java
        import MyGrammar.test;
        test lexer = new test(input);
        CommonTokenStream tokens = new CommonTokenStream(lexer);

以上代码我用来引入antlr生成的词法分析器,因为只做了词法所以只用了lexer

        FileWriter fileWriter = new FileWriter(new File(tokenFileName));
        for(int i=0;i<tokens.getNumberOfOnChannelTokens();i++){
            fileWriter.write(tokens.get(i).toString());
            fileWriter.write("\n");
        }
        fileWriter.close();

以上代码是用来将tokens里的东西打印到一个.tokens文件里的
第一次用antlr和java,也是第一次在csdn上发问题,因为在cmd里没问题,所以不知道是不是Java里的写法出错了,希望有熟悉的朋友能指点一下,谢谢orz