SWIG
A code generator for connecting C/C++ with other programming languages
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, Lua, OCaml, Octave, R and Scilab. Also several interpreted and compiled Scheme implementations (Guile, MzScheme/Racket...