code: private void forLoop(Env env, Scope scope, Writer writer) {
  		Ctrl ctrl = scope.getCtrl();
  		Object outer = scope.get("for");
  		ForLoopStatus forLoopStatus = new ForLoopStatus(outer);
  		scope.setLocal("for", forLoopStatus);
  		
  		Expr init = forCtrl.getInit();
  		Expr cond = forCtrl.getCond();
  		Expr update = forCtrl.getUpdate();
  		
  		ctrl.setLocalAssignment();
  		for (init.eval(scope); cond == null || Logic.isTrue(cond.eval(scope)); update.eval(scope)) {
  			ctrl.setWisdomAssignment();
  			stat.exec(env, scope, writer);
  			ctrl.setLocalAssignment();
  			forLoopStatus.nextState();
  			
  			if (ctrl.isJump()) {
  				if (ctrl.isBreak()) {
  					ctrl.setJumpNone();
  					break ;
  				} else if (ctrl.isContinue()) {
  					ctrl.setJumpNone();
  					continue ;
  				} else {
  					ctrl.setWisdomAssignment();
  					return ;
  				}
  			}
  		}
  		
  		ctrl.setWisdomAssignment();
  		if (_else != null && forLoopStatus.getIndex() == 0) {
  			_else.exec(env, scope, writer);
  		}
  	}
docs: #for(exprList; cond; update)