/** \brief Define a binary operator. \param a_pCallback Pointer to the callback object */ void ParserXBase::DefineOprt(const TokenPtr<IOprtBin> &oprt) { if (IsOprtDefined(oprt->GetIdent())) throw ParserError(ErrorContext(ecFUNOPRT_DEFINED, 0, oprt->GetIdent())); oprt->SetParent(this); m_OprtDef[oprt->GetIdent()] = ptr_tok_type(oprt->Clone()); }
/** \brief Add a user defined operator. \param a_pOprt Pointer to a unary postfix operator object. The parser will become the new owner of this object hence will destroy it. */ void ParserXBase::DefineInfixOprt(const TokenPtr<IOprtInfix> &oprt) { if (IsInfixOprtDefined(oprt->GetIdent())) throw ParserError(ErrorContext(ecFUNOPRT_DEFINED, 0, oprt->GetIdent())); // Function is not added yet, add it. oprt->SetParent(this); m_InfixOprtDef[oprt->GetIdent()] = ptr_tok_type(oprt->Clone()); }