Re: [Info] Portable Object Compiler

David Stes <>
9 Jul 1997 23:18:56 -0400

          From comp.compilers

Related articles
[Info] Portable Object Compiler (David Stes) (1997-07-08)
Re: [Info] Portable Object Compiler (David Stes) (1997-07-09)
Re: [Info] Portable Object Compiler (Chris Ebenezer) (1997-07-13)
Re: [Info] Portable Object Compiler (David Stes) (1997-07-16)
| List of all articles for this month |

From: David Stes <>
Newsgroups: comp.compilers
Date: 9 Jul 1997 23:18:56 -0400
Organization: Compilers Central
Keywords: C, OOP

> How does this differ from the Objective C front end that
> comes with GCC?
> -John

They're different compilers for the same language ("syntax").
Objective-C as developed by Stepstone (

But note that gcc is a two-pass compiler, not a three-pass, as
this entirely new compiler... gcc doesn't output intermediate C code.

Having intermediate C code is interesting if you want to use
Objective-C on some platforms with good native C compilers,
some new high-end IRIX workstations (MIPS-pro C compiler),
or some HP-UX workstations with the PA-RISC cc.

Or simply (at the low end), 16-bit compilers like the WATCOM wcc,
that support the different DOS memory models.

Or, if you want to use a C++ compiler as back-end.
[gcc has Objective-C and C++, but not an "Objective-C++" frontend to C++].

In addition, because it's a small project compared to something "big"
like gcc, it allows for much more focus on, and faster development of
the Objective-C side of things ...

Examples that come to mind are the inline-cache messenger, the
compiler support for archiving Objective-C objects, thread-safety,
support for garbage collection, and experiments related to adding
"blocks" to the language ...

The runtime libraries are significantly different. A lot of work went
into the development of the "standard object library" that comes with
the compiler, as opposed perhaps to the compiler itself.

In the spirit of the language, those objects are internally
implemented in C (e.g. big-int arithmetic, or modular polynomial
arithmetic), but externally look like Smalltalk classes.

Hope this motivation answers a bit the question,


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.