Esempio n. 1
0
    // TODO times vs divide vs AND
    public object visitMultiplicationExpression(Expression.Multiplication expr)
    {
        expr.Left.Accept(this);
        expr.Right.Accept(this);

        var op = Util.OpToIntegerInstruction(expr.Operation);

        current.Body.Add(op);
        return(null);
    }
Esempio n. 2
0
    // TODO times vs divide vs AND
    public object visitMultiplicationExpression(Expression.Multiplication expr)
    {
        var left  = expr.Left.Accept(this);
        var right = expr.Right.Accept(this);

        if (left != right)
        {
            throw new Exception("Cannot multiply different types");
        }

        return(left);
    }