It is getting cool :) I like good comments.
Stef
On Oct 31, 2011, at 6:50 AM, Tudor Girba wrote:
I did a pass over it and now we have:
"FAMIXPackage represents a package in the source language, meaning that it provides a means to group entities without any baring on lexical scoping.
A package is different from a namespace (FAMIXNamespace). A package defines simply a group of entities. A namespace scopes a group of entities (it may implement an import, a name lookup). For example, in Java concept of package maps both on the FAMIXNamespace and on a FAMIXPackage:
- it is a FAMIXNamespace because it provides a lexical scope for the contained entities, and
- it is a FAMIXPackage because it describes the physical structure of the system.
For example, Java extractors map Java packages to FAMIXNamespaces for these reasons. They can also mirror the same information in terms of FAMIXPackage instances."
Cheers, Doru
On 31 Oct 2011, at 00:03, Stéphane Ducasse wrote:
we have
FAMIXPackage represents a package in the source language.
A package is different from a namespace (FAMIXNamespace). They both provide a scope, but the namespace does it from a language perspective. For example, in Java concept of package maps both on the FAMIXNamespace and on a FAMIXPackage:
- it is a FAMIXNamespace because it provides a lexical scope for the contained entities, and
- it is a FAMIXPackage because it describes the physical structure of the system.
I propose
FAMIXPackage represents a package in the source language, but when the language only mean grouping of entities without scoping. The scoping aspect is captured by FAMIXNamespace.
A package is different from a namespace (FAMIXNamespace). A package defines simply a group of entities. A namespace scopes a group of entities (it may implement an import, a name lookup). For example, in Java concept of package maps both on the FAMIXNamespace and on a FAMIXPackage:
- it is a FAMIXNamespace because it provides a lexical scope for the contained entities, and
- it is a FAMIXPackage because it describes the physical structure of the system.
FAMIX extractor usually map Java package to FAMIXNamespace for these reasons. _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"From an abstract enough point of view, any two things are similar."
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev