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);
        }
        static Memory.Variable Solve(Mult mult)
        {
            var result = Solve(mult.term);

            foreach (var multOp in mult.multOp)
            {
                var operand = Solve(multOp.term);
                switch (multOp.operatorSymbol)
                {
                case "*":
                    result *= operand;
                    break;

                case "/":
                    result /= operand;
                    break;

                case "%":
                    result %= operand;
                    break;
                }
            }
            return(result);
        }