Portable Object Compiler iconPortable Object Compiler 0.2.2

Portable Object Compiler project consists of a set of Objective-C class libraries and a precompiler (translator) that generates
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 !

Requirements:

· 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.

Main features:

  • 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 !

last updated on:
February 15th, 2007, 15:34 GMT
price:
FREE!
developed by:
Portable Object Compiler Team
license type:
GPL (GNU General Public License) 
category:
ROOT \ Programming \ Interpreters

FREE!

In a hurry? Add it to your Download Basket!

user rating 20

UNRATED
2.7/5
 

0/5

Add your review!

SUBMIT