Automated scientific software scripting with SWIG

被引:75
作者
Beazley, DM [1 ]
机构
[1] Univ Chicago, Dept Comp Sci, Chicago, IL 60637 USA
关键词
scientific software; SWIG; scripting languages; !text type='python']python[!/text; interface compiler;
D O I
10.1016/S0167-739X(02)00171-1
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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, 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. 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. (C) 2002 Elsevier Science B.V. All rights reserved.
引用
收藏
页码:599 / 609
页数:11
相关论文
共 21 条
[1]  
Aho Alfred V., 1986, ADDISON WESLEY SERIE
[2]  
[Anonymous], P 2 INT SCI COMP OBJ
[3]   MESSAGE-PASSING MULTICELL MOLECULAR-DYNAMICS ON THE CONNECTION MACHINE 5 [J].
BEAZLEY, DM ;
LOMDAHL, PS .
PARALLEL COMPUTING, 1994, 20 (02) :173-195
[4]  
Beazley DM, 1997, COMPUT PHYS, V11, P230
[5]  
Beazley DM, 1996, PROCEEDINGS OF THE FOURTH ANNUAL TCL/TK WORKSHOP, P129
[6]  
BEAZLEY DM, 1996, P SUP 96
[7]  
CHIBA S, 1995, P ACM C OBJ OR PROGR, P285
[8]  
DUBOIS P, 2000, P 8 INT PYTH C
[9]  
Dubois P. F., 1996, Computers in Physics, V10, P262
[10]  
Dubois PF, 1997, COMPUT PHYS, V11, P168