private Expression MagnitudeExpression(Lexemes lexemes, Expression lhs, ParseSettings parseSettings) { if (lexemes.AcceptToken(Constants.Power)) { var constantExpression = this.ConstantExpression(lexemes, parseSettings); return(this.MagnitudeExpression( lexemes, new MagnitudeExpression(lhs, constantExpression), parseSettings)); } string exponent; if (lexemes.AcceptTokenType(TokenType.Exponent, out exponent)) { var constantExpression = new ConstantExpression( double.Parse(CharacterConverter.FromExponentNotation(exponent), parseSettings.CultureInfo)); return(this.MagnitudeExpression( lexemes, new MagnitudeExpression(lhs, constantExpression), parseSettings)); } return(lhs); }