protected IExpression ParseExpression() { var left = ParseTerm(); while (Accept("+") || Accept("-")) { if (Prev().Type == "+") { left = AdditionExpression.Create(left, ParseTerm()); } else { left = SubtractionExpression.Create(left, ParseTerm()); } } return(left); }