#include <stdio.h>
char exprline[100];
int ptr;
double x = 1.0, y = 2.0;
double val;
int yyparse();
int myungetc()
{
ptr--;
return 0;
}
int mygetchar()
{
return exprline[ptr++];
}
int yyerror(char *s)
{
(void) fprintf(stderr, "%s\n", s);
return 1;
}
int evalExpr(char *expr, float xp, float yp, float *value)
{
int ierr;
sprintf(exprline, "%s;", expr);
ptr = 0;
x = (double) xp;
y = (double) yp;
ierr = yyparse();
*value = val;
return ierr;
}
void evalexpr_(char *expr, double *xp, double *yp, double *value, int *ierr)
{
int i, j;
char ex[100];
j = 0;
for(i = 0; i < 78; i++){
if(expr[i] != '\0'){
ex[j++] = expr[i];
}
}
ex[j] = '\0';
sprintf(exprline, "%s;", ex);
/* printf("expr = %s\n", exprline); */
ptr = 0;
x = *xp;
y = *yp;
*ierr = yyparse();
*value = val;
}
syntax highlighted by Code2HTML, v. 0.9.1