Just to clarify a point in this thread:
> >
> > > Clearly Apex (and other compilers) rely on a 'project' based
> > > approach with sources being 'registered' to provide this
> > > functionality.

Apex does not use a project mechanism.  If the compiler sees a
with clause, it knows what the file name must be, and then searches
the imported subsystems/views for it.  There is no need to register
files, or have project mechanims etc.  So long as the source code
files are named correctly and are located in a subsystem/view the
compiler will find them.  This is why Apex can perform it's automated
builds.

The intermediate form of the program is stored and then used to: perform
browsing, support ASIS, be reused in the next compilation to support
incremental compilation.  The intermediate form is also updated by
the editor when performing source code formatting or semantic checks.

Greg
-------------------------------------------
Greg Bek  mailto:[log in to unmask]
Product Manager
Rational Software, Cupertino CA 95014
Ph: +1 408 863 4394   Fax: + 1 408 863 4180
-------------------------------------------