public static Polinomial Solve(Mult mult) { Polinomial result = Solve(mult.term); foreach (var multOp in mult.multOp) { switch (multOp.operatorSymbol) { case "*": result *= Solve(multOp.term); break; case "/": result /= Solve(multOp.term); break; } } return(result); }
static Mult CreateMult(ParsingInfo info) { Mult mult = new Mult(); foreach (var pair in info) { if (pair.Key == "Term") { mult.term = CreateTerm(pair.Value.AsChild); } else if (pair.Key == "mult_op") { foreach (var child in pair.Value.AsChild) { mult.multOp.Add(CreateMultOp(child.Value.AsChild)); } } else { Console.WriteLine("Mult has '" + pair.Key + "'"); } } return(mult); }