Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
NicolasAnquetil authored Jul 25, 2024
1 parent 1b40bdd commit f275be3
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,36 @@ Metacello new
load
```

## Use

Carrefour links entities in a FAST model to entities in a Famix model.
It is composed of 2 parts:
- Carrefour meta-model
- Binder

Steps:
1. Generate the FAST model of a Famix entity (eg. a FamixMethod)
2. Bind the nodes in the FAST model to entities in the Famix model with method `#bindFASTModel`

### Carrefour meta-model

Does not do much, "import" entities from *language dependent* Famix meta-model and *language dependent* FAST meta-model and adds relations between them.

### Generating the FAST model

Done by a *language dependent* parser.
Each FamixEntity should know how to do it by implementing `#getFASTModel`

### Binding

Done by visiting the FAST model (an AST).
Again needs a *language dependent* visitor.

For Java, there are 2 methods:
- `#bindFastModel:fromFamixMethodEntity:` that visit root *method* of the FAST model
- `#bindFastModel:fromFamixClassEntity:` that visit root *class* of the FAST model


## Developers

### Update tests
Expand Down

0 comments on commit f275be3

Please sign in to comment.