//--------------------------------------------------------------------------- void ListExprVar(muParserHandle_t a_hParser) { muInt_t iNumVar = mupGetExprVarNum(a_hParser), i = 0; if (iNumVar==0) { printf("Expression dos not contain variables\n"); return; } printf("\nExpression variables:\n"); printf("---------------------\n"); printf("Expression: %s\n", mupGetExpr(a_hParser) ); printf("Number: %d\n", iNumVar); for (i=0; i<iNumVar; ++i) { const muChar_t* szName = 0; muFloat_t* pVar = 0; mupGetExprVar(a_hParser, i, &szName, &pVar); printf("Name: %s Address: [0x%x]\n", szName, (long long)pVar); } }
int is_expr_var (MuExpr *mexpr, const char *name) { unsigned int i, j; const char *charptr; muFloat_t *floatptr; j=mupGetExprVarNum (mexpr->hparser); for (i=0; i<j; i++) { mupGetExprVar (mexpr->hparser, i, &charptr, &floatptr); if (!strcmp (charptr, name)) return OK; } return ERR; }