Go to the source code of this file.
Data Structures |
class | ExCNameAlias |
class | ExFun |
class | ExFun_ListLen |
class | ExFun_NaturalAbs |
class | ExFun_NaturalMax |
class | ExFun_NaturalMin |
class | ExFun_NaturalRand |
class | ExFun_NaturalRandRange1 |
class | ExFun_NaturalRandRange2 |
class | ExFun_NaturalSRand |
class | ExFun_RealAbs |
class | ExFun_RealACos |
class | ExFun_RealASin |
class | ExFun_RealATan |
class | ExFun_RealCos |
class | ExFun_RealCosH |
class | ExFun_RealLog |
class | ExFun_RealLog10 |
class | ExFun_RealLog2 |
class | ExFun_RealRand |
class | ExFun_RealSin |
class | ExFun_RealSinH |
class | ExFun_RealSqrt |
class | ExFun_RealTan |
class | ExFun_StreamOutBool |
class | ExFun_StreamOutNatural |
class | ExFun_StreamOutNBool |
class | ExFun_StreamOutNNatural |
class | ExFun_StreamOutNReal |
class | ExFun_StreamOutNString |
class | ExFun_StreamOutNVal |
class | ExFun_StreamOutReal |
class | ExFun_StreamOutString |
class | ExFun_StrLen |
class | ExFun_StrSub |
class | ExFun_TimerGetName |
class | ExFun_TimerGetPrefix |
class | ExFun_TimerGetTime |
class | ExFun_TimerGetType |
class | ExFun_TimerIntrvlSize |
class | ExFun_TimerUpdBool |
class | ExFun_TimerUpdNatural |
class | ExFun_TimerUpdReal |
class | ExFun_TimerUpdString |
class | ExNode |
| ExNode is the base class for an expression tree node. More...
|
class | ExNode_ADD |
class | ExNode_AND |
class | ExNode_AsgnVar |
class | ExNode_BoolNeg |
class | ExNode_BoolToString |
class | ExNode_Conditional |
class | ExNode_DIV |
class | ExNode_EQ |
class | ExNode_GE |
class | ExNode_GetCtrlBool |
class | ExNode_GetCtrlNatural |
class | ExNode_GetCtrlReal |
class | ExNode_GetCtrlString |
class | ExNode_GetElem |
class | ExNode_GT |
class | ExNode_IterFor |
| iterate over list and do something with each value in the list, not destroying old list More...
|
class | ExNode_IterIter |
| iter : iterate over list and replace each element in original list More...
|
class | ExNode_IterMap |
| map : iterate over list creating new list of same size without destroying original More...
|
class | ExNode_IterRFor |
class | ExNode_LE |
class | ExNode_Link |
class | ExNode_LT |
class | ExNode_MathNeg_Natural |
class | ExNode_MathNeg_Real |
class | ExNode_MOD |
class | ExNode_MUL |
class | ExNode_NaturalToReal |
class | ExNode_NaturalToString |
class | ExNode_NE |
class | ExNode_OR |
class | ExNode_Range |
class | ExNode_ReadVar |
class | ExNode_RealToNatural |
class | ExNode_RealToString |
class | ExNode_SetCtrlBool |
class | ExNode_SetCtrlNatural |
class | ExNode_SetCtrlReal |
class | ExNode_SetCtrlString |
class | ExNode_SetElem |
class | ExNode_StringFor |
| iterate over list and do something with each value in the list, not destroying old list, returns unit More...
|
class | ExNode_StringIter |
| iter : iterate over list and replace each element in original list More...
|
class | ExNode_StringMap |
class | ExNode_StringRFor |
class | ExNode_SUB |
Namespaces |
namespace | Marsyas |
Defines |
#define | BINOP(_NM, _KIND, _OP) |
#define | ExFun_StreamOutNType(_TYPE, _CONVERSION, _METHOD, _type, _sig) |
#define | ExFun_StreamOutType(_TYPE, _CONVERSION, _METHOD, _type, _sig) |
#define | GETCTRL(_T, _METHOD, _TP) |
#define | LibExFun1(_NM, _FUN, _T1, type_, sig_) |
#define | LibExFun2(_NM, _FUN, _T1, _T2) |
#define | LibExNode0(_NM, _FUN) |
#define | SETCTRL(_N, _METHOD, _TP) |
#define | TIMER_GET(_NM, _ZERO, _METHOD, _type, _sig) |
#define | TIMER_UPD(_NM, _ZERO, _METHOD, _type, _sig) |
#define | UNARYOP(_NM, _KIND, _TYPE, _TO, _OP) |
Functions |
void | load_symbols (ExRecord *) |
void | loadlib_List (ExRecord *st) |
void | loadlib_Natural (ExRecord *st) |
void | loadlib_Real (ExRecord *st) |
void | loadlib_Stream (ExRecord *st) |
void | loadlib_String (ExRecord *st) |
void | loadlib_timer (ExRecord *st, TmTimer **tmr) |
Define Documentation
#define BINOP |
( |
|
_NM, |
|
|
|
_KIND, |
|
|
|
_OP |
|
) |
| |
Value:class ExNode_##_NM : public ExNode { \
ExNode* lchild; ExNode* rchild; std::string d; public: \
ExNode_##_NM(std::string t, ExNode* u, ExNode* v) : ExNode(_KIND,t) { \
lchild=u; rchild=v; \
if (getType()=="mrs_real") { d="d"; } else d=""; \
} \
virtual ~ExNode_##_NM() { lchild->deref(); rchild->deref(); } \
virtual ExVal calc() { return (lchild->eval()) _OP (rchild->eval()); } \
};
Definition at line 167 of file ExNode.h.
Value:class ExFun_StreamOutN##_TYPE : public ExFun { public: \
ExFun_StreamOutN##_TYPE() : ExFun(_type,_sig,false) { } \
virtual ExVal calc() { ExVal x = params[0]->eval(); std::cout << _CONVERSION(x._METHOD()) << std::endl; return x; } \
ExFun* copy() { return new ExFun_StreamOutN##_TYPE(); } \
};
Definition at line 680 of file ExNode.h.
Value:class ExFun_StreamOut##_TYPE : public ExFun { public: \
ExFun_StreamOut##_TYPE() : ExFun(_type,_sig,false) { } \
virtual ExVal calc() { ExVal x = params[0]->eval(); std::cout << _CONVERSION(x._METHOD()); return x; } \
ExFun* copy() { return new ExFun_StreamOut##_TYPE(); } \
};
Definition at line 668 of file ExNode.h.
#define GETCTRL |
( |
|
_T, |
|
|
|
_METHOD, |
|
|
|
_TP |
|
) |
| |
Value:class ExNode_GetCtrl##_T : public ExNode { public: \
std::string nm; MarControlPtr ptr; \
ExNode_GetCtrl##_T(std::string n, MarControlPtr p) : ExNode(OP_GETCTRL,_TP) { nm=n; ptr=p; } \
virtual ExVal calc() { return ptr->_METHOD; } \
};
Definition at line 427 of file ExNode.h.
#define LibExFun1 |
( |
|
_NM, |
|
|
|
_FUN, |
|
|
|
_T1, |
|
|
|
type_, |
|
|
|
sig_ |
|
) |
| |
Value:class ExFun_##_NM : public ExFun { public: \
ExFun_##_NM() : ExFun(type_,sig_,true) { } \
virtual ExVal calc() { return _FUN((params[0]->eval())._T1); } \
ExFun* copy() { return new ExFun_##_NM (); } \
};
Definition at line 531 of file ExNode.h.
Value:class ExFun_##_NM : public ExFun { public: \
ExFun_##_NM() : ExFun(type_,sig_,true) { } \
virtual ExVal calc() { return _FUN((params[0]->eval())._T1,(params[1]->eval())._T2); } \
ExFun* copy() { return new ExFun_##_NM (); } \
};
Definition at line 537 of file ExNode.h.
Value:class ExFun_##_NM : public ExFun { public: \
ExFun_##_NM() : ExFun(type_,sig_,true) { } \
virtual ExVal calc() { return _FUN(); } \
ExFun* copy() { return new ExFun_##_NM (); } \
};
Definition at line 524 of file ExNode.h.
#define SETCTRL |
( |
|
_N, |
|
|
|
_METHOD, |
|
|
|
_TP |
|
) |
| |
Value:class ExNode_SetCtrl##_N : public ExNode { \
std::string nm; MarControlPtr ptr; ExNode* ex; public: \
ExNode_SetCtrl##_N(std::string n, MarControlPtr p, ExNode* u) : ExNode(OP_SETCTRL,_TP) { nm=n; ptr=p; ex=u; } \
~ExNode_SetCtrl##_N() { ex->deref(); } \
virtual ExVal calc() { ExVal v=ex->eval(); ptr->setValue(v._METHOD); return v; } \
};
Definition at line 439 of file ExNode.h.
#define TIMER_GET |
( |
|
_NM, |
|
|
|
_ZERO, |
|
|
|
_METHOD, |
|
|
|
_type, |
|
|
|
_sig |
|
) |
| |
Value:class ExFun_TimerGet##_NM : public ExFun { \
ExFun* child; public: \
ExFun_TimerGet##_NM() : ExFun(_type,_sig,false) {} \
virtual ExVal calc() { TmTimer** t=params[0]->eval().toTimer(); return (t==NULL||*t==NULL) ? _ZERO : (*t)->_METHOD; } \
ExFun* copy() { return new ExFun_TimerGet##_NM(); } \
};
Definition at line 700 of file ExNode.h.
#define TIMER_UPD |
( |
|
_NM, |
|
|
|
_ZERO, |
|
|
|
_METHOD, |
|
|
|
_type, |
|
|
|
_sig |
|
) |
| |
Value:class ExFun_TimerUpd##_NM : public ExFun { public: \
ExFun_TimerUpd##_NM() : ExFun(_type,_sig,false) {} \
virtual ExVal calc() { \
TmTimer** t=params[0]->eval().toTimer(); \
ExVal s=params[1]->eval(); \
ExVal v=params[2]->eval(); \
if (t==NULL||*t==NULL) { (*t)->updtimer(s.toString(),v._METHOD); return true; } return false; \
} \
ExFun* copy() { return new ExFun_TimerUpd##_NM(); } \
};
Definition at line 732 of file ExNode.h.
#define UNARYOP |
( |
|
_NM, |
|
|
|
_KIND, |
|
|
|
_TYPE, |
|
|
|
_TO, |
|
|
|
_OP |
|
) |
| |
Value:class ExNode_##_NM : public ExNode { \
ExNode* child; public: \
ExNode_##_NM(ExNode* v) : ExNode(_KIND,_TYPE) { child=v; } \
virtual ~ExNode_##_NM() { child->deref(); } \
virtual ExVal calc() { return _OP((child->eval())._TO); } \
};
Definition at line 146 of file ExNode.h.