コード例 #1
0
ファイル: Generator.cs プロジェクト: Ajhaa/minipascal
    // TODO plus vs minus vs OR
    public object visitAdditionExpression(Expression.Addition expr)
    {
        expr.Left.Accept(this);
        expr.Right.Accept(this);

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

        current.Body.Add(op);
        return(null);
    }
コード例 #2
0
ファイル: Analyzer.cs プロジェクト: Ajhaa/minipascal
    // TODO plus vs minus vs OR
    public object visitAdditionExpression(Expression.Addition expr)
    {
        var left  = expr.Left.Accept(this);
        var right = expr.Right.Accept(this);

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

        return(left);
    }