An abstract syntax tree for java source code, including a parser and converters to/from ecj (eclipse) and javac.