Re: Newbie question: What is the importance for a compiler to be able to compi

Barry Kelly <barry.j.kelly@gmail.com>
Fri, 22 May 2009 19:05:01 +0100

          From comp.compilers

Related articles
[10 earlier articles]
Re: Newbie question: What is the importance for a compiler to be able torbenm@pc-003.diku.dk (2009-05-20)
Re: Newbie question: What is the importance for a compiler to be able armencho@gmail.com (2009-05-20)
Re: Newbie question: What is the importance for a compiler to be able marcov@snail.stack.nl (Marco van de Voort) (2009-05-20)
Re: Newbie question: What is the importance for a compiler to be able jeremy.wright@microfocus.com (Jeremy Wright) (2009-05-20)
Re: Newbie question: What is the importance for a compiler to be able DrDiettrich1@aol.com (Hans-Peter Diettrich) (2009-05-20)
Re: Newbie question: What is the importance for a compiler to be able blog@rivadpm.com (alextangent) (2009-05-21)
Re: Newbie question: What is the importance for a compiler to be able barry.j.kelly@gmail.com (Barry Kelly) (2009-05-22)
| List of all articles for this month |

From: Barry Kelly <barry.j.kelly@gmail.com>
Newsgroups: comp.compilers
Date: Fri, 22 May 2009 19:05:01 +0100
Organization: Compilers Central
References: 09-05-086 09-05-089 09-05-098
Keywords: practice, Pascal, C
Posted-Date: 24 May 2009 19:32:57 EDT

Hans-Peter Diettrich wrote:


> The Delphi compiler possibly is written in C/C++ (CBuilder), as have


The compiler is written entirely in C, except for some small bits for
integration with the IDE debugger, as an abstract base class
implementation, that forwards to C routines. It's compiled with bcc32.


> been parts of the libraries. At least Delphi 4 could not recompile the
> libraries, because the supplied library code contained some C
> snippets.


There is no C in a minimal Delphi RTL. You can compile System.pas with
the undocumented '-y' switch and proceed from there.


There are some things, such as zlib and jpeg libraries, which are
written in C, compiled to .obj files and linked into Delphi units, but
they aren't mandatory to get a working RTL.


It used to be the case that tasm32 was required, for certain
floating-point code; this code was shared between compiler and RTL for
consistency. When the built-in assembler was rewritten for better Linux
support, there was no longer a reliance on tasm32 in the RTL. The
compiler still uses that code for constant expression evaluation in
certain scenarios though.


The C/C++ compiler (bcc32) is compiled by itself. So I guess you could
say there are two compilers and an assembler involved, not to mention
the linkers / resource compilers etc.


-- Barry


--
http://barrkel.blogspot.com/



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.