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:
Is this list just extended in the meantime? If so, should all relations be used for a correct implementation of the M3?
containment
, declarations
, and uses
are still necessary core relations. The others are sufficiently generic to be implementable for all languages, but are not strictly necessary. This depends on the tooling you use in the "back-end".