示例#1
0
 EEL_F *GetNamedVar(const char *s, bool createIfNotExists)
 {
   if (!*s) return NULL;
   EEL_F *r = m_namedvars.Get(s);
   if (r || !createIfNotExists) return r;
   r=NSEEL_VM_regvar(m_vm,s);
   if (r) m_namedvars.Insert(s,r);
   return r;
 }
示例#2
0
static void sh_func_ontoken(const char *tok, int toklen)
{
  // todo: track whether we are in a function definition
  if (s_lasttok_wasfunction && (tok[0] == '_' || isalpha(tok[0])))
  {
    char buf[1024];
    if (toklen > sizeof(buf)-1) toklen=sizeof(buf)-1;
    lstrcpyn_safe(buf,tok,toklen+1);
    s_declaredFuncs.Insert(buf,1);
    s_lasttok_wasfunction=false;
  }
  else
  {
    s_lasttok_wasfunction = toklen == 8 && !strnicmp(tok,"function",8);
  }
}