Fix #58: introducing interface NamedNode
8 files changed
tree: 632db22fd900e0aaf5267936e2f7ade4e93e8d6b
  1. javaparser-core/
  2. javaparser-testing/
  3. .gitignore
  4. COPYING
  5. COPYING.LESSER
  6. pom.xml
  7. readme.md
readme.md

Java Parser and Abstract Syntax Tree

This package contains a Java 1.8 Parser with AST generation and visitor support.

The AST records the source code structure, javadoc and comments. It is also possible to change the AST nodes or create new ones to modify the source code.

Build Status

Features

  • Light weight
  • Performant
  • Easy to use
  • Modifiable AST
  • Create AST from scratch
  • Support of comments

Dependency Management

The project binaries are available in Maven Central. Just add the following to your maven configuration or taylor to your own dependency management system.

Current 1.8 Release

<dependency>
    <groupId>com.github.javaparser</groupId>
    <artifactId>javaparser-core</artifactId>
    <version>2.0.0</version>
</dependency>

Final 1.7 Release

<dependency>
    <groupId>com.google.code.javaparser</groupId>
    <artifactId>javaparser</artifactId>
    <version>1.0.11</version>
</dependency>

How To Compile Sources

If you have checkout the project from GitHub you can build the project with maven using:

mvn clean install

If you checkout the sources and want to view the project in an IDE, it is best to generate the additional source files; otherwise you will get many compilation complaints in the IDE

mvn javacc:javacc

Manual

Examples of how to use the library can be found on the Manual page of the wiki

Troubleshooting

In the first instance try the wiki

In the second instance please feel free to open an issue.

Javadoc

The libraries javadoc can be found here

History

This parser is based on Sreenivasa Viswanadha's Java 1.5 parser.

The project was originally hosted at Google Code, however support there dwindled.

This repository aims to provide support for issues and add the new Java language features.

Licence

Offered under the GNU GENERAL PUBLIC LICENSE that can be found here