Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

ScriptImage Class Reference

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

#include <script.h>

Inheritance diagram for ScriptImage:

Script List of all members.

Public Member Functions

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 Member Functions

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
ScriptCommandcmds
int refcount
Name * index [37]
char * buffer
unsigned bufsize
char * bp
bool quote
unsigned paren
Mutex duplock
ScriptImage::InitialListilist

Friends

class ScriptInterp
class ScriptModule

Classes

class  InitialList

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.

char* ScriptImage::getToken char **  pre = NULL  )  [protected]
 

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

void ScriptImage::purge void   )  [protected]
 

Purge and reload the script image workspace.


Friends And Related Function Documentation

friend class ScriptInterp [friend]
 

friend class ScriptModule [friend]
 


Member Data Documentation

char* ScriptImage::bp [protected]
 

char* ScriptImage::buffer [protected]
 

unsigned ScriptImage::bufsize [protected]
 

ScriptCommand* ScriptImage::cmds [protected]
 

Mutex ScriptImage::duplock [protected]
 

ScriptImage::InitialList * ScriptImage::ilist [protected]
 

Name* ScriptImage::index[37] [protected]
 

unsigned ScriptImage::paren [protected]
 

bool ScriptImage::quote [protected]
 

int ScriptImage::refcount [protected]
 

std::ifstream ScriptImage::scrSource [protected]
 

std::istream* ScriptImage::scrStream [protected]
 


The documentation for this class was generated from the following file:
Generated on Fri Sep 9 08:50:36 2005 for ccScript by  doxygen 1.4.4