#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, float *xp, float *yp, float *value, int *ierr)
{
  sprintf(exprline, "%s;", expr);
  ptr = 0;
  x = (double) *xp;
  y = (double) *yp;
  *ierr = yyparse();
  *value = val;
}


syntax highlighted by Code2HTML, v. 0.9.1