An extensible compiler for creating scriptable scientific software. Scripting languages such as Python and Tcl have become a powerful tool for the construction of flexible scientific software because they provide scientists with an interpreted problem solving environment and they form a modular framework for controlling software components written in C, C++, and Fortran. However, a common problem faced by the developers of a scripted scientific application is that of integrating compiled code with a high-level interpreter. This paper describes SWIG, an extensible compiler that automates the task of integrating compiled code with scripting language interpreters. SWIG requires no modifications to existing code and can create bindings for eight different target languages including Python, Perl, Tcl, Ruby, Guile, and Java. By automating language integration, SWIG enables scientists to use scripting languages at all stages of software development and allows existing software to be more easily integrated into a scripting environment.

References in zbMATH (referenced in 18 articles )

Showing results 1 to 18 of 18.
Sorted by year (citations)

  1. Pommereau, Franck: SNAKES: a flexible high-level Petri nets library (tool paper) (2015)
  2. Krause, Dorian; Fackeldey, Konstantin; Krause, Rolf: A parallel multiscale simulation toolbox for coupling molecular dynamics and finite elements (2014)
  3. Talebi, Hossein; Silani, Mohammad; Bordas, Stéphane P.A.; Kerfriden, Pierre; Rabczuk, Timon: A computational library for multiscale modeling of material failure (2014)
  4. Andersson, Joel; Åkesson, Johan; Diehl, Moritz: CasADi: A symbolic package for automatic differentiation and optimal control (2012)
  5. Harrington, Anthony; Cahill, Vinny: Model-driven engineering of planning and optimisation algorithms for pervasive computing environments (2011)
  6. Ramsey, Norman: Embedding an interpreted language using higher-order functions and types (2011)
  7. Galiano, Vicente; Migallón, Héctor; Migallón, Violeta; Penadés, Jose: PyPnetCDF: a high level framework for parallel access to netCDF files (2010)
  8. Drummond, L.Anthony; Galiano, Vicente; Migallón, Violeta; Penadés, Jose: PyACTS: A Python based interface to ACTS tools and parallel scientific applications (2009)
  9. Lang, Duncan Temple: Working with meta-data from C/C++ code in R: the RGCCTranslationUnit package (2009)
  10. Sala, Marzio; Spotz, William F.; Heroux, Michael A.: PyTrilinos: High-performance distributed-memory solvers for Python (2008)
  11. Sala, Marzio; Stanley, Kendall S.; Heroux, Michael A.: On the design of interfaces to sparse direct solvers. (2008)
  12. Schreppers, Walter; Cuyt, Annie A.M.: Algorithm 871: A C/C++ precompiler for autogeneration of multiprecision programs. (2008)
  13. Logg, Anders: Automating the finite element method (2007)
  14. Nilsen, Jon Kristian: MontePython: implementing quantum Monte Carlo using Python (2007)
  15. Rickett, Christopher D.; Choi, Sung-Eun; Rasmussen, Craig E.; Sottile, Matthew J.: Rapid prototyping frameworks for developing scientific applications: A case study (2006)
  16. Beazley, D.M.: An extensible compiler for creating scriptable scientific software (2002)
  17. Fletcher, John P.: Symbolic processing of Clifford numbers in C++ (2002)
  18. Gansner, Emden R.; North, Stephen C.: An open graph visualization system and its applications to software engineering (2000)

Further publications can be found at: http://www.swig.org/doc.html