项目作者: a-fujimt

项目描述 :
AST Generator of GumTree for .mjava file
高级语言: Java
项目地址: git://github.com/a-fujimt/gen.mjava.git
创建时间: 2021-02-18T04:09:16Z
项目社区:https://github.com/a-fujimt/gen.mjava

开源协议:Other

下载


EN JP

gen.mjava

Description

This is a AST Generator of GumTree for .mjava file.
.mjava is extracted method as a single file.

Usage in your project

Gradle (with GitHub Packages)

build.gradle

  1. repositories {
  2. ....
  3. maven {
  4. name = "GitHubPackages"
  5. url = uri("https://maven.pkg.github.com/a-fujimt/gen.mjava")
  6. credentials {
  7. username = project.hasProperty("GITHUB_USER") ? GITHUB_USER : ''
  8. password = project.hasProperty("GITHUB_TOKEN") ? GITHUB_TOKEN : ''
  9. }
  10. }
  11. }
  12. dependencies {
  13. implementation 'com.fujimotoakira:gen.mjava:1.0-SNAPSHOT'
  14. implementation 'com.github.gumtreediff:core:version' // GumTree
  15. implementation 'com.github.gumtreediff:client:version' // GumTree
  16. ....
  17. }

gradle.properties

  1. GITHUB_USER = XXXXXX
  2. GUTHUB_TOKEN = YYYYYY

Add GitHub authentication in gradle.properties because this project is published in Github Package. If you want to know detail about GitHub authentication, see this page.

Parsing a file

Using the generator registry (ref)

  1. Run.initGenerators(); // registers the available parsers
  2. String file = "myfile.mjava";
  3. TreeContext tc = TreeGenerators.getInstance().getTree(file); // retrieves and applies the default parser for the file
  4. Tree t = tc.getRoot(); // retrieves the root of the tree
  5. System.out.println(t.toTreeString()); // displays the tree in our ad-hoc format

Using mjava JDT generator (ref)

  1. String file = "myfile.mjava";
  2. Tree tree = new MJdtTreeGenerator().generateFrom().file(file).getRoot(); // instantiates and applies the MJDT generator