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); }