Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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))
 { }