r3prglng

r3js

r3prglng

Class

oops/r3prglng.h

Library

r3oops

Description:

Basic class for all programming languages.

See Also

oops/r3root.h

See Also

oops/r3vect.h oops/r3vect.h oops/r3color.h oops/r3coords.h oops/r3matrix.h

Super Class

r3Root

R3CLID_ROOT

JavaScript

r3Prglng

Class Identifier

R3CLID_PRGLNG - 260

Methods

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,

Attributes

OutputObj, OutputMth, Model, ErrorString, Current, ErrorObj, ErrorMth,

R3PLM_INTERP

Method

INTERP

Identifier

R3PLM_INTERP

Return

R3BOOL, true if succeeded

Param 3:

char*, pointer to null terminated string containing the program to be executed

JavaScript

rc = obj.INTERP(p3);

Description

Run a given program.

R3PLM_EVAL

Method

EVAL

Identifier

R3PLM_EVAL

Return

R3BOOL, TRUE if evaluation succeeded

Param 1:

R3FLOAT, address for result

Param 3:

char*, Expression to be evaluated

JavaScript

rc = obj.EVAL(p1, p3);

Description

Evaluate an expression

R3PLM_PRINT

Method

PRINT

Identifier

R3PLM_PRINT

Param 1:

char*, format string

Param 3:

void*, parameter corresponding the format string.

JavaScript

obj.PRINT(p1, p3);

Description

Print out a message to the user

R3CPLM_REGISTERLANGUAGE

Method

REGISTERLANGUAGE

Identifier

R3CPLM_REGISTERLANGUAGE

Return

R3BOOL, TRUE if succesfully registered.

Param 1:

R3INT, class id of the new language

Param 2:

char*, symbolic name for the language

Param 3:

char*, file name extension

JavaScript

rc = obj.REGISTERLANGUAGE(p1, p2, p3);

Description

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

Method

ENUMLANGUAGES

Identifier

R3CPLM_ENUMLANGUAGES

Return

R3INT, return value from the callback

Param 1:

R3OBJ*, callback object

Param 2:

R3INT, callback method

Param 3:

void*, user data

JavaScript

rc = obj.ENUMLANGUAGES(p1, p2, p3);

Description

Enumerates registered languages

R3PLM_DEFINEVAR

Method

DEFINEVAR

Identifier

R3PLM_DEFINEVAR

Return

R3BOOL, TRUE if succeeded

Param 3:

char*, name of variable

JavaScript

rc = obj.DEFINEVAR(p3);

Description

Define a new variable.

R3PLM_SETVAR

Method

SETVAR

Identifier

R3PLM_SETVAR

Return

R3BOOL, TRUE if setting succeeded

Param 2:

char*, name of variable

Param 3:

void*, Value for the variable to be set, If sizeof(val) <= sizeof(R3INT) passed by value. If bigger, passed by reference.

JavaScript

rc = obj.SETVAR(0, p2, p3);

Description

Set a variable to value

R3PLM_GETVAR

Method

GETVAR

Identifier

R3PLM_GETVAR

Return

R3BOOL, true if found

Param 2:

char*, name of the variable

Param 3:

void*, buffer for the variable value to be fetched

JavaScript

rc = obj.GETVAR(0, p2, p3);

Description

Fetch value of given variable

R3PLM_LOAD

Method

LOAD

Identifier

R3PLM_LOAD

Return

R3BOOL, true if succeeded

Param 3:

char*, file name

JavaScript

rc = obj.LOAD(p3);

Description

Load and execute a script

R3PLM_ERROR

Method

ERROR

Identifier

R3PLM_ERROR

Param 3:

char*, error message

JavaScript

obj.ERROR(p3);

Description

Error has occurred, terminate execution and prompt error message

R3PLM_MAKECURRENT

Method

MAKECURRENT

Identifier

R3PLM_MAKECURRENT

Return

R3BOOL, true if succeeded.

Param 3:

char*, name of the object

JavaScript

rc = obj.MAKECURRENT(p3);

Description

Make the given object the 'current working object'.

R3PLM_GETPUBATTR

Method

GETPUBATTR

Identifier

R3PLM_GETPUBATTR

Return

R3OBJ*, objec referred by 'name' parameter or NULL if the name couldn't been resolved.

Param 1:

char*, name of the attribute to be fetched

JavaScript

rc = obj.GETPUBATTR(p1, 0);

Description

Set public attribute

R3PLM_SETPUBATTR

Method

SETPUBATTR

Identifier

R3PLM_SETPUBATTR

Return

R3OBJ*, object whose attribute was set or NULL if the name could not been resolved.

Param 1:

char*, name of the attribute to be set

JavaScript

rc = obj.SETPUBATTR(p1, 0);

Description

Set public attribute.

R3PLM_LISTPUBATTRS

Method

LISTPUBATTRS

Identifier

R3PLM_LISTPUBATTRS

Return

R3BOOL, true if object rerefred by 'name' was found

Param 3:

char*, name of the object

JavaScript

rc = obj.LISTPUBATTRS(p3);

Description

List public attributes defined by given object

R3PLM_PRINTCURRENT

Method

PRINTCURRENT

Identifier

R3PLM_PRINTCURRENT

JavaScript

obj.PRINTCURRENT();

Description

Print current working object

R3PLM_PARENT

Method

PARENT

Identifier

R3PLM_PARENT

Return

R3BOOL, true if succeeded

JavaScript

rc = obj.PARENT();

Description

Make the parent the current working level

R3PLM_NEXT

Method

NEXT

Identifier

R3PLM_NEXT

Return

R3BOOL, true if succeeded

JavaScript

rc = obj.NEXT();

Description

Make the previous object the current working object.

R3PLM_PREV

Method

PREV

Identifier

R3PLM_PREV

Return

R3BOOL, true if succeeded

JavaScript

rc = obj.PREV();

Description

Make the next object the current working object.

R3PLM_PRINTCLASS

Method

PRINTCLASS

Identifier

R3PLM_PRINTCLASS

Return

R3BOOL, true if object was found

Param 3:

char*, name of the object to be studied

JavaScript

rc = obj.PRINTCLASS(p3);

Description

Print out class information of the given object.

R3PLM_REMOVE

Method

REMOVE

Identifier

R3PLM_REMOVE

Return

R3BOOL, true if succeeded

Param 3:

char*, name of the object(s) to be deleted.

JavaScript

rc = obj.REMOVE(p3);

Description

Delete given object(s).

R3PLCM_GETNAMEFORID

Method

GETNAMEFORID

Identifier

R3PLCM_GETNAMEFORID

Return

char*, string corresponding to the given id.

Param 1:

R3CLID, class id

Param 2:

R3INT, see R3ITS_ codes below

Param 3:

R3INT, id to be mapped.

JavaScript

rc = obj.GETNAMEFORID(p1, p2, p3);

Description

Fetch symbolic name for given id (class id, method id, attribute id.). Class method.

R3PLCM_REGISTERMAPPER

Method

REGISTERMAPPER

Identifier

R3PLCM_REGISTERMAPPER

Return

char*, string corresponding to the given id.

Param 1:

R3CLID, class id

JavaScript

rc = obj.REGISTERMAPPER(p1, 0);

Description

Register function for mapping identifiers to symbolic * names.

R3PLCM_FINDCLASSBYEXTENSION

Method

FINDCLASSBYEXTENSION

Identifier

R3PLCM_FINDCLASSBYEXTENSION

Param 3:

char*, extension

JavaScript

obj.FINDCLASSBYEXTENSION(p3);

Description

Find scripting class based on given file name extension.

R3PLCM_GETTYPEFORID

Method

GETTYPEFORID

Identifier

R3PLCM_GETTYPEFORID

Return

char*, string corresponding to the given id.

Param 1:

R3CLID, class id

Param 2:

R3INT, see R3ITS_ codes in r3root.h

JavaScript

rc = obj.GETTYPEFORID(p1, p2, 0);

Description

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

Method

GETEXTENSION

Identifier

R3PLCM_GETEXTENSION

Return

char*, extension

JavaScript

rc = obj.GETEXTENSION();

Description

Get file name specific extension

OutputObj

Attribute

OutputObj

Identifier

R3PLA_OutputObj

JavaScript type

Object

C type

R3OBJ*

Description

output object, called as p1=format string, p3 = void *

Syntax


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

Attribute

OutputMth

Identifier

R3PLA_OutputMth

JavaScript type

Integer

C type

R3INT

Description

callback method for output

Syntax


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

Attribute

Model

Identifier

R3PLA_Model

JavaScript type

Object

C type

R3OBJ*

Description

gateway to the application

Syntax


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

Attribute

ErrorString

Identifier

R3PLA_ErrorString

JavaScript type

String

C type

char*

Description

read only: last error

Syntax


value = jsobj.GetErrorString();


char* value;
R3GetAttrs(r3obj, R3PLA_ErrorString, &value, R3TAG_END);

Current

Attribute

Current

Identifier

R3PLA_Current

JavaScript type

String

C type

char*

Description

current object

Syntax


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

Attribute

ErrorObj

Identifier

R3PLA_ErrorObj

JavaScript type

Object

C type

R3OBJ*

Description

object handling error messages

Syntax


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

Attribute

ErrorMth

Identifier

R3PLA_ErrorMth

JavaScript type

Integer

C type

R3INT

Description

method for the error handler

Syntax


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

R3PLERR_INVALIDNAME
R3PLERR_INVALIDATTRIBUTE
R3PLERR_NOMEMORY
R3PLERR_NOTALEVELOBJECT
R3PLERR_NOMODEL
R3PLERR_MAKETAGLIST

Tags

Tags

R3PLA_Output
R3PLA_ErrorCode