Java - 抽象语法树

mal*_*ouk 10 java grammar parsing abstract-syntax-tree

我目前正在寻找一个Java 6/7解析器,它生成一些(可能是标准化的)表单抽象语法树.

我已经发现ANTLR有一个Java 6语法,但似乎它只生成解析树,而不是语法树.我还读过有关Java编译器API的文章 - 但是所有提到的资源都是过度设计并且记录不完整(如果它确实生成了AST,我还没发现).

你知道任何好的解析器库,可能作为标准化输出吗?

谢谢

rle*_*ndi 6

基本上JavaCC和ANTLR是目前最好的工具.

您可以在项目的语法存储库中找到可用的Java 6语法.JavaCC有点老了,很少更新,但很容易入手,面向Java,并生成AST(搜索JJTree).这是一个有点,嗯... 奇怪的一见倾心,但你可以使用它.

这两个工具都有一个很好的IDE支持(例如,Eclipse插件),但我认为(根据您的描述)您需要的是JavaCC.试试看.