SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, Python, Tcl/Tk, Ruby, Guile and MzScheme, however the list of supported languages also includes non-scripting languages such as Java, OCAML, CHICKEN, and C#. SWIG is most commonly used to create high-level interpreted programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG may be freely used, distributed, and modified for commercial and noncommercial use.
SWIG could potentially be very useful for automatically generating FFI glue code.
The CVS version of SWIG can dump the parse tree in Common Lisp s-expression form. A little CL program (SWIG/Examples/s-exp/uffi.lisp) creates UFFI declarations from this parse tree. (This is experimental code.)
SWIG also supports Allegro CL.
Swig 1.3.9 release also supports CLISP out of the box. Swig 1.3.9 release also supports CFFI out of the box.
Swig also helps in generating CFFI bindings and a nice CLOS interface for C++ classes (version 1.3.31 and onwards).
The Swig documentation for CFFI and CLISP has been made part of the Standard SWIG documentation and can be found at http://www.swig.org/Doc1.3/Lisp.html.
This page is linked from: CFFI ffi Matthias Koeppe Surendra Singhi UFFI
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively