GNU ccScript

 [image of the Head of a GNU] [ English ]

Table of Contents

Introduction to GNU ccScript

GNU ccScript is a C++ class framework for creating a virtual machine execution system for use with and as a scripting/assembler language for state-transition driven realtime systems. The most common example of this is as the core of the scripting engine found in GNU Bayonne. A new release series, "ccscript3", has recently been created.

GNU ccScript uses a class hierarchy and one extends the ScriptInterp base class to create a new dialect localized for a given applications. One then binds script keywords to method calls in the derived class. This aspect of GNU ccScript resembles in C++ the process of how one might localize tcl.

GNU ccScript is intended for use where step execution is important, and where each step is in response to a callback event or a state machine transition. It offers deterministic execution and low overhead so that many concurrent instances can be running together.

GNU ccScript can execute text files which form the basis of a script language. However, in addition to offering step machine execution, GNU ccScript loads all scripts into an active image at once. This is for performance, as all operations in the script system, to assure deterministic execution, are in memory.

GNU ccScript also offers the ability to load new scripts in-mass. Existing active sessions operate on the currently loaded scripts, and new sessions are offered the new script. When the last active session on an old script set completes, the entire script set is flushed from memory. This enables one to operate scripted servers like GNU Bayonne without downtime to rebuild script images in memory.

GNU ccScript is derived from and requires the use of GNU Common C++. It is not a stand-alone class library.

Downloading GNU ccScript

GNU ccScript will be found on or one of the mirrors. The most current release is ccscript3-0.1.0.

GNU ccScript may be available from other sites in various "package" formats, including GNU/Linux "RPM" packages, ".pkg" files under various Unix operating systems, etc. I do encourage people to distribute GNU ccScript in a package form where convenient for installation, so long as source is also made available.

Contributing to GNU ccScript

As the current GNU ccScript maintainer, I am very open to bringing new ideas and code into GNU ccScript. In particular, I am looking for help with documentation. Anonymous cvs access is maintained for GNU ccScript thru savannah, and I would be happy to receive and evaluate patches for inclusion in future releases. A standard e-mail mailing list for GNU ccScript will be available shortly on Feel free to send any bug reports, patches, and questions to this list.

[ English ]

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to There are also other ways to contact the FSF.

Please send comments on these web pages to, send other questions to

Copyright (C) 2001 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: 5 Oct 2001 dyfet