private void ParseMulExpression() { ParseTerm(); while (IsNextTokenMulOp()) { Token mulOp = NextToken(); ParseTerm(); switch (mulOp.Value) { case "*": _codeGenerator.Mul(); break; case "/": _codeGenerator.Div(); break; case "%": _codeGenerator.Mod(); break; default: ThrowCompilationException("Unexpected mul operator " + mulOp.Value); break; } } }