/** * @param Operator $op * * @return string */ public function visitOperator(Operator $op) { return '(' . $op->firstOperand()->accept($this) . $op->operator() . $op->secondOperand()->accept($this) . ')'; }
/** * @param Operator $op * * @return string */ public function visitOperator(Operator $op, $parentOperator = null) { $currentOperator = $op->operator(); $expression = $op->firstOperand()->accept($this, $currentOperator) . $currentOperator . $op->secondOperand()->accept($this, $currentOperator); return $this->requireParentheses($currentOperator, $parentOperator) ? '(' . $expression . ')' : $expression; }