Expression* Syntactic::_Comp() { Expression* ope = nullptr; Expression* aux = nullptr; Expression* aux2 = nullptr; std::string auxs; int auxt; if (lexic->type == Token::LESS || lexic->type == Token::LESS_OR_EQUAL || lexic->type == Token::GREATER || lexic->type == Token::GREATER_OR_EQUAL) { auxs = lexic->symbol; auxt = lexic->type; lexic->Next(); aux = E(); aux2 = _Comp(); if(aux2 != nullptr) aux2->l = aux; else aux2 = aux; ope = new Comp(aux2,auxt,auxs); } return ope; }
Expression* Syntactic::comp() { Expression* ope = nullptr; Expression* oper = nullptr; ope = E(); oper = _Comp(); if(oper != nullptr) oper->l = ope; else oper = ope; return oper; }
PriorityQueueBinomial(const _Comp &compare = _Comp()): size_(0), base_(0), comparer_(compare), heapDestroyed_(std::make_shared<bool>(false)) { }