Paul Rosen wrote:

> This certainly seems like a universal problem, not just ours. I'm only
> familiar with the Windows environment, and it is simple to make a DLL with a
> straight C or COM or .NET interface that any other windows program can use.
> Is there no mechanism like that on MAC and LINUX?

.NET may eventually be portable to many systems through some open source
projects out there.  Personally I find .NET to be a poor design and too
closely tied to C#.  I won't use it and don't recommend it.  If you want a
good framework tied to a specific language, use Java or GNUStep/Cocoa
instead.

COM is MS only.  CORBA might work, but I don't know much about it.

Straight ANSI C in source form is probably the most portable thing out
there, and in a statically linked library (for each platform) is a close
followup, requiring only a recompile for each platform.  Putting it into a
DLLs or the like are also possible, but will require some platform specific
code.  

> I'm thinking that there will probably have to be a portion of this that is
> not portable. There will be the core parser that is portable and has all the
> work in it, then there will be the interface, which may be different for
> different languages and different OSes.

If the parser is in ANSI C, and simply returns a pointer to a C data
structure (which probably points to arrays and other structures...)
containing the parsed data, then the interface is pretty simple and totally
portable.  You'll need to add some glue routines for various languages to
convert that data into something the language can access, but that's not
actually part of the parser itself.

A while back, I suggested the returned data structures should be serialized
into a buffer with all internal pointers converted to offsets, to make it
easier for some languages.  After some thought, I think the parser itself
should just return the top level C structure pointer.  Any other data format
conversions - to a serialized buffer with offsets; to an intermediate text
format; to another language specific format, etc... - can be separate glue
routines.

-->Steve Bennett

To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html

Reply via email to