public override ASTN VisitAddsub([NotNull] AddsubContext context)
        {
            ExprNode       Leftexpr  = (VisitExpr(context.left) as ExprNode);
            ExprNode       Rigthexpr = (VisitExpr(context.right) as ExprNode);
            AritmethicNode node;

            if (context.op.Type == ADD)
            {
                node = new PlusNode(context);
            }
            else
            {
                node = new ResNode(context);
            }

            node.Leftexpr  = Leftexpr;
            node.Rigthexpr = Rigthexpr;

            return(node);
        }
Example #2
0
    int Visit(AddsubContext context)
    {
        try
        {
            int l = (int)Visit(context.left);
            int r = (int)Visit(context.right);

            if (context.op.Type == ADD)
            {
                return(l + r);
            }
            else
            {
                return(l - r);
            }
        }
        catch
        {
            Console.WriteLine("Las variables no son enteras");
            return(0);
        }
    }