HP3000-L Archives

August 1999, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Mark Klein <[log in to unmask]>
Reply To:
Date:
Thu, 26 Aug 1999 08:37:47 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (27 lines)
>Gnu's portability accrues through the same process. It too has an
>intermediate code generator, but I won't say much more than this because I
>know very little about gnu (but you gnu I'd say that).

Actually, that's quite true. The GCC (now the GNU Compiler Collection)
languages all reduce to an intermediate language called RTL (stands for
Register Transfer Language), a Smalltalk like language used to model
the underlying architecture. All of the optimization phases of the compiler
operate on RTL. All of the language front-ends generate RTL, and the task
of the "porter" is to write a backend that reduces the RTL into machine
code for the target architecture. That is an over simplification, but
you get the idea.

One of the side benefits of this structure is that compilers are all
cross-compilers. They can run on one platform and generate code for
another. For example, I was doing most of my original work on first
an 386 running SCO Unix and later FreeBSD (actually, had I had access
to an HP-UX box at the time, things would have been much easier and
faster). The day that I was finally able to get a version of the
compiler running on MPE that was bug free enough to drop cross
development was a big day for me.

Regards,


M.

ATOM RSS1 RSS2