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) |
Newsgroups: | comp.compilers |
From: | wright@gefion.cs.rice.edu (Andrew Wright) |
Keywords: | code, interpreter |
Organization: | Rice University, Houston |
References: | 92-01-081 |
Date: | Thu, 23 Jan 1992 20:55:12 GMT |
In article 92-01-081 whatis@gnu.ai.mit.edu (Steve Boswell) writes:
>I'm looking for references, information, etc. on incremental compilation.
>I don't mean makefiles -- the unit of compilation there is the file, and I
>wanted something smaller, like the lexical token.
I built a prototype compiler that operated in a manner like this a few years
ago. Since a source file consisted of a set of named definitions, I built
abstract syntax trees for each definition and sorted the definitions by
name, before comparing abstract syntax trees. Hence rearranging the order
of functions in a source file would cause no recompilation. One could also
imagine replacing local variables with deBruijn numbers before comparing,
and recompiling would then be independent of local names.
This was a small part of a more global approach to automatic separate
compilation. A program unit consisted of a set of source files that could
cross reference one another. It would not necessarily be possible to
recompile one file by itself---recompiling defininition "f" in file A might
require doing some work on definition "g" in file B, which might in turn
require doing some work on "h" in file A, etc.
This is a nice way to do incremental compilation, that is similar to the
built-in editor approach, without the editor.
Andrew Wright
Rice University
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.