gmt@arizona.edu (Gregg Townsend) (07/08/87)
We're working on a compiler we wish to distribute freely. Right now it uses the Amsterdam Compiler Kit (ACK) for code generation, but of course that's proprietary. We'd like to have something we could send out with the compiler. Can anyone point me to a suitable public-domain code generator? It would need to generate at least Sun (680x0) and Vax code. Thanks in advance, Gregg Townsend / Computer Science Dept / Univ of Arizona / Tucson, AZ 85721 +1 602 621 4325 gmt@Arizona.EDU 110 57 17 W / 32 13 47 N / +758m [I'd like to see one, too, but I suspect you're out of luck. -John] -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request
johnl@ima.ISC.COM (John R. Levine) (07/16/87)
In article <612@ima.ISC.COM> gmt@arizona.edu (Gregg Townsend) writes: >... >Can anyone point me to a suitable public-domain code generator? It would need >to generate at least Sun (680x0) and Vax code. Wait - a freely distributable compiler/code generator that makes Vax and Sun code? That's right, folks, the Gnu C compiler (currently in late beta test) is just the thing for you. It dices, it slices (oops - sorry)... No really, I've been hacking at GCC lately (stealing the front end for my stub compiler) and it's a fine piece of work. It's set up to be (relatively) language independent, though it hasn't been used for anything other than C yet. It builds 2 intermediate forms: first, a parse tree, which should be fairly language independent (they've provided hooks for languages other than C) and second a Register Transfer Language IF on which they do pretty well all of their optimisation and code generation. As big C programs go, this one is pretty well written and reasonably easy to read. It comes with a document which describes the RTL trees, how the optimisations are done, and how the code generator is driven, including how to write new machine descriptions. My first look at the code shows more than a few sizeof(int)==sizeof(long) problems, because the Gnu people don't believe in 16-bit machines, but aside from that it should be reasonably portable across BSD Unices. - irving - (reid@sask.uucp or {alberta, ihnp4, utcsri}!sask!reid) -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request -- John R. Levine, Javelin Software Corp., Cambridge MA +1 617 494 1400 { ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl, Levine@YALE.something U.S. out of New Mexico!