Connects C/C++/Objective C to some high-level programming languages
Description
SWIG is a software development tool that connects programs written in C
and C++ with a variety of high-level programming languages. SWIG is used
with different types of target languages including common scripting languages
such as Javascript, Perl, PHP, Python, Tcl and Ruby. The list of supported
languages also includes non-scripting languages such as C#, D, Go language,
Java including Android, Lua, OCaml, Octave, Scilab and R. Also several interpreted
and compiled Scheme implementations (Guile, MzScheme/Racket) are supported. SWIG
is most commonly used to create high-level interpreted or compiled programming
environments, user interfaces, and as a tool for testing and prototyping C/C++
software. SWIG is typically used to parse C/C++ interfaces and generate the
'glue code' required for the above target languages to call into the C/C++ code.
SWIG can also export its parse tree in the form of XML. SWIG is free software and
the code that SWIG generates is compatible with both commercial and non-commercial projects.