GNU Pascal Homepage - gpc - gpc-announce - gpc-de - gpc-doc
Diese Seite auf deutsch

Mail #8616

Back to main page of archive

Previous mail   Next mail   Unformatted/full headers
Overview  10 days   Subject   Date   Thread   Author  

From: Gale Paeper
Subject: EP question (was: gpc-20030507 -
Date: 10 May 2003, 19:36:55

Frank Heckenbach wrote:
> 
> Prof A Olowofoyeku (The African Chief) wrote:
> 
> > I have a problem. I don't want to export everything. I only want to
> > export things in the current interface section (and there are hundreds
> > of them, and a few of them are routines from the GPC unit/module).
> >
> > I have tried;
> >
> > module sysutils interface;
> > export sysutils = all;
> > import GPC; system;
> >
> > blah, blah;
> > end.
> > module sysutils implementation;
> >
> > blah blah;
> > end.
> >
> > I am getting errors (such as "unknown identifier `TString'", "unknown
> > identifier `UnixTimeType'", etc).
> >
> > Any ideas?
> 
> Imports in an interface module are not visible in the corresponding
> implementation module. But they are visible in the implementation
> when using a "simple" module like this:
> 
> module sysutils;
> export sysutils = all;
> import GPC; System;
> 
> end;
> 
> var a: TString;
> 
> end.
> 
> At least that's GPC's current behaviour. Perhaps the EP experts can
> confirm whether this is correct?

Unless I'm missing something, I think paragraph 6.2.2.12, "Each
defining-point that has as a region a module-heading shall also have as
a region the module-block that is associated with that module-heading.",
requires imports into a "separated" module-heading to be treated just
the same as your "simple" module case.

Since the paragraph 6.11.3 language, "Each defining-point of an imported
identifier occurring within an import-specification shall be for the
region that is the import-specification, and, if an access-qualifier
does not occur in the import- specification, also for the region that is
the module-heading, module-block, or block closest-containing the
import-specification.", creates defining-points for imported identifiers
in the module-heading region including the "separated" module-heading
case, 6.2.2.12 will in turn require those defining-points to exist in
the "separated" module-block region.

If, as indicated, GPC doesn't make heading imports "visible" in the
corresponding implementation block, then GPC isn't in full conformance
with ISO 10206 requirements.

As Prof Olowofoyeku's experience indicates, if identifiers visible in
the separate module-heading aren't automatically visible in the separate
module-block, creating the implementation for an interface becomes more
troublesome.  I think the most troublesome aspect is not having the
imported type-identifiers used in defining the interface automatically
visible when defining the corresponding implementation.

Gale Paeper
gpaeper@empirenet.com

Previous mail   Next mail   Unformatted/full headers
Overview  10 days   Subject   Date   Thread   Author  


Replies

Author Subject Date
Frank Heckenbach EP question (was: gpc-20030507 - 14 May 2003, 15:12:01
Frank Heckenbach EP question (was: gpc-20030507 - 6 Jun 2003, 18:27:18
Gale Paeper EP question (was: gpc-20030507 - 6 Jun 2003, 18:56:59
Frank Heckenbach EP question (was: gpc-20030507 - 7 Jun 2003, 10:30:13

In reply to

Author Subject Date
The Chief gpc-20030507 - attribute bug? 10 May 2003, 12:22:46
The Chief gpc-20030507 - attribute bug? 10 May 2003, 15:00:25
Frank Heckenbach EP question (was: gpc-20030507 - 11 May 2003, 00:40:33

Back to main page of archive


Note: This page contains information that does not originate from the owner of this web site, but from the authors of the mails archived. The owner of this web site is not responsible for the content of such information. Any use of that infomation requires the consent of the respective author.

Where WWW addresses (URLs) in the mails archived are marked as hyperlinks, this is only for the comfort of the reader. The content of the web pages linked to like this does not necessarily reflect the opinion of the owner of this web site or of the authors of the mails archived. The owner of this web site is not responsible for the content of such web pages. Those pages are explicitly not to be considered as part of the content of this page, but merely as references.


This page was created by Crystal 0.999 (Linux 2.4.27/i686).