private Expression ParseExpression()
{
int errorPos = _token.Position;
Expression expr = ParseLogicalOr();
if (_token.ID == TokenId.Question)
{
NextToken();
Expression expr1 = ParseExpression();
ValidateToken(TokenId.Colon, Res.ColonExpected);
NextToken();
Expression expr2 = ParseExpression();
expr = GenerateConditional(expr, expr1, expr2, errorPos);
}
return expr;
}