Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 070b5c05d42a76a25abd916d2fe11a39 > files > 7

ccscript-1.8.4-2mdk.i586.rpm

Copyright (c) 1999-2001 by Open Source Telecom Corporation. 
Verbatim copying and distribution of this entire article is permitted 
in any medium, provided this notice is preserved.
            
Welcome to GNU ccScript, yet another, and highly specialized embedded
scripting engine and virtual execution environment for creating script
"extensible" applications.  This system is a C++ class library which
allows one to derive application specific dialects of the core language as
needed through subclassing.  

Where ccScript differs from similar packages is both in determinstic
runtime, and it's use of step execution for integrating with realtime
state-transition and callback event driven systems.  That is, rather than
invoke a function which then parses an interpreter, one executes a single
"step" statement. This is useful when a callback service thread is
monitoring multiple devices; each device can have a ccscript interpreter
instance, and a single thread can dispatch events upon demand.

A demonstration "shell" command interpreter is now provided for testing
the GNU ccscript engine starting with release 1.2.0.  Global locks for
single instance sycnronization has been added since 1.2.5.  With 1.2.0, an
external shell interpreter for GNU ccScript has been added.  This was
created mostly to help in debugging problems that are specific to the core
script engine rather than as a true general purpose tool.

GNU ccScript is used in GNU Bayonne (the telephony application server of
the GNU project) and will likely get used in other GNUCOMM servers.  GNU 
ccScript is derived from and requires GNU Common C++. 

GNU ccscript is also meant to script systems without downtime.  This has
one curious effect; when ccscript is started, a core script is converted
into an "image" object.  When an interpreter instance is connected to
process script requests, it attaches a reference.  If an active script is
modified and reloaded, a new "image" is created, and new requests are then
given this new image.  When the last reference against an old script image
is terminated, the image is also purged.  This allows one to compile and
rebuild scripts on the fly and load them into memory even while active
interpreter instances are running.

GNU ccScript is not meant to solve the problems of traditional scripting
engines (tcl, guile, etc).  However, if you need several hundred instances
of an interpreter running concurrently, if you are builing state-event
systems, or if you need near real-time response through a script system,
then GNU ccScript may be the answer for you.