In the paper "M3: a General Model for Code Analytics in Rascal" 3 Generic core binary relations for the M3 are given. These are: containment
, declarations
, and uses
.
Looking at the M3 source code in analysis::m3::Core
, I see a lot more binary relations:
- Declarations
- Types
- Uses
- Containment
- Messages
- Names
- Documentation
- Modifiers
Is this list just extended in the meantime? If so, should all relations be used for a correct implementation of the M3?