r3prglng
oops/r3prglng.h
r3oops
Basic class for all programming languages.
oops/r3vect.h oops/r3vect.h oops/r3color.h oops/r3coords.h oops/r3matrix.h
r3Root
R3CLID_ROOT
r3Prglng
R3CLID_PRGLNG - 260
INTERP, EVAL, PRINT, REGISTERLANGUAGE, ENUMLANGUAGES, DEFINEVAR, SETVAR, GETVAR, LOAD, ERROR, MAKECURRENT, GETPUBATTR, SETPUBATTR, LISTPUBATTRS, PRINTCURRENT, PARENT, NEXT, PREV, PRINTCLASS, REMOVE, GETNAMEFORID, REGISTERMAPPER, FINDCLASSBYEXTENSION, GETTYPEFORID, GETEXTENSION,
OutputObj, OutputMth, Model, ErrorString, Current, ErrorObj, ErrorMth,
R3PLM_INTERP
INTERP
R3PLM_INTERP
R3BOOL, true if succeeded
char*, pointer to null terminated string containing the program to be executed
rc = obj.INTERP(p3);
Run a given program.
R3PLM_EVAL
EVAL
R3PLM_EVAL
R3BOOL, TRUE if evaluation succeeded
R3FLOAT, address for result
char*, Expression to be evaluated
rc = obj.EVAL(p1, p3);
Evaluate an expression
R3PLM_PRINT
R3PLM_PRINT
char*, format string
void*, parameter corresponding the format string.
obj.PRINT(p1, p3);
Print out a message to the user
R3CPLM_REGISTERLANGUAGE
REGISTERLANGUAGE
R3CPLM_REGISTERLANGUAGE
R3BOOL, TRUE if succesfully registered.
R3INT, class id of the new language
char*, symbolic name for the language
char*, file name extension
rc = obj.REGISTERLANGUAGE(p1, p2, p3);
The base class provides a mechanism for keeping track of installed languages. A new language can register to the base class using this method.
R3CPLM_ENUMLANGUAGES
ENUMLANGUAGES
R3CPLM_ENUMLANGUAGES
R3INT, return value from the callback
R3OBJ*, callback object
R3INT, callback method
void*, user data
rc = obj.ENUMLANGUAGES(p1, p2, p3);
Enumerates registered languages
R3PLM_DEFINEVAR
DEFINEVAR
R3PLM_DEFINEVAR
R3BOOL, TRUE if succeeded
char*, name of variable
rc = obj.DEFINEVAR(p3);
Define a new variable.
R3PLM_SETVAR
SETVAR
R3PLM_SETVAR
R3BOOL, TRUE if setting succeeded
char*, name of variable
void*, Value for the variable to be set, If sizeof(val) <= sizeof(R3INT) passed by value. If bigger, passed by reference.
rc = obj.SETVAR(0, p2, p3);
Set a variable to value
R3PLM_GETVAR
GETVAR
R3PLM_GETVAR
R3BOOL, true if found
char*, name of the variable
void*, buffer for the variable value to be fetched
rc = obj.GETVAR(0, p2, p3);
Fetch value of given variable
R3PLM_LOAD
LOAD
R3PLM_LOAD
R3BOOL, true if succeeded
char*, file name
rc = obj.LOAD(p3);
Load and execute a script
R3PLM_ERROR
ERROR
R3PLM_ERROR
char*, error message
obj.ERROR(p3);
Error has occurred, terminate execution and prompt error message
R3PLM_MAKECURRENT
MAKECURRENT
R3PLM_MAKECURRENT
R3BOOL, true if succeeded.
char*, name of the object
rc = obj.MAKECURRENT(p3);
Make the given object the 'current working object'.
R3PLM_GETPUBATTR
GETPUBATTR
R3PLM_GETPUBATTR
R3OBJ*, objec referred by 'name' parameter or NULL if the name couldn't been resolved.
char*, name of the attribute to be fetched
rc = obj.GETPUBATTR(p1, 0);
Set public attribute
R3PLM_SETPUBATTR
SETPUBATTR
R3PLM_SETPUBATTR
R3OBJ*, object whose attribute was set or NULL if the name could not been resolved.
char*, name of the attribute to be set
rc = obj.SETPUBATTR(p1, 0);
Set public attribute.
R3PLM_LISTPUBATTRS
LISTPUBATTRS
R3PLM_LISTPUBATTRS
R3BOOL, true if object rerefred by 'name' was found
char*, name of the object
rc = obj.LISTPUBATTRS(p3);
List public attributes defined by given object
R3PLM_PRINTCURRENT
PRINTCURRENT
R3PLM_PRINTCURRENT
obj.PRINTCURRENT();
Print current working object
R3PLM_PARENT
PARENT
R3PLM_PARENT
R3BOOL, true if succeeded
rc = obj.PARENT();
Make the parent the current working level
R3PLM_NEXT
NEXT
R3PLM_NEXT
R3BOOL, true if succeeded
rc = obj.NEXT();
Make the previous object the current working object.
R3PLM_PREV
PREV
R3PLM_PREV
R3BOOL, true if succeeded
rc = obj.PREV();
Make the next object the current working object.
R3PLM_PRINTCLASS
PRINTCLASS
R3PLM_PRINTCLASS
R3BOOL, true if object was found
char*, name of the object to be studied
rc = obj.PRINTCLASS(p3);
Print out class information of the given object.
R3PLM_REMOVE
REMOVE
R3PLM_REMOVE
R3BOOL, true if succeeded
char*, name of the object(s) to be deleted.
rc = obj.REMOVE(p3);
Delete given object(s).
R3PLCM_GETNAMEFORID
GETNAMEFORID
R3PLCM_GETNAMEFORID
char*, string corresponding to the given id.
R3CLID, class id
R3INT, see R3ITS_ codes below
R3INT, id to be mapped.
rc = obj.GETNAMEFORID(p1, p2, p3);
Fetch symbolic name for given id (class id, method id, attribute id.). Class method.
R3PLCM_REGISTERMAPPER
REGISTERMAPPER
R3PLCM_REGISTERMAPPER
char*, string corresponding to the given id.
R3CLID, class id
rc = obj.REGISTERMAPPER(p1, 0);
Register function for mapping identifiers to symbolic * names.
R3PLCM_FINDCLASSBYEXTENSION
FINDCLASSBYEXTENSION
R3PLCM_FINDCLASSBYEXTENSION
char*, extension
obj.FINDCLASSBYEXTENSION(p3);
Find scripting class based on given file name extension.
R3PLCM_GETTYPEFORID
GETTYPEFORID
R3PLCM_GETTYPEFORID
char*, string corresponding to the given id.
R3CLID, class id
R3INT, see R3ITS_ codes in r3root.h
rc = obj.GETTYPEFORID(p1, p2, 0);
Class method for fetching parameter and return types for the given method or attribute id. * If attribute, then the type is returned in rc parameter.
R3PLCM_GETEXTENSION
GETEXTENSION
R3PLCM_GETEXTENSION
char*, extension
rc = obj.GETEXTENSION();
Get file name specific extension
OutputObj
OutputObj
R3PLA_OutputObj
Object
R3OBJ*
output object, called as p1=format string, p3 = void *
jsobj.SetOutputObj(value);
value = jsobj.GetOutputObj();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3PLA_OutputObj, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3PLA_OutputObj, &value, R3TAG_END);
OutputMth
OutputMth
R3PLA_OutputMth
Integer
R3INT
callback method for output
jsobj.SetOutputMth(value);
value = jsobj.GetOutputMth();
R3INT value = ...;
R3SetAttrs(r3obj, R3PLA_OutputMth, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PLA_OutputMth, &value, R3TAG_END);
Model
Model
R3PLA_Model
Object
R3OBJ*
gateway to the application
jsobj.SetModel(value);
value = jsobj.GetModel();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3PLA_Model, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3PLA_Model, &value, R3TAG_END);
ErrorString
ErrorString
R3PLA_ErrorString
String
char*
read only: last error
value = jsobj.GetErrorString();
char* value;
R3GetAttrs(r3obj, R3PLA_ErrorString, &value, R3TAG_END);
Current
Current
R3PLA_Current
String
char*
current object
jsobj.SetCurrent(value);
value = jsobj.GetCurrent();
char* value = ...;
R3SetAttrs(r3obj, R3PLA_Current, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3PLA_Current, &value, R3TAG_END);
ErrorObj
ErrorObj
R3PLA_ErrorObj
Object
R3OBJ*
object handling error messages
jsobj.SetErrorObj(value);
value = jsobj.GetErrorObj();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3PLA_ErrorObj, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3PLA_ErrorObj, &value, R3TAG_END);
ErrorMth
ErrorMth
R3PLA_ErrorMth
Integer
R3INT
method for the error handler
jsobj.SetErrorMth(value);
value = jsobj.GetErrorMth();
R3INT value = ...;
R3SetAttrs(r3obj, R3PLA_ErrorMth, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PLA_ErrorMth, &value, R3TAG_END);
Error codes