public override object VisitMulExpression([NotNull] TinyScriptParser.MulExpressionContext context)
        {
            var ret = (Type)VisitUnaryExpression(context.unaryExpression(0));

            if (context.ChildCount > 1)
            {
                Type typeAdd = null;
                for (int i = 1; i < context.ChildCount; i += 2)
                {
                    var op = context.GetChild(i).GetText();
                    var t2 = (Type)VisitUnaryExpression((TinyScriptParser.UnaryExpressionContext)context.GetChild(i + 1));
                    typeAdd = GetOpType(context, ret, t2);
                    var b = OpBuilder.GetOpBuilder(typeAdd, context, _builder);
                    b.ProcessMul(op);
                }
                return(typeAdd);
            }
            return(ret);
        }
        public override object VisitMulExpression([NotNull] TinyScriptParser.MulExpressionContext context)
        {
            var a = VisitUnaryExpression(context.unaryExpression(0));

            for (int i = 1; i < context.ChildCount; i += 2)
            {
                var op = context.GetChild(i).GetText();
                var b  = (decimal)VisitUnaryExpression((TinyScriptParser.UnaryExpressionContext)context.GetChild(i + 1));
                switch (op)
                {
                case "*":
                    a = (decimal)a * b;
                    break;

                case "/":
                    a = (decimal)a / b;
                    break;
                }
            }
            return(a);
        }