|[Info] Portable Object Compiler firstname.lastname@example.org (David Stes) (1997-07-08)|
|Re: [Info] Portable Object Compiler email@example.com (David Stes) (1997-07-09)|
|Re: [Info] Portable Object Compiler firstname.lastname@example.org (Chris Ebenezer) (1997-07-13)|
|Re: [Info] Portable Object Compiler email@example.com (David Stes) (1997-07-16)|
|From:||David Stes <firstname.lastname@example.org>|
|Date:||9 Jul 1997 23:18:56 -0400|
> How does this differ from the Objective C front end that
> comes with GCC?
They're different compilers for the same language ("syntax").
Objective-C as developed by Stepstone (http://www.stepstn.com)
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,
Return to the
Search the comp.compilers archives again.