Related articles |
---|
Incremental compilation whatis@gnu.ai.mit.edu (1992-01-23) |
Re: Incremental compilation preston@dawn.cs.rice.edu (1992-01-23) |
Re: Incremental compilation wright@gefion.cs.rice.edu (1992-01-23) |
Re: Incremental compilation ltd@netcom.netcom.com (1992-01-24) |
Incremental Compilation shure@sd.co.il (Alexander Rozenman) (1999-11-02) |
Re: Incremental Compilation xenophon@irtnog.org (Matthew Economou) (1999-11-03) |
Re: Incremental Compilation maratb@CS.Berkeley.EDU (Marat Boshernitsan) (1999-11-05) |
Re: Incremental Compilation bowdidge@apple.com (Robert Bowdidge) (1999-11-16) |
Re: Incremental Compilation jsgray@acm.org.nospam (Jan Gray) (1999-11-25) |
From: | Robert Bowdidge <bowdidge@apple.com> |
Newsgroups: | comp.compilers |
Date: | 16 Nov 1999 23:43:02 -0500 |
Organization: | Apple Computer, Inc. |
References: | 99-11-015 |
Keywords: | incremental |
> 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
tools)
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,
Robert
Return to the
comp.compilers page.
Search the
comp.compilers archives again.