summaryrefslogtreecommitdiff
path: root/devel/swig/pkg-descr
blob: ef3ff7ab611856c8ad81a15fc8e1502032b06c7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
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#, Common Lisp (CLISP, Allegro
CL, CFFI, UFFI), D, Go language, Java, Lua, Modula-3, OCAML, Octave and R. Also
several interpreted and compiled Scheme implementations (Guile, MzScheme/Racket,
Chicken) 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 and Lisp s-expressions.