Jason.Kankiewicz@f345.n109.z1.fidonet.org (Jason Kankiewicz) (07/07/90)
Why go through the trouble of calling separate compilers? It might be easier to have object code compatibility between several different compilers. With Benchmark, for example, assembly language can be used to write a module as long as you write a DEFINITION module for the assembly code, compile and link the assembly code and the run M2GenObm on it. Perhaps a similar method could be adopted for 'C' and other languages, then all you'd need is a M2GenOBM package that could incorporate the different object code standards. You wouldn't have to mess around with the compiler at all. The ideal situation would be to have several different language compilers which all produce the same kind of object code. I think Jensen & Partners Int. has done this with their TopSpeed line of compilers. -- uucp: uunet!m2xenix!puddle!109!345!Jason.Kankiewicz Internet: Jason.Kankiewicz@f345.n109.z1.fidonet.org
moeller@uniol.UUCP (Klaus Moeller) (07/12/90)
Jason.Kankiewicz@f345.n109.z1.fidonet.org (Jason Kankiewicz) writes: >Why go through the trouble of calling separate compilers? It might be >easier to have object code compatibility between several different >compilers. With Benchmark, for example, assembly language can be used >to write a module as long as you write a DEFINITION module for the >assembly code, compile and link the assembly code and the run M2GenObm >on it. Perhaps a similar method could be adopted for 'C' and other >languages, then all you'd need is a M2GenOBM package that could >incorporate the different object code standards. You wouldn't have to >mess around with the compiler at all. The ideal situation would be to >have several different language compilers which all produce the same This is avaliable for UNIX too. Unix uses COFF (Common Object File Format) and all compilers on a UNIX machine *should* use this format for thier object code. The linker ld can then bind all the different objects together. We did so with C, Pascal, Fortran and Assembler. The MOCKA Compiler has the DEFINITION Module interface mentioned above. It's called FOREIGN MODULE there and works very well. -- /---------------------------------------------------------------------\ / Klaus Moeller, Leiteweg 2, 2940 Wilhelmshaven, West - Germany \ | UUCP : moeller at uniol.uucp | BITNET : 078326 at DOLUNI1.BITNET | |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| \ Fill what's empty, empty what's full and scratch where it itches / \---------------------------------------------------------------------/