Michael Van Canneyt michael.vancanneyt at wisa.be
Tue Jun 29 06:20:35 EDT 1999

On Tue, 29 Jun 1999, Ove Kaaven wrote:

> On Tue, 29 Jun 1999, Michael Van Canneyt wrote:
> > > >2) We're not writing 'p2c' here :)
> > > >
> > > >Once we had a proposition from a commercial company to support a dialect of
> > > >their pascal compiler (development of which was being discontinued). 
> > > >In the end they wanted a Pascal to C converter. 
> > > >It was the end of our conversations :-)
> > > 
> > > I think you are not understanding me..
> > 
> > Oh, I do, don't worry :)
> No I think you don't.

Whow ! telepathy at work here :-)

> > > gcc support more platforms than FPC, rigth ?
> > > 
> > > so instead of making assembly code, FPC could be integrated
> > > with gcc, using it like the backend compiler to generate
> > > code in _any_ platform that is supported by gcc
> > > (wich is /lots/ of platforms).
> > 
> > Then you have p2c. We don't want p2c !
> You don't get p2c.

Yes you do. READ the sentence: "using it like the backend compiler."
not "use it's backend".

> gcc's backend compiler compiles RTL, not C.

I know. So do GPC and G77 too I think, although I'm not sure of the latter.
> gcc's frontend converts C to RTL.

I know. That is why they can port to new platforms quite easily,. All that needs
to be changed is the RTL->assembly converter. We've studied the RTL mechanism
to see how it is done. Impressive piece of work. Hats off for the GCC people !!

> gpc's frontend converts Pascal to RTL. How come you mention how gpc was
> done without being aware of how things are designed?

Hey, I studied GPC in it's very early stages! I even managed to compile
it under DOS-EMX. Quite a feat at that stage of development. I then had
lots of contact with Peter Gerwinsky, one of the maintainers.

> I had the impression that the reason you didn't use gpc was because it
> didn't have enough Borlandisms, not because of any compiler bigotry.
> Was I wrong?

Yes you are wrong. In the end I had more luck running FPC than GPC.
Then I ported FPC to linux, and I was hooked :-)

Anyway, the first week of august, the FPC developers will meet.
The big point is then the redesign of the code generator: In principle,
we'll redesign it using OOP so that porting to a new processor will
essentially be reduced to the overriding of a limited number of
abstract methods. (disregarding processor specific optimization routines)
We believe that:
1. This will be a easier to grasp method than the RTL used by GCC.
2. We'll be able to use a better data flow analyzer, resulting in better
2. It is more in line with the rest of the compiler, which is also OOP.
   The code generator now is essentially linear procedure based now. 

I you don't mind, I'd say 'Discussion closed, there is work to do' :-)


More information about the Lazarus mailing list