|[5 earlier articles]|
|Re: Semantic difference of source files email@example.com (glen herrmannsfeldt) (2008-08-19)|
|Re: Semantic difference of source files firstname.lastname@example.org (Marco van de Voort) (2008-08-20)|
|Re: Semantic difference of source files email@example.com (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 firstname.lastname@example.org (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 email@example.com (2008-08-28)|
|Date:||Thu, 28 Aug 2008 08:49:54 -0700 (PDT)|
|Keywords:||source, debug, optimize|
|Posted-Date:||28 Aug 2008 17:35:23 EDT|
On Aug 28, 9:35 am, Jatin Bhateja <Jatin_Bhat...@mentor.com> wrote:
> >I propose that in addition to comparing modification dates, we
> >compare AST's (if the source file is newer). At the very least this
> >the programmer to modify style, layout and comments without requiring any
> >recompilation at all. If the comparison utility is smart enough, you may
> >even perform trivial refactoring without losing semantic equivalence.
> As per your thought programmer can make cosmetic changes like changing
> the comments / spaces / tabs / new lines,
> any such cosmetic change will not lead to re-compilation. How are you
> going to keep the line number info updated ?
> It needed by source debugger to refer to correct source line analogous
> to current assembly/machine instruction .
Good question. It's something I did not initially consider. Of course,
when compiling in release mode, this is not a problem. But I agree
this is unacceptable, since it's exactly in debug mode where you want
the compilation to be fast.
I'm not sure how line-numbers and such are usually stored in a binary
file. However, I imagine it would be possible to store that
information in a separate section of the binary, clearly marked with a
unique bit-sequence. Then it is only that section of the binary that
would need to be updated by the compiler. This also requires nothing
more than the AST. The rest of the binary would be copied bit by bit.
I imagine something like that would probably break binary
compatibility for existing compilers. I can't say much about this with
my limited experience. But it may be a sacrifice worth making.
Return to the
Search the comp.compilers archives again.