SWIG is a software development tool that simplifies the task of interfacing different languages to C and C++ programs. In a
nutshell, SWIG is a compiler that takes C/C++ declarations and creates the wrappers needed to access those declarations from
other languages including including Perl, Python, Tcl, Ruby, Guile, and Java. SWIG normally requires no modifications to
existing code and can often be used to build a usable interface in only a few minutes.