Related articles |
---|
Semantic difference of source files m.helvensteijn@gmail.com (Michiel) (2008-08-17) |
Re: Semantic difference of source files m.helvensteijn@gmail.com (Michiel) (2008-08-17) |
Re: Semantic difference of source files barry.j.kelly@gmail.com (Barry Kelly) (2008-08-18) |
Re: Semantic difference of source files DrDiettrich1@aol.com (Hans-Peter Diettrich) (2008-08-18) |
Re: Semantic difference of source files gah@ugcs.caltech.edu (glen herrmannsfeldt) (2008-08-18) |
Re: Semantic difference of source files gah@ugcs.caltech.edu (glen herrmannsfeldt) (2008-08-19) |
Re: Semantic difference of source files marcov@stack.nl (Marco van de Voort) (2008-08-20) |
Re: Semantic difference of source files gah@ugcs.caltech.edu (glen herrmannsfeldt) (2008-08-20) |
Re: Semantic difference of source files DrDiettrich1@aol.com (Hans-Peter Diettrich) (2008-08-23) |
Re: Semantic difference of source files marcov@stack.nl (Marco van de Voort) (2008-08-24) |
Re: Semantic difference of source files Jatin_Bhateja@mentor.com (Jatin Bhateja) (2008-08-28) |
Re: Semantic difference of source files m.helvensteijn@gmail.com (2008-08-28) |
From: | Marco van de Voort <marcov@stack.nl> |
Newsgroups: | comp.compilers |
Date: | Wed, 20 Aug 2008 07:46:53 +0000 (UTC) |
Organization: | Stack Usenet News Service |
References: | 08-08-025 08-08-029 |
Keywords: | parse, performance |
Posted-Date: | 20 Aug 2008 14:00:20 EDT |
On 2008-08-18, Barry Kelly <barry.j.kelly@gmail.com> wrote:
> Delphi does not use separate interface and implementation files, and
> incorporates its own make logic.
Also the files have a clear interface and implementation separation,
which effectively is not that different from two files.
> However, the make logic still uses timestamps to determine when to
> rebuild, because line information and other implementation details may
> have changed, and thus debugging would break.
I'm not entirely sure Delphi/TP does too, but FPC also checks a CRC
over the entire interface (in the compiled header,.ppu) to detect
changes in interface definition (mostly because there are more
compiler versions in circulation, and the risk of only slightly stale
older versions of precompiled files is larger).
> Delphi avoids these problems by having a intermediate-file compilation
> strategy like C & C++, but storing the interface information in the
> intermediate file itself.
And not quiting the compiler for every file.
>> * You need to save a representation of the AST when compiling. This is, I
>> believe, a low price to pay. Perhaps it could even be attached to the
>> result file as a sort of meta-data.
>
> Oddly enough, Delphi also stores representations of selected ASTs in
> object files in order to support generics (very roughly equivalent to
> C++ template export). These ASTs are stored as binary blobs and the
> blobs themselves versioned in a binary fashion, after making all line
> number info in the AST relative.
(And cross unit inlining also I assume)
Return to the
comp.compilers page.
Search the
comp.compilers archives again.