function luaY.forbody(u,h,f,j,H,B)local F={}local d=h.fs u:adjustlocalvars(h,3)u:checknext(h,"\084\075\095\068\079")local V=B and luaK:codeAsBx(d,"\079\080\095\070\079\082\080\082\069\080",f,luaK.NO_JUMP)or luaK:jump(d)u:enterblock(d,F,false)u:adjustlocalvars(h,H)luaK:reserveregs(d,H)u:block(h)u:leaveblock(d)luaK:patchtohere(d,V)local W=B and luaK:codeAsBx(d,"\079\080\095\070\079\082\076\079\079\080",f,luaK.NO_JUMP)or luaK:codeABC(d,"\079\080\095\084\070\079\082\076\079\079\080",f,0,H)luaK:fixline(d,j)luaK:patchlist(d,B and W or luaK:jump(d),V+1)end
------------------------------------------------------------------------
-- parse a for loop body for both versions of the for loop
-- * used in fornum(), forlist()
------------------------------------------------------------------------
function luaY:forbody(ls, base, line, nvars, isnum)
	-- forbody -> DO block
	local bl = {} -- BlockCnt
	local fs = ls.fs
	self:adjustlocalvars(ls, 3) -- control variables
	self:checknext(ls, "TK_DO")
	local prep = isnum and luaK:codeAsBx(fs, "OP_FORPREP", base, luaK.NO_JUMP) or luaK:jump(fs)
	self:enterblock(fs, bl, false) -- scope for declared variables
	self:adjustlocalvars(ls, nvars)
	luaK:reserveregs(fs, nvars)
	self:block(ls)
	self:leaveblock(fs) -- end of scope for declared variables
	luaK:patchtohere(fs, prep)
	local endfor = isnum and luaK:codeAsBx(fs, "OP_FORLOOP", base, luaK.NO_JUMP)
		or luaK:codeABC(fs, "OP_TFORLOOP", base, 0, nvars)
	luaK:fixline(fs, line) -- pretend that `OP_FOR' starts the loop
	luaK:patchlist(fs, isnum and endfor or luaK:jump(fs), prep + 1)
end
