Friday, March 01, 2002

Many software professionals recognize the value of hybrid compiled/interpreted software environments. Compiled languages such as C and C provide efficiency, speed, and flexible data structure representation. Interpreted languages such as Tcl or Python remove the compile/link cycle from the development process, are indispensable for prototyping, and provide a multitude of packages for creating GUI's, numerics, and web access.
The creation of such hybrid environments is difficult. Typically C/C developers will manually add the interpreted language binding, or use semi-automatic tools such as SWIG. In some cases, custom wrapper generators have been created that are specialized to a particular system, such as the Visualization Toolkit (VTK). However, no fully automatic, general wrapping system has been available. As a result, mixed language systems are less common than might be expected, requiring excessive resources to develop.
Kitware, Inc. has developed an open-source wrapping package called CABLE (CABLE Automates Bindings for Language Extension). It is a tool designed to automatically generate bindings to C classes for use in interpreted languages. This system works in conjunction with GCC-XML, an extension to the GCC compiler. GCC-XML, also developed by Brad King at Kitware, is used to parse arbitrarily complex C code and then produce an XML representation. This representation is then processed by CABLE to generate wrappers. See the page on Running CABLE for more details.

0 Comments:

Post a Comment

<< Home