Emil Jerabek wrote:
On Wed, Jan 29, 2003 at 02:12:20AM +0100, Frank Heckenbach wrote:
Does EP allow a module to export a predefined identifier? The standard makes it clear that it can re-export an identifier imported from another module (e.g., 6.11.6, example 2), but what about predefined things?
As in my other mail, I can't seem to find a wording that prohibits it (but I might overlook something).
This may be relevant:
6.11.2 Export-part
[...]
The occurrence of an exportable-name in an export-clause shall constitute the defining-point of the identifier of the constant-identifier, type-identifier, schema-identifier, variable-identifier, procedure-identifier, or function-identifier contained by the exportable-name as a constituent-identifier for the region that is the interface denoted by the identifier of the export-part that contains the export-clause. The occurrence of an identifier in an export-renaming-clause of an export-clause shall constitute the defining-point of that identifier as a constituent-identifier for the region that is the interface denoted by the identifier of the export-part that contains the export-clause.
[...]
6.2.2.10
Required identifiers that denote the required values, types, schemata, procedures, and functions shall be used as if their defining-points have a region enclosing the program (see 6.1.3, 6.4.2.2, 6.4.3.4, 6.4.3.6, 6.4.3.3.3, 6.7.5, 6.7.6, and 6.10).
IMHO this means that predefined identifiers cannot be exported, because they would have two different "defining-points" for different regions.
But isn't this also true when re-exporting an imported identifier? : 6.11.3 : : [...] : : For each constituentÂidentifier having a definingÂpoint for the region that : is the interface denoted by the interfaceÂidentifier of an : importÂspecification : : a) the occurrence of that interfaceÂidentifier shall constitute the : definingÂpoint of that constituent identifier for each region that is a : constituentÂidentifier contained by the importÂspecification. Frank -- Frank Heckenbach, frank@g-n-u.de, http://fjf.gnu.de/, 7977168E GPC To-Do list, latest features, fixed bugs: http://www.gnu-pascal.de/todo.html GPC download signing key: 51FF C1F0 1A77 C6C2 4482 4DDC 117A 9773 7F88 1707