libsexpr - usage example
For clarity error checking has been omitted.
#include <stdio.h>
#include "sexpr.h"
main ()
{
char *text;
int i;
eTree_t *expression;
eVariables_t variables;
eValue_t value;
/* text of the expression entered here */
text = "x^2 + y^2";
variables = eInitVar(); /* create empty list of variables */
expression = eParse(&variables,
text,
NULL, /* this is related to error checking... */
NULL, /* ...skipped in this example */
1); /* add new variables? yes */
for(i = 0; i < eGetNumVars(variables); i++) {
printf("Enter value of variable %s: ", eGetVarName(variables, i));
scanf("%lf", eGetVarPtr(variables, i));
}
/* evaluate expression */
printf("Computed value: %f\n", eEval(&variables, expression));
/* cleaning */
eTreeDestroy(expression);
eDestroyVar(variables);
return 0;
};
