Вы можете настроить бизона на прием параметров:
%parse-param {MyClass* self}
%lex-param {MyClass* self}
%{
void MyClass::evaluate(string expression)
{
yy_scan_string(expression.c_str());
yyparse(this); /* %parse-param allows a parameter to yyparse */
}
%}
%%
EXPR : EXPR PLUS EXPR {$$ = self->memberFunction("+",$1,$3);}
%%
int yylex(MyClass* self) /* Controlled by %lex-param */
{
return self->lex();
}