|Incremental compilation email@example.com (1992-01-23)|
|Re: Incremental compilation firstname.lastname@example.org (1992-01-23)|
|Re: Incremental compilation email@example.com (1992-01-23)|
|Re: Incremental compilation firstname.lastname@example.org (1992-01-24)|
|Incremental Compilation email@example.com (Alexander Rozenman) (1999-11-02)|
|Re: Incremental Compilation firstname.lastname@example.org (Matthew Economou) (1999-11-03)|
|Re: Incremental Compilation maratb@CS.Berkeley.EDU (Marat Boshernitsan) (1999-11-05)|
|Re: Incremental Compilation email@example.com (Robert Bowdidge) (1999-11-16)|
|Re: Incremental Compilation firstname.lastname@example.org (Jan Gray) (1999-11-25)|
|From:||Robert Bowdidge <email@example.com>|
|Date:||16 Nov 1999 23:43:02 -0500|
|Organization:||Apple Computer, Inc.|
> I am looking for some sources about "Incremental Compilation".
> There are some software products used it
> (as Microsoft Compiler/Debugger, I guess).
> Where can I find some theory about this topic?
(Even though I no longer work for IBM, I can't seem to get away from
flogging their products...)
IBM's VisualAge C++ 4.0 compiler is a true incremental compiler,
recompiling C++ on a function-by-function basis. Both the
Smalltalk-like code browser and tools could access parsed versions of
the program for analysis or visualization by merely asking the
incremental compiler to hand over a parsed version of the program.
Unlike some previous attempts at incremental compilation, VisualAge
C++ kept source code in files rather than sucking it into a database.
Research papers on the compiler and environment give some details about
how incremental compilation can be done. Michale Karasick's paper is
probably the most relevant for you.
Nackman, L. R. (1997, December 1997). CodeStore and Incremental C++. Dr.
Dobb's Journal, p. 92-96. (overview of the product)
Karasick, M. (1998). The Architecture of Montana: An Open and Extensible
Programming Environment with an Incremental C++ Compiler. In Sixth
International Symposium on the Foundations of Software Engineering,
(pp. 131-142). Lake Buena Vista, FL. (architecture, research issues)
Soroker, D.,Karasick, M.,Barton, J., & Streeter, D. (1997). Extension
Mechanisms in Montana. In 8th Israeli Conference on Computer Systems and
Software (ICSS97) (hooks for changing compiler's behavior via external
Hamilton, J. (1997). Montana Smart Pointers: They're Smart, and They're
Pointers. In Conference on Object-Oriented Technologies and Systems,
(pp. 21-39). USENIX Association. (detailed description of AST-modifying
tool that runs during the compiler's optimization phase).
Microsoft's Visual C++ is not an incremental compiler. It does
precompile header files (which works well for large, infrequently
changing headers, but works less well for frequently changing class
libraries in large projects). However, I've seen reports that Microsoft
did develop an incremental compiler and code repository around 1990.
The compiler never saw the light of day, but some of its ideas did move
into Visual C++.
Hope this helps,
Return to the
Search the comp.compilers archives again.