Portable Object Compiler 0.2.2

Portable Object Compiler project consists of a set of Objective-C class libraries and a precompiler (translator) that generates

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!
send us
an update
GPL (GNU General Public License) 
2.7/5 20
Portable Object Compiler Team
ROOT \ Programming \ Interpreters
Portable Object Compiler project consists of a set of Objective-C class libraries and a precompiler (translator) that generates plain C code.

Here are some key features of "Portable Object Compiler":

· Easy to install or to modify.
· Works on many systems with the native cc, debugger, profiler etc. (Unix, Windows, Macintosh, Beos, OpenVMS etc. see Platforms.txt file)
· Option for reference counted memory management (-refcnt). This uses the native malloc(), free() etc. but the compiler generates statements for keeping track of references (Tested on a few platforms, such as IRIX 5.2 with the SGI malloc).
· Built-in possibility of tracing Objective C messages. (OBJCRTMSG)
· Straightforward "C" messenger; "inline cache" messenger. Forwarding C messenger (to support -doesNotUnderstand:).
· All classes get a +initialize message at start-up, rather than 'each class receives a +initialize before it receives its first message'.
· Some support for translating Objective-C to Smalltalk (-st80 option)
· Automatic archiver. Compiler generates code for classes to save and load objects to and from disk (for all instance variables of type "id").
· Option for Garbage Collection (using Boehm gc package). Tested on some UNIXes and WIN32. Option for reference counted memory management (doesn't require Boehm).
· Exception handling scheme (using Objective-C Blocks) that allows to specify a default handler to be executed.
· Supports dynamically loading Objective-C modules on Windows, FreeBSD, HP-UX, Linux, IRIX, Digital Unix etc.
· Has a switch for double indirection for Object identifiers (id as a handle instead of a pointer). (-become: method)
· Supports forwarding messages (-doesNotUnderstand: method)
· Support for Embedded SQL in Objective-C (Informix only for now)
· Great system for experimentation with your own additions/extensions to Objective C !


· Obtain a copy of 'gcc' or use the C compiler 'cc' of your specific system (depending on the system you use, the native 'cc' may be better or worse than gcc)
· Compile flex-2.5.4 if you don't have flex; don't use lex
· Compile BSD byacc 1.9.1 (and install as 'byacc', bison could be used as alternative, but I recommend byacc)
· Install objc-bootstrap-3.2.8.tar.gz (install this package before you install objc-3.2.8 !!)
· Install objc-3.2.8.tar.gz.
· Optionally, for the class browser, install cursel-0.2.2.tar.gz.
X11Blocks-0.0.1.tar.gz is a library (under development) for · X11 development based on the Objective-C blocks concept.

Last updated on February 15th, 2007

feature list requirements

#Objective-C class libraries #precompiler #generates plain C code #Portable #Object #Compiler #Objective-C

Add your review!