-
Key: QVT13-47
-
Legacy Issue Number: 12370
-
Status: closed
-
Source: Open Canarias, SL ( Adolfo Sanchez-Barbudo Herrera [X] (Inactive))
-
Summary:
a production rule seems to be missing: <module_element> ::= <modeltype> Since, a transformation file can define several transformations and libraries (modules), it is desirable having the possibility of defining modeltypes exclusively to a module. These "local" modelTypes should belong to the scope of a module, and it shouldn't be accessible to the remaining defined modules (unless the use of extension mechanisms is specified).
-
Reported: QVT 1.1 — Fri, 4 Apr 2008 04:00 GMT
-
Disposition: Closed; No Change — QVT 1.3
-
Disposition Summary:
Section 8.7.1a production rule seems to be missing
a production rule seems to be missing: <module_element> ::= <modeltype> Since, a transformation file can define several transformations and libraries (modules), it is desirable having the possibility of defining modeltypes exclusively to a module. These "local" modelTypes should belong to the scope of a module, and it shouldn't be accessible to the remaining defined modules (unless the use of extension mechanisms is specified).
Discussion
A transformation is a major programming element so multiple transformations per file seems as unusual as multiple Java classes per file.
But we do already support
transformation X(...) {...}
transformation Y(...) {...}so perhaps we need per transformation modeltypes.
But if we provided them as suggested: we would have
transformation X(in q : Q) {
modeltype Q uses ....;
}allowing an outer declaration to depend on an inner.
If a user really wants many transformations per file with many distinct conflicting modeltypes, then the user has the option to use distinctive names for each modeltype.
Much more sensible to use multiple files in the first place.
Similarly we don't want or support per-transformation imports.
-
Updated: Tue, 29 Mar 2016 15:09 GMT