Ejemplo n.º 1
0
        public override string VisitOpExpr(ArithmeticsParser.OpExprContext context)
        {
            string left  = Visit(context.left);
            string right = Visit(context.right);
            string op    = context.op.Text;

            switch (op[0])
            {
            case '*': return("MultOP(" + left + ", " + right + ")");

            case '/': return("DivOP(" + left + ", " + right + ")");

            case '+': return("AddOP(" + left + ", " + right + ")");

            case '-': return("SubOP(" + left + ", " + right + ")");

            default: throw new InvalidDataException("Unknown operator " + op);
            }
        }
Ejemplo n.º 2
0
        public override int VisitOpExpr(ArithmeticsParser.OpExprContext context)
        {
            int    left  = Visit(context.left);
            int    right = Visit(context.right);
            string op    = context.op.Text;

            switch (op[0])
            {
            case '*': return(left * right);

            case '/': return(left / right);

            case '+': return(left + right);

            case '-': return(left - right);

            default: throw new InvalidDataException("Unknown operator " + op);
            }
        }