JLaTo is a Java Language Tools library.
JLaTo currently provides:
- Parsing of Java source files up to Java 1.8 version (that runs with Java 1.6+)
- An immutable abstract syntax tree with fluent mutators
- Lexical preservation of whitespaces and comments
- Formatting of new (and already formatted) abstract syntax trees with formatting settings
- [Experimental] Matching/Filtering/Searching of abstract syntax trees with patterns
- [Experimental] Quasi-quotes of Java snippets to ease the building of new abstract syntax trees and patterns
In the long term, JLaTo also aims to provide:
- Semantic analysis of abstract syntax trees
- A add-on mechanism to enable syntactic and semantic extensions
Releases are distributed on Maven central:
<dependency>
<groupId>org.jlato</groupId>
<artifactId>jlato</artifactId>
<version>0.0.6</version>
</dependency>
You can also use JitPack, if ever you require a build for a specific commit:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<!-- ... -->
<dependency>
<groupId>com.github.ptitjes</groupId>
<artifactId>jlato</artifactId>
<version>master-SNAPSHOT</version> <!-- or a commit hash -->
</dependency>
You will find the documentation at readthedocs.io and the latest javadoc on javadoc.io.
JLaTo is provided under the GNU Lesser General Public License. See the included COPYING.LESSER, COPYING files.