GumTree Abstract AntLR Tree Generator

GumTree is a complete framework to deal with source code as trees and compute differences between them.

License

License

Categories

Categories

Ant Build Tools ANTLR Compiler-compiler
GroupId

GroupId

com.github.gumtreediff
ArtifactId

ArtifactId

gen.antlr
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

GumTree Abstract AntLR Tree Generator
GumTree is a complete framework to deal with source code as trees and compute differences between them.
Project Organization

Project Organization

LaBRI

Download gen.antlr

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.gumtreediff/gen.antlr/ -->
<dependency>
    <groupId>com.github.gumtreediff</groupId>
    <artifactId>gen.antlr</artifactId>
    <version>2.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.gumtreediff/gen.antlr/
implementation 'com.github.gumtreediff:gen.antlr:2.0.0'
// https://jarcasting.com/artifacts/com.github.gumtreediff/gen.antlr/
implementation ("com.github.gumtreediff:gen.antlr:2.0.0")
'com.github.gumtreediff:gen.antlr:jar:2.0.0'
<dependency org="com.github.gumtreediff" name="gen.antlr" rev="2.0.0">
  <artifact name="gen.antlr" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.gumtreediff', module='gen.antlr', version='2.0.0')
)
libraryDependencies += "com.github.gumtreediff" % "gen.antlr" % "2.0.0"
[com.github.gumtreediff/gen.antlr "2.0.0"]

Dependencies

compile (2)

Group / Artifact Type Version
com.github.gumtreediff : core jar 2.0.0
org.antlr : antlr-runtime jar 3.5.2

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

GumTree

Status

Build and Test GumTree

Description

GumTree is a complete framework to deal with source code as trees and compute differences between them. It includes possibilities such as:

  • converting a source file into a language-agnostic tree format
  • export the produced trees in various formats
  • compute the differences between the trees
  • export these differences in various formats
  • visualize these differences graphically

Compared to classical code differencing tools, it has two important particularities:

  • it works on a tree structure rather than a text structure,
  • it can detect moved or renamed elements in addition of deleted and inserted elements.

Documentation

To use GumTree, you can start by consulting the Getting Started page from our wiki.

Screenshots

The directory diff viewer

Directory comparator view

The file diff viewer

Diff view

Supported languages

We already deal with a wide range of languages: C, Java, JavaScript, Python, R, Ruby. Click here for more details about the language we support.

More languages are coming soon, if you want to help contact me.

Citing GumTree

We are researchers, therefore if you use GumTree in an academic work we would be really glad if you cite our seminal paper using the following bibtex:

@inproceedings{DBLP:conf/kbse/FalleriMBMM14,
  author    = {Jean{-}R{\'{e}}my Falleri and
               Flor{\'{e}}al Morandat and
               Xavier Blanc and
               Matias Martinez and
               Martin Monperrus},
  title     = {Fine-grained and accurate source code differencing},
  booktitle = {{ACM/IEEE} International Conference on Automated Software Engineering,
               {ASE} '14, Vasteras, Sweden - September 15 - 19, 2014},
  pages     = {313--324},
  year      = {2014},
  url       = {http://doi.acm.org/10.1145/2642937.2642982},
  doi       = {10.1145/2642937.2642982}
}
com.github.gumtreediff

GumTreeDiff

A neat code differencing tool

Versions

Version
2.0.0