예제 #1
0
파일: EXParser.cpp 프로젝트: sukovanej/qum
void EXParser::priorityLoop(std::string &_expression)
{
	if(!isParenthesisBalanced(_expression)){
		throw EXError("parenthesis_logic_error", ErrorIndex::PARENTHESIS_LOGIC_ERROR);
	}
	priorityFormulaLoop(_expression);
	priorityFunctionLoop(_expression);
	priorityOperatorLoop(_expression);
}
예제 #2
0
bool EXParser::priorityLoop(std::string &_expression) {
    if(!isParenthesisBalanced(_expression)){
      mErrorStr = "parenthesis logic error";
      return false;
    }
    
    if(!priorityFormulaLoop(_expression))
      return false;
    
    if(!priorityFunctionLoop(_expression))
      return false;
    
    if(!priorityOperatorLoop(_expression))
      return false;
    
    return true;
}