Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moosetechnology/fast-java
Represent the Java AST with Famix
https://github.com/moosetechnology/fast-java
ast java meta-model moose pharo smalltalk
Last synced: about 1 month ago
JSON representation
Represent the Java AST with Famix
- Host: GitHub
- URL: https://github.com/moosetechnology/fast-java
- Owner: moosetechnology
- License: mit
- Created: 2019-03-04T13:20:04.000Z (almost 6 years ago)
- Default Branch: v3
- Last Pushed: 2024-08-05T12:23:09.000Z (5 months ago)
- Last Synced: 2024-08-06T13:25:40.930Z (5 months ago)
- Topics: ast, java, meta-model, moose, pharo, smalltalk
- Language: Smalltalk
- Homepage: https://modularmoose.org/moose-wiki/Developers/Parsers/FAST-Java.html
- Size: 1.3 MB
- Stars: 1
- Watchers: 10
- Forks: 3
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FAST-JAVA
[![CI Moose10](https://github.com/moosetechnology/FAST-JAVA/actions/workflows/testAndBuild-moose10.yml/badge.svg)](https://github.com/moosetechnology/FAST-JAVA/actions/workflows/testAndBuild-moose10.yml)
[![CI Moose11](https://github.com/moosetechnology/FAST-JAVA/actions/workflows/testAndBuild-moose11.yml/badge.svg)](https://github.com/moosetechnology/FAST-JAVA/actions/workflows/testAndBuild-moose11.yml)[![Coverage Status](https://coveralls.io/repos/github/moosetechnology/FAST-JAVA/badge.svg?branch=v3)](https://coveralls.io/github/moosetechnology/FAST-JAVA?branch=v3)
[![Moose version](https://img.shields.io/badge/Moose-10-%23aac9ff.svg)](https://github.com/moosetechnology/Moose)
[![Moose version](https://img.shields.io/badge/Moose-11-%23aac9ff.svg)](https://github.com/moosetechnology/Moose)Represent the Java AST with Famix
## Installation
To load the FAST-Java project, execute in a playground
```st
Metacello new
githubUser: 'moosetechnology' project: 'FAST-JAVA' commitish: 'v3' path: 'src';
baseline: 'FASTJava';
load
```If you want to load the SmaCC importer with the model (create a FAST Java model from string)
```st
Metacello new
githubUser: 'moosetechnology' project: 'FAST-JAVA' commitish: 'v3' path: 'src';
baseline: 'FASTJava';
load: 'all'
```## Create a FAST-Java Model based on java string
Thanks to the [Smacc Project](https://github.com/j-brant/SmaCC) it is easy to parse Java methods and classes.
We used a visitor on the parsed java string to create a FAST-Java model.If you need to create a FAST-Java model from a method or class, the easiest way is thus to perform:
```st
JavaSmaCCProgramNodeImporterVisitor parseCodeMethodString: 'void hello() {
// My method string
}'
```## Full documentation
A full documentation is available on [modularmoose.org](https://modularmoose.org/moose-wiki/Developers/Parsers/FAST-Java.html)
## UML
![meta-model image](https://raw.githubusercontent.com/moosetechnology/FAST-JAVA/v3-doc/fast-java.svg)