function luaY.fornum(B,C,e,s)local l=C.fs local A=l.freereg B:new_localvarliteral(C,"\040\102\111\114 \105\110\100\101\120\041",0)B:new_localvarliteral(C,"\040\102\111\114 \108\105\109\105\116\041",1)B:new_localvarliteral(C,"\040\102\111\114 \115\116\101\112\041",2)B:new_localvar(C,e,3)B:checknext(C,"\061")B:exp1(C)B:checknext(C,"\044")B:exp1(C)if B:testnext(C,"\044")then B:exp1(C)else luaK:codeABx(l,"\079\080\095\076\079\065\068\075",l.freereg,luaK:numberK(l,1))luaK:reserveregs(l,1)end B:forbody(C,A,s,1,true)end
------------------------------------------------------------------------
-- parse a numerical for loop, calls forbody()
-- * used in forstat()
------------------------------------------------------------------------
function luaY:fornum(ls, varname, line)
	-- fornum -> NAME = exp1,exp1[,exp1] forbody
	local fs = ls.fs
	local base = fs.freereg
	self:new_localvarliteral(ls, "(for index)", 0)
	self:new_localvarliteral(ls, "(for limit)", 1)
	self:new_localvarliteral(ls, "(for step)", 2)
	self:new_localvar(ls, varname, 3)
	self:checknext(ls, "=")
	self:exp1(ls) -- initial value
	self:checknext(ls, ",")
	self:exp1(ls) -- limit
	if self:testnext(ls, ",") then
		self:exp1(ls) -- optional step
	else -- default step = 1
		luaK:codeABx(fs, "OP_LOADK", fs.freereg, luaK:numberK(fs, 1))
		luaK:reserveregs(fs, 1)
	end
	self:forbody(ls, base, line, 1, true)
end
