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

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

1 2 next

  1. Ahmed Attia, Adrian Sandu: DATeS: A Highly-Extensible Data Assimilation Testing Suite (2017) arXiv
  2. Langtangen, Hans Petter; Linge, Svein: Finite difference computing with PDEs. A modern software approach (2017)
  3. Pierre Fernique, Christophe Pradal: AutoWIG: Automatic Generation of Python Bindings for C++ Libraries (2017) arXiv
  4. Roberto Souza, Letícia Rittner, Rubens Machado, Roberto Lotufo: iamxt: Max-tree toolbox for image processing and analysis (2017)
  5. König, Marcel; Radtke, Lars; Düster, Alexander: A flexible C++ framework for the partitioned solution of strongly coupled multifield problems (2016)
  6. Linaro, Daniele; Storace, Marco: BAL: a library for the \itbrute-force analysis of dynamical systems (2016)
  7. Yallop, Jeremy; Sheets, David; Madhavapeddy, Anil: Declarative foreign function binding through generic programming (2016)
  8. Pommereau, Franck: SNAKES: a flexible high-level Petri nets library (tool paper) (2015)
  9. Śmigaj, Wojciech; Betcke, Timo; Arridge, Simon; Phillips, Joel; Schweiger, Martin: Solving boundary integral problems with BEM++ (2015)
  10. Ying, Jinyong; Xie, Dexuan: A new finite element and finite difference hybrid method for computing electrostatics of ionic solvated biomolecule (2015)
  11. Krause, Dorian; Fackeldey, Konstantin; Krause, Rolf: A parallel multiscale simulation toolbox for coupling molecular dynamics and finite elements (2014)
  12. Talebi, Hossein; Silani, Mohammad; Bordas, Stéphane P.A.; Kerfriden, Pierre; Rabczuk, Timon: A computational library for multiscale modeling of material failure (2014)
  13. Andersson, Joel; Åkesson, Johan; Diehl, Moritz: CasADi: A symbolic package for automatic differentiation and optimal control (2012)
  14. Harrington, Anthony; Cahill, Vinny: Model-driven engineering of planning and optimisation algorithms for pervasive computing environments (2011) ioport
  15. Ramsey, Norman: Embedding an interpreted language using higher-order functions and types (2011)
  16. Galiano, Vicente; Migallón, Héctor; Migallón, Violeta; Penadés, Jose: PyPnetCDF: a high level framework for parallel access to netCDF files (2010)
  17. Logg, Anders; Wells, Garth N.: DOLFIN: automated finite element computing (2010)
  18. Rasch, Arno; Bücker, H.Martin: EFCOSS: an interactive environment facilitating optimal experimental design (2010)
  19. Drummond, L.Anthony; Galiano, Vicente; Migallón, Violeta; Penadés, Jose: PyACTS: A Python based interface to ACTS tools and parallel scientific applications (2009)
  20. Lang, Duncan Temple: Working with meta-data from C/C++ code in R: the RGCCTranslationUnit package (2009)

1 2 next


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