Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!swrinde!ucsd!ucbvax!bloom-beacon!eru!luth!sunic!mcsun!unido!uniol!moeller From: moeller@uniol.UUCP (Klaus Moeller) Newsgroups: comp.lang.modula2 Subject: Re: Multicompilers in Message-ID: <3063@uniol.UUCP> Date: 12 Jul 90 09:16:56 GMT References: <1273.26982CAD@puddle.fidonet.org> Organization: University of Oldenburg, W-Germany Lines: 27 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 / \---------------------------------------------------------------------/