private void ParseRelationalExpression() { ParseAddExpression(); while (IsNextTokenRelationalOp()) { Token relationalOp = NextToken(); ParseAddExpression(); switch (relationalOp.Value) { case "<": _codeGenerator.Less(); break; case ">": _codeGenerator.Greater(); break; case "=": _codeGenerator.Equal(); break; case "<=": _codeGenerator.LessOrEqual(); break; case ">=": _codeGenerator.GreaterOrEqual(); break; case "!=": _codeGenerator.NotEqual(); break; default: ThrowCompilationException("Unexpected relational operator " + relationalOp.Value); break; } } }