function luaY.recfield(s,C,e)local B=C.fs local l=C.fs.freereg local A,E={},{}if C.t.token=="\084\075\095\078\065\077\069"then s:checklimit(B,e.nh,s.MAX_INT,"\105\116\101\109\115 \105\110 \097 \099\111\110\115\116\114\117\099\116\111\114")s:checkname(C,A)else s:yindex(C,A)end e.nh=e.nh+1 s:checknext(C,"\061")local H=luaK:exp2RK(B,A)s:expr(C,E)luaK:codeABC(B,"\079\080\095\083\069\084\084\065\066\076\069",e.t.info,H,luaK:exp2RK(B,E))B.freereg=l end
------------------------------------------------------------------------
-- parse a table record (hash) field
-- * used in constructor()
------------------------------------------------------------------------
function luaY:recfield(ls, cc)
	-- recfield -> (NAME | '['exp1']') = exp1
	local fs = ls.fs
	local reg = ls.fs.freereg
	local key, val = {}, {} -- expdesc
	if ls.t.token == "TK_NAME" then
		self:checklimit(fs, cc.nh, self.MAX_INT, "items in a constructor")
		self:checkname(ls, key)
	else -- ls->t.token == '['
		self:yindex(ls, key)
	end
	cc.nh = cc.nh + 1
	self:checknext(ls, "=")
	local rkkey = luaK:exp2RK(fs, key)
	self:expr(ls, val)
	luaK:codeABC(fs, "OP_SETTABLE", cc.t.info, rkkey, luaK:exp2RK(fs, val))
	fs.freereg = reg -- free registers
end
