---
name: "ScriptImage"
section: "3"
platform: "linux"
package: "libccscript-dev"
version: "2.5.7-1"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/ScriptImage"
---

# ScriptImage(3)

A derivable class to hold compiled script images for active processes. Script compiler image set.

## NAME

ScriptImage - A derivable class to hold compiled script images for active processes. Script compiler image set.

## SYNOPSIS

`#include <script.h>`

Inherits Script.

### Public Methods

virtual Name \* **getScript** (const char \*name)\
 *Fetch named script.* virtual Name \* **dupScript** (const char \*name, const char \*target)\
 *Duplicate script if needed.* unsigned **gather** (const char \*suffix, Name \*\*array, unsigned size)\
 *Fetch list of relational scripts.* std::istream \* **getSource** (void)\
 *Used by embedded interpreters to fetch script from the current source file.*

### Protected Methods

char \* **getToken** (char \*\*pre=NULL)\
 Method **getHandler** (const char \*keyword)\
 *Get the interpreter method pointer for a given keyword.* **ScriptImage** (**ScriptCommand** \*cmdset, const char \*symset)\
 *Construct a new working image.* void **purge** (void)\
 *Purge and reload the script image workspace.* Name \* **include** (const char \*scrfile)\
 *A method to invoke the script compiler to include a script only if it has not been included already.* int **compile** (const char \*scrfile)\
 *The script compiler itself.* int **compile** (const char \*scrfile, char \*name)\
 *Compile a script from disk and give it a different internal 'name' as passed.* int **compile** (std::istream \*str, char \*name, const char \*scrname=NULL)\
 *Compile an open stream object into a script.* void **commit** (void)\
 *Used in the derived constructor to 'commit' the current image for new processes.* virtual bool **preProcess** (const char \*directive, Name \*script)\
 *used to create dialect specific pre-precessor directives.* virtual const char \* **getDefined** (const char \*token)\
 *Used to process '$const' inserts.* void **load** (Initial \*ilist)\
 *Used by a derived constructor to load an initialization list.* void **initial** (const char \*keyword, const char \*value, unsigned size=0)\
 *Used to load a single initialization list entry.*

### Protected Attributes

std::ifstream **scrSource**\
 std::istream \* **scrStream**\
 **ScriptCommand** \* **cmds**\
 int **refcount**\
 Name \* **index** \[37\]\
 char \* **buffer**\
 unsigned **bufsize**\
 char \* **bp**\
 bool **quote**\
 unsigned **paren**\
 Mutex **duplock**\
 ScriptImage::InitialList \* **ilist**\

### Friends

class **ScriptInterp**\
 class **ScriptModule**\

## DETAILED DESCRIPTION

A derivable class to hold compiled script images for active processes. Script compiler image set.

This includes the script image compiler itself. Typically, a script is compiled one file at a time from a directory, and the committed, during the constructor in a derived class.

**Author:**  David Sugar \<dyfet@ostel.com\>.

## CONSTRUCTOR & DESTRUCTOR DOCUMENTATION

### ScriptImage::ScriptImage (ScriptCommand \* cmdset, const char \* symset)` [protected]`

Construct a new working image.

This must be derived to an application specific compiler that can scan directories and invoke the compiler as needed.

Parameters:

- *cmdset*

  *of keyword table object used.*

## MEMBER FUNCTION DOCUMENTATION

### void ScriptImage::commit (void)` [protected]`

*Used in the derived constructor to 'commit' the current image for new processes.*

*This is usually the last statement in the derived constructor.*

### int ScriptImage::compile (std::istream \* str, char \* name, const char \* scrname = NULL)` [protected]`

*Compile an open stream object into a script.*

**Returns:**  *lines of script compiled.*

*Parameters:*

- *stream*

  *object to use.*

- *name*

  *of script save under.*

### int ScriptImage::compile (const char \* scrfile, char \* name)` [protected]`

*Compile a script from disk and give it a different internal 'name' as passed.*

**Returns:**  *lines of script compiled.*

*Parameters:*

- *name*

  *of script file to compile.*

- *name*

  *of script to save under.*

- *test*

  *if script already loaded.*

### int ScriptImage::compile (const char \* scrfile)` [protected]`

*The script compiler itself.*

*This linearly compiles a Bayonne script file that is specified. Normally used along with a dir scanner in the constructor.*

**Returns:**  *lines of script compiled.*

*Parameters:*

- *name*

  *of script file to compile.*

### virtual Name\* ScriptImage::dupScript (const char \* name, const char \* target)` [virtual]`

*Duplicate script if needed.*

*Parameters:*

- *script*

  *name to dup.*

- *target*

  *name to dup as.*

**Returns:**  *script or NULL.*

### unsigned ScriptImage::gather (const char \* suffix, Name \*\* array, unsigned size)

*Fetch list of relational scripts.*

*Parameters:*

- *suffix.*

  - *index.*

  - *max*

  *entries.*

**Returns:**  *count of entries found.*

### virtual const char\* ScriptImage::getDefined (const char \* token)` [inline, protected, virtual]`

*Used to process '$const' inserts.*

**Returns:**  *string if found.*

*Parameters:*

- *script*

  *token being substituted.*

### Method ScriptImage::getHandler (const char \* keyword)` [inline, protected]`

*Get the interpreter method pointer for a given keyword.*

**Returns:**  *method handler.*

*Parameters:*

- *keyword*

  *to search.*

### virtual Name\* ScriptImage::getScript (const char \* name)` [virtual]`

*Fetch named script.*

*Parameters:*

- *script*

  *name to find.*

**Returns:**  *script or NULL.*

### std::istream\* ScriptImage::getSource (void)` [inline]`

*Used by embedded interpreters to fetch script from the current source file.*

**Returns:**  *reference to source file stream.*

### Name\* ScriptImage::include (const char \* scrfile)` [protected]`

*A method to invoke the script compiler to include a script only if it has not been included already.*

**Returns:**  *named script object.*

*Parameters:*

- *name*

  *of script file to compile.*

### void ScriptImage::initial (const char \* keyword, const char \* value, unsigned size = 0)` [protected]`

*Used to load a single initialization list entry.*

*Parameters:*

- *keyword*

  - *value*

  - *size*

  ### void ScriptImage::load (Initial \* ilist)` [protected]`

*Used by a derived constructor to load an initialization list.*

*Parameters:*

- *initialization*

  *list.*

### virtual bool ScriptImage::preProcess (const char \* directive, Name \* script)` [inline, protected, virtual]`

*used to create dialect specific pre-precessor directives.*

**Returns:**  *true if directive claimed.*

*Parameters:*

- *directive*

  - *script*

  *object being built*

## AUTHOR

*Generated automatically by Doxygen for ccScript from the source code.*
