SWIG

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 43 articles )

Showing results 21 to 40 of 43.
Sorted by year (citations)
  1. Andersson, Joel; Åkesson, Johan; Diehl, Moritz: CasADi: a symbolic package for automatic differentiation and optimal control (2012)
  2. Harrington, Anthony; Cahill, Vinny: Model-driven engineering of planning and optimisation algorithms for pervasive computing environments (2011) ioport
  3. Ramsey, Norman: Embedding an interpreted language using higher-order functions and types (2011)
  4. Galiano, Vicente; Migallón, Héctor; Migallón, Violeta; Penadés, Jose: PyPnetCDF: a high level framework for parallel access to netCDF files (2010)
  5. Logg, Anders; Wells, Garth N.: DOLFIN: automated finite element computing (2010)
  6. Miller, Andrew K.; Marsh, Justin; Reeve, Adam; Garny, Alan; Britten, Randall; Halstead, Matt D. B.; Cooper, Jonathan; Nickerson, David P.; Nielsen, Poul M. F.: An overview of the cellml API and its implementation (2010) ioport
  7. Rasch, Arno; Bücker, H. Martin: EFCOSS: an interactive environment facilitating optimal experimental design (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. Ramachandran, Prabhu; Ramakrishna, M.: An object-oriented design for two-dimensional vortex particle methods (2009)
  11. Sala, Marzio; Spotz, William F.; Heroux, Michael A.: PyTrilinos: High-performance distributed-memory solvers for Python (2008)
  12. Sala, Marzio; Stanley, Kendall S.; Heroux, Michael A.: On the design of interfaces to sparse direct solvers. (2008)
  13. Schreppers, Walter; Cuyt, Annie A. M.: Algorithm 871: A C/C++ precompiler for autogeneration of multiprecision programs. (2008)
  14. Logg, Anders: Automating the finite element method (2007)
  15. Nilsen, Jon Kristian: MontePython: implementing quantum Monte Carlo using Python (2007)
  16. Rickett, Christopher D.; Choi, Sung-Eun; Rasmussen, Craig E.; Sottile, Matthew J.: Rapid prototyping frameworks for developing scientific applications: A case study (2006) ioport
  17. Russell K. Standish, Duraid Madina: Classdesc and Graphcode: support for scientific programming in C++ (2006) not zbMATH
  18. Beazley, D. M.: An extensible compiler for creating scriptable scientific software (2002)
  19. Fletcher, John P.: Symbolic processing of Clifford numbers in C++ (2002)
  20. Jackson, Keith R.: pyGlobus: a Python interface to the Globus Toolkit(^TM) (2002)

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