Example #1
0
        object IVisitor <object> .visit(ForLoopNode node)
        {
            Node ForControlNode = node.getLeft();
            Node statements     = node.getRight();

            ForControlNode.accept(this);
            statements.accept(this);
            return(1);
        }
        object IVisitor <object> .visit(ForLoopNode node)
        {
            Node ForControlNode = node.getLeft();

            // Control variable initial assignment
            int control = Convert.ToInt32(ForControlNode.getLeft().accept(new Evaluator()));
            int times   = Convert.ToInt32(ForControlNode.getRight().getRight().accept(new Evaluator()));

            for (int i = control; i <= times; i++)
            {
                SymbolTable.assign(ForControlNode.getLeft().getLeft().value, i.ToString());
                node.getRight().accept(this);
            }

            return(null);
        }