22 char *(*blackbox_String)(blackbox *
b,
void *d);
26 void *(*blackbox_Init)(blackbox *
b);
28 void *(*blackbox_Copy)(blackbox *
b,
void *d);
53#define BB_LIKE_LIST(B) ((B)->properties &1)
struct blackbox_list * getBlackboxTypes()
return array of all define types.
const char * getBlackboxName(const int t)
return the name to the type given by t (r/o)
void removeBlackboxStuff(const int rt)
BOOLEAN blackboxDefaultOp3(int op, leftv l, leftv r1, leftv r2, leftv r3)
default procedure blackboxDefaultOp3, to be called as "default:" branch
blackbox * getBlackboxStuff(const int t)
return the structure to the type given by t
int setBlackboxStuff(blackbox *bb, const char *name)
define a new type
void blackbox_default_Print(blackbox *b, void *d)
default procedure blackbox_default_Print: print the string
int blackboxIsCmd(const char *n, int &tok)
used by scanner: returns ROOT_DECL for known types (and the type number in tok)
BOOLEAN blackboxDefaultOpM(int op, leftv l, leftv r)
default procedure blackboxDefaultOpM, to be called as "default:" branch
void printBlackboxTypes()
list all defined type (for debugging)
BOOLEAN blackboxDefaultOp2(int op, leftv l, leftv r1, leftv r2)
default procedure blackboxDefaultOp2, to be called as "default:" branch
BOOLEAN blackboxDefaultOp1(int op, leftv l, leftv r)
default procedure blackboxDefaultOp1, to be called as "default:" branch
struct for containing list of blackbox names and the number of them.
Class used for (list of) interpreter objects.
BOOLEAN(* blackbox_Assign)(leftv l, leftv r)
interpreter assign: l:=r
BOOLEAN(* blackbox_deserialize)(blackbox **b, void **d, si_link f)
deserialize
BOOLEAN(* blackbox_Op3)(int op, leftv l, leftv r1, leftv r2, leftv r3)
interpreter: tertiary op: op(r1,r2,r3)
BOOLEAN(* blackbox_CheckAssign)(blackbox *b, leftv l, leftv r)
is an assign of r to l (part of b) impossible?
void * data
additional type info
void(* blackbox_destroy)(blackbox *b, void *d)
destroy the object: b points to blackbox_struct, d to data
BOOLEAN(* blackbox_OpM)(int op, leftv l, leftv r)
interpreter: operations with undefined number of operands
BOOLEAN(* blackbox_Op2)(int op, leftv l, leftv r1, leftv r2)
interpreter: binary operations: op(r1,r2), r1 op r2,...
int properties
addtinional gneral properties
void(* blackbox_Print)(blackbox *b, void *d)
print the object: default: use string representation
BOOLEAN(* blackbox_Op1)(int op, leftv l, leftv r)
interpreter: unary operations op(r), r(), ...
BOOLEAN(* blackbox_serialize)(blackbox *b, void *d, si_link f)
serialize
int name
New type name for int.