tags:

views:

179

answers:

5

As the title says, I want to parse some Java source code in Java. I'm pretty sure there are other java libraries that already perform this, but I couldn't find any.

+2  A: 

You may be looking for something like ANTLR: http://www.antlr.org/

fish
Why a downvote?
fish
+5  A: 

Antlr has a grammar file for Java. See this.

Chuk Lee
+2  A: 

Janino can parse, compile and execute Java code.

Ralph
Awesome! I really didn't want to use generic parser-generators for this, because the tokens are probably more fine-grained then what I want.
Jeeyoung Kim
@Jeeyoung Kim, be sure to read the `Limitations` section: most Java 5 (and up) features are not supported.
Bart Kiers
A: 

JavaCC has a Java 1.5 grammar including generics.

the tokens are probably more fine-grained then what I want

Your first requirement is to get an accurate parse, and you will realistically only get that from an existing parser. What you do with the result is up to you.

EJP
A: 

Eclipse exposes the Syntax Tree of it's own Java compiler. You can simply access the elements.

See here.

Hardcoded