Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Message-passing multi-cell molecular dynamics on the Connection Machine 5
Parallel Computing
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Computers in Physics
The future of scientific programming
Computers in Physics
Controlling the data glut in large-scale molecular-dynamics simulations
Computers in Physics
VPython: 3D interactive scientific graphics for students
Computing in Science and Engineering
Lightweight computational steering of very large scale molecular dynamics simulations
Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
Inside XML
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Advanced PERL Programming
An Open-Source Project for Modeling Hydrodynamics in Astrophysical Systems
Computing in Science and Engineering
SWIG: an easy to use tool for integrating scripting languages with C and C++
TCLTK'96 Proceedings of the 4th conference on USENIX Tcl/Tk Workshop, 1996 - Volume 4
Automated wrapping of a C++ class library into Tcl
TCLTK'96 Proceedings of the 4th conference on USENIX Tcl/Tk Workshop, 1996 - Volume 4
Rapid prototyping frameworks for developing scientific applications: A case study
The Journal of Supercomputing
Advanced resource connector middleware for lightweight computational Grids
Future Generation Computer Systems - Special section: Information engineering and enterprise architecture in distributed computing environments
PyTrilinos: High-performance distributed-memory solvers for Python
ACM Transactions on Mathematical Software (TOMS)
On the design of interfaces to sparse direct solvers
ACM Transactions on Mathematical Software (TOMS)
F2PY: a tool for connecting Fortran and Python programs
International Journal of Computational Science and Engineering
Tool support for semi-automatic modularization of existing code bases
Proceedings of the 2009 Workshop on Component-Based High Performance Computing
EFCOSS: An interactive environment facilitating optimal experimental design
ACM Transactions on Mathematical Software (TOMS)
DOLFIN: Automated finite element computing
ACM Transactions on Mathematical Software (TOMS)
PYTRILINOS: high-performance distributed-memory solvers for Python
PARA'06 Proceedings of the 8th international conference on Applied parallel computing: state of the art in scientific computing
Piccolo: building fast, distributed programs with partitioned tables
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
Hi-index | 0.00 |
Scripting languages such as Python and Tcl are a powerful tool for the construction of flexible scientific software because they provide scientists with an interpreted problem solving environment and they provide 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 an interpreter. To solve this problem, an extensible compiler, simplified wrapper and interface generator (SWIG), has been developed to automate the task of integrating compiled code with scripting language interpreters. SWIG requires no modifications to existing code and uses existing source to create bindings for nine different target languages including Python, Peal, 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. Although SWIG has been in use for more than 6 years, little has been published on its design and the underlying mechanisms that make it work. Therefore, the primary goal of this paper is to cover these topics.