private EquationParserState HandleOpeningBracket(int index) { var bracketMultiplier = GetBracketMultiplier(); BracketsLine.Push(new Bracket(bracketMultiplier, CoefficientsLine.Count)); return(HandleOpeningBracketOverride(index)); }
private EquationParserState HandleClosingBracket(int index) { if (BracketsLine.Count == 0) { throw new EquationParsingException(string.Format(Resources.UnbalancedBracketAtIndex_Format, index)); } var bracket = BracketsLine.Pop(); for (var i = bracket.CoefficientOrder; i < CoefficientsLine.Count; i++) { var variableCoefficient = CoefficientsLine[i]; variableCoefficient.Value *= bracket.BracketMultiplier; } return(HandleClosingBracketOverride(bracket, index)); }