10 #ifndef smtk_common_InfixExpressionGrammar_h
11 #define smtk_common_InfixExpressionGrammar_h
18 #include "smtk/CoreExports.h"
36 void addFunction(
const std::string& name,
const std::function<
double(
double)>& f);
37 const std::map<std::string, InfixFunction>& functions()
const;
39 void setSubsymbolVisitor(
const SubsymbolVisitor& f);
40 SubsymbolVisitor subsymbolVisitor()
const;
45 double evaluate(
const std::string& expression, InfixExpressionError& err)
const;
53 InfixExpressionError testExpressionSyntax(
const std::string& expression)
const;
56 InfixExpressionError testExpressionSyntax(
57 const std::string& expression,
62 SubsymbolVisitor m_subsymbolVisitor;
68 #endif // smtk_common_InfixExpressionGrammar_h