0

javac嗨,我有一组 java 类,当我用命令编译它们时它们工作得很好:

javac -g -nowarn -classpath /usr/class/cs143/cool/lib:.:/usr/java/lib/rt.jar ASTConstants.java ASTParser.java cool-tree.java 

我在同一台机器上安装了 groovy 并尝试执行以下操作:

groovyc  -classpath /usr/class/cs143/cool/lib:.:/usr/java/lib/rt.jar ASTConstants.java ASTParser.java cool-tree.java 

groovy 似乎无法理解 java 文件及其抛出的错误,例如:

ASTParser.java: 21: unexpected token: protected @ line 21, column 3.
     protected static final short _production_table[][] = 
 ^

我有点困惑。所有的java程序都是有效的groovy代码吗?只有反之亦然不是真的吗?

我在哪里犯错误?

提前致谢。

4

1 回答 1

4

有一些怪癖。曾经是内部类的一些问题(现在可能在 2.x 中解决),并且您可能必须查看字符串文字中的内容(例如,杂散的美元符号)。对数组定义使用文字可能是一个问题(例如,int [] ary = {};不会在常规中运行)。此外,它并不经常出现,但它们自己使用的范围大括号会混淆 groovy。

在您的特定情况下,只需将 更改short _production_table [][]short [][] _production_table。我相信这应该可以解决您的问题。

顺便说一句,这里还有一些其他的“陷阱” 。

于 2012-11-10T04:10:19.017 回答