#include <script.h>
Inheritance diagram for ScriptInterp:
Public Member Functions | |
long | getIntValue (const char *text, unsigned prec) |
int | getExpression (long *list, int max, unsigned prec) |
bool | setData (const char *scrname) |
Set data read pointer to a known data source script. | |
char | getPackToken (void) |
Get pack token. | |
void | clrTransactions (void) |
Clear transaction processing group. | |
Symbol * | getVariable (size_t size=0) |
Fetch a variable (symbol) that will be used to store data. | |
void | rewindTemp (void) |
Rewind temporary buffer for prescan results. | |
void | setTemp (const char *value) |
Set prescan value into temporary buffer. | |
virtual Symbol * | getIndirect (char *sym) |
May be used to override processing of indirect content requests. | |
Symbol * | getLocal (const char *name, size_t size=0) |
Search for symbols either thru the virtual global space or thru local space if a local space has been allocated on the heap. | |
bool | attach (const char *scrname) |
Attempt to attach script engine to active session and specify a starting script. | |
void | detach (void) |
Detach the current script image. | |
bool | redirect (const char *scrname) |
Script redirection support. | |
bool | step (const char *trapname=NULL) |
Execute the next pending script statement. | |
bool | isActive (void) |
Test if script interpreter is currently active. | |
char * | getOption (const char *def=NULL) |
Fetch next logical option but do not evaluate. | |
char * | getKeyword (const char *keyword) |
Fetch an embedded attribute keyword argument. | |
int | initKeywords (int size) |
Initialize symbols from the keyword list. | |
char * | getValue (const char *def=NULL) |
Fetch and evaluate next logical option. | |
char * | getString (void) |
Fetch and concatenate a temporary string expression until either a comma or closing parenthesis. | |
char * | getTempBuffer (void) |
Fetch a temp workspace buffer. | |
char * | getContent (char *sym) |
Evaluate the content of an option retrieved with getOption. | |
Line * | getScript (void) |
Return the current script line object so it may be debugged. | |
bool | hasEvents (void) |
Return if the script has generic event handlers. | |
Line * | getPrescan (void) |
Return if the current line requires prescanning. | |
const char * | getMember (void) |
Return the member id of a script command. | |
Name * | getObject (void) |
Return the master script object for resource context. | |
ScriptImage * | getImage (void) |
Return the script image holding this application's context. | |
void | autoloop (bool enable) |
Enable or disable autolooping of statements. | |
int | mapicmp (const char *s1, const char *s2) |
int | mapnicmp (const char *s1, const char *s2, size_t n) |
unsigned | getDecimal (void) |
Get decimal. | |
Static Public Member Functions | |
static long | getRealValue (double val, unsigned prec) |
static double | getDouble (long value, unsigned prec) |
static long | getInteger (long value, unsigned prec) |
static long | getTens (unsigned prec) |
Protected Member Functions | |
ScriptInterp (ScriptCommand *cmd, size_t symsize, size_t pgsize=1024) | |
Derive a new instance of the system script interpreter. | |
~ScriptInterp () | |
void | getTrigger (bool use) |
Get a local and/or global trigger. | |
bool | getOnce (void) |
Fetch unique "once" flag and set. | |
void | Notify (unsigned long mask) |
Notify signal mask for "on" handlers. | |
void | Notify (const char *str) |
Notify signal by symbolic name. | |
unsigned long | getMask (void) |
Fetch the current interpreter mask bits directly. | |
void | setLine (Line *line) |
Set the line handler to a new statement. | |
unsigned long | getScriptMask (const char *id) |
Fetch the script mask identifer. | |
ScriptCommand * | getCommand (void) |
Fetch the active command interpreter subsystem. | |
bool | conditional (void) |
Used to process "conditional" arguments such as for IF/DO/LOOP statements. | |
bool | scrExit (void) |
Some systems can derive alternative "exit" commands which can call this routine after performing other operations. | |
bool | scrGoto (void) |
This is often called to process branching requests. | |
bool | scrIf (void) |
override if support. | |
bool | ifGoto (void) |
If version of goto. | |
bool | scrData (void) |
Method used to encode "data" lines. | |
virtual unsigned | getId (void) |
Used to return channel identifiers in some systems. | |
virtual bool | getGlobalTrap (unsigned id) |
Used to fetch a global trap execution context branch. | |
void | advance (void) |
Advance program to the next script statement. | |
void | error (const char *error) |
Set error variable and advance to either the error handler or next script statement. | |
void | trap (unsigned id) |
Set the execution interpreter to a trap identifier. | |
void | trap (const char *trapname) |
Select trap by symbolic name and execute if found, else advance to next script step (unless exit trap). | |
bool | push (void) |
Attempt to push a value onto the stack. | |
bool | pull (void) |
Attempt to recall a previous stack level. | |
bool | signal (const char *trapname) |
Signals are used during "delayed" execution steps when a signal event has occured aynchronously with the execution of a script controlled state event handler. | |
bool | event (const char *evtname) |
Events reference to named handlers which have been attached to a script. | |
bool | signal (unsigned trapid) |
Signals can be referenced by numeric id as well as by symbolic name. | |
virtual bool | execute (Method method) |
Runtime execution of script handler. | |
virtual void | stop (unsigned long mask) |
Stop request handler. | |
virtual void | exit (void)=0 |
Exit request handler. | |
virtual Name * | getScriptImage (const char *label) |
Runtime branch point for label selection. | |
Name * | getScriptCopy (const char *src) |
Fetch duplicative script image as needed. | |
virtual void | sleepScheduler (timeout_t timeout) |
Patch point for sleep delay notification. | |
virtual void | stepScheduler (const char *trapname) |
Step scheduler callback to force step execution. | |
virtual void | setExclusive (bool enable) |
Set exclusive sync locking for interpreter. | |
Protected Attributes | |
unsigned char | lckcount |
Friends | |
class | ScriptImage |
class | Script::Session |
class | Script::Locks |
class | ScriptModule |
class | ScriptCommand |
void | addFunction (const char *name, unsigned count, Function i) |
void | addConditional (const char *name, Cond test) |
void | addAttribute (const char *name, Meta meta) |
Classes | |
class | Context |
This class is further derived to impliment application specific language dialects.
|
Derive a new instance of the system script interpreter.
|
|
|
|
Advance program to the next script statement.
|
|
Attempt to attach script engine to active session and specify a starting script.
|
|
Enable or disable autolooping of statements.
|
|
Clear transaction processing group.
|
|
Used to process "conditional" arguments such as for IF/DO/LOOP statements. The index is kept at the next logical argument so a goto can be performed if needed.
|
|
Detach the current script image. If it is the last ref count and the exit flag is set, then delete it. |
|
Set error variable and advance to either the error handler or next script statement.
|
|
Events reference to named handlers which have been attached to a script. This allows low level applications to invoke an event handler much the way a signal handler occurs.
|
|
Runtime execution of script handler. This can be called in the current or derived class to invoke extensible methods.
|
|
Exit request handler. This is called when no script line exists. No default behavior is known. |
|
Fetch the active command interpreter subsystem.
|
|
Evaluate the content of an option retrieved with getOption.
|
|
Get decimal.
|
|
|
|
|
|
Used to fetch a global trap execution context branch.
|
|
Used to return channel identifiers in some systems.
|
|
Return the script image holding this application's context.
|
|
May be used to override processing of indirect content requests. This is used in the Bayonne IVR to fetch content constants based on language and country settings.
|
|
|
|
|
|
Fetch an embedded attribute keyword argument. This allows embedded tag=value keywords to be extracted.
|
|
Search for symbols either thru the virtual global space or thru local space if a local space has been allocated on the heap.
|
|
Fetch the current interpreter mask bits directly.
|
|
Return the member id of a script command.
|
|
Return the master script object for resource context.
|
|
Fetch unique "once" flag and set.
|
|
Fetch next logical option but do not evaluate. The index is advanced.
|
|
Get pack token.
|
|
Return if the current line requires prescanning.
|
|
|
|
Return the current script line object so it may be debugged.
|
|
Fetch duplicative script image as needed.
|
|
Runtime branch point for label selection.
|
|
Fetch the script mask identifer.
|
|
Fetch and concatenate a temporary string expression until either a comma or closing parenthesis.
|
|
Fetch a temp workspace buffer.
|
|
|
|
Get a local and/or global trigger.
|
|
Fetch and evaluate next logical option. If a symbol ref. then the symbol is also expressed. The index is advanced.
|
|
Fetch a variable (symbol) that will be used to store data. This advances the index.
|
|
Return if the script has generic event handlers. ..
|
|
If version of goto.
|
|
Initialize symbols from the keyword list.
|
|
Test if script interpreter is currently active.
|
|
|
|
|
|
Notify signal by symbolic name.
|
|
Notify signal mask for "on" handlers.
|
|
Attempt to recall a previous stack level.
|
|
Attempt to push a value onto the stack.
|
|
Script redirection support.
|
|
Rewind temporary buffer for prescan results.
|
|
Method used to encode "data" lines.
|
|
Some systems can derive alternative "exit" commands which can call this routine after performing other operations.
|
|
This is often called to process branching requests.
|
|
override if support.
|
|
Set data read pointer to a known data source script.
|
|
Set exclusive sync locking for interpreter.
Reimplemented from ScriptSymbol. |
|
Set the line handler to a new statement.
|
|
Set prescan value into temporary buffer.
|
|
Signals can be referenced by numeric id as well as by symbolic name.
|
|
Signals are used during "delayed" execution steps when a signal event has occured aynchronously with the execution of a script controlled state event handler. This mechanism can be used in place of calling implicit "Step" traps.
|
|
Patch point for sleep delay notification.
|
|
Execute the next pending script statement. If no statement is selected, then we execute the exit handler instead. We can also force feed a trap identifier.
|
|
Step scheduler callback to force step execution.
|
|
Stop request handler. Used for handling external trap requests during a "Signal". This is needed in some state engines when the current state is being abandoned because of a signaled trap.
|
|
Select trap by symbolic name and execute if found, else advance to next script step (unless exit trap).
|
|
Set the execution interpreter to a trap identifier. If no trap id exists, then advance to next script statement (unless exit trap).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|