protected function parseConditionalExpression()
{
$line = $this->stream->getCurrentToken()->getLine();
$expr1 = $this->parseXorExpression();
while ($this->stream->consume(Token::OPERATOR, '?')) {
$expr2 = $this->parseOrExpression();
$this->stream->expect(Token::OPERATOR, ':');
$expr3 = $this->parseConditionalExpression();
$expr1 = new Expression\ConditionalExpression($expr1, $expr2, $expr3, $line);
$line = $this->stream->getCurrentToken()->getLine();
}
return $expr1;
}