Check out the new USENIX Web site.

A New Architecture for the Implementation of Scripting Languages


Adam Sah and Jon Blow
Computer Science Division
Electrical Engineering and Computer Sciences
University of California
Berkeley, CA 94720
{asah,blojo}@cs.Berkeley.EDU

Abstract

Nearly all scripting languages today are implemented as interpreters written in C. We propose an alternate architecture where the language is translated into the dynamic language Scheme [R4RS]. The plethora of high quality, public domain Scheme implementations give the developer a wide selection of interpreters, byte compilers, and machine code compilers to use as targets for her VHLL. Our VHLL, Rush, provides high-level features such as automatic type conversion and production rules [SHH86][Ston93]. Performance benchmarks show that our system runs with acceptable speed; in fact, Rush programs run much more quickly than their equivalents in languages such as Tcl and Perl4. Whereas those languages are coded in C, Rush takes advantage of Scheme's existing high-level features, saving de- velopment time. Since the features provided by Scheme are among those most VHLLs share, we expect this approach to be widely applicable.


Download the full text of this paper in ASCII (51,747 bytes) and POSTSCRIPT (99,273 bytes) form.

To Become a USENIX Member, please see our Membership Information.