code: ForCtrl forCtrl() {
  		ExprList exprList = exprList();
  		if (peek().sym == Sym.SEMICOLON) {
  			move();
  			Expr cond = expr();
  			match(Sym.SEMICOLON);
  			ExprList update = exprList();
  			return new ForCtrl(exprList, cond, update, location);
  		}
  		
  		if (exprList.length() == 1) {
  			Expr expr = exprList.getExprArray()[0];
  			if (expr instanceof Id) {
  				match(Sym.COLON);
  				return new ForCtrl(((Id)expr), expr(), location);
  			}
  		}
  		throw new ParseException("The expression of #for directive is error", location);
  	}
docs: forControl : ID : expr | exprList? ';' expr? ';' exprList?