Automated scientific software scripting with SWIG

Automated scientific software scripting with SWIG
复制标题

DOI:
10.1016/s0167-739x(02)00171-1
复制
发表时间:
2003-07-01
期刊:
FUTURE GENERATION COMPUTER SYSTEMS
影响因子:
--
通讯作者:
Beazley, DM
Beazley, DM
中科院分区:
其他
文献类型:
--
作者:
Beazley, DM

文献摘要

被引文献

相似文献

Python和Tcl等脚本语言是构建灵活的科学软件的强大工具,因为它们为科学家提供了一个解释性的问题解决环境,并提供了一个模块化的框架来控制用C、C++和Fortran编写的软件组件。然而,脚本化科学应用程序的开发人员面临的一个常见问题是将编译代码与解释器集成。为了解决这个问题,一个可扩展的编译器,简化的包装器和接口生成器(SWIG),已经开发出自动化的任务集成编译代码与脚本语言解释器。SWIG不需要修改现有代码,并使用现有源代码为九种不同的目标语言创建绑定,包括Python,Perl,Tcl,Ruby,Guile和Java。通过自动化语言集成,SWIG使科学家能够在软件开发的所有阶段使用脚本语言,并使现有软件更容易集成到脚本环境中。虽然SWIG已经使用了6年多,但关于其设计和使其工作的基本机制的出版物很少。因此,本文的主要目标是涵盖这些主题。(C)2002 Elsevier Science B.V.保留所有权利。
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.