function luaK.prefix(M,U,f,j)local n={}n.t,n.f=M.NO_JUMP,M.NO_JUMP n.k="\086\075\078\085\077"n.nval=0 if f=="\079\080\082\095\077\073\078\085\083"then if not M:isnumeral(j)then M:exp2anyreg(U,j)end M:codearith(U,"\079\080\095\085\078\077",j,n)elseif f=="\079\080\082\095\078\079\084"then M:codenot(U,j)elseif f=="\079\080\082\095\076\069\078"then M:exp2anyreg(U,j)M:codearith(U,"\079\080\095\076\069\078",j,n)else assert(0)end end

function luaK:prefix(fs, op, e)
  local e2 = {}  -- expdesc
  e2.t, e2.f = self.NO_JUMP, self.NO_JUMP
  e2.k = "VKNUM"
  e2.nval = 0
  if op == "OPR_MINUS" then
    if not self:isnumeral(e) then
      self:exp2anyreg(fs, e)  -- cannot operate on non-numeric constants
    end
    self:codearith(fs, "OP_UNM", e, e2)
  elseif op == "OPR_NOT" then
    self:codenot(fs, e)
  elseif op == "OPR_LEN" then
    self:exp2anyreg(fs, e)  -- cannot operate on constants
    self:codearith(fs, "OP_LEN", e, e2)
  else
    assert(0)
  end
end
