Exemplo n.º 1
0
int ctokens_callback(const TokenInfo*info)
{
  cbdata*c=info->user_data;
  lua_State*L=c->L;
  lua_rawgeti(L, LUA_REGISTRYINDEX, c->func_idx);
  lua_newtable(L);
  lua_pushstring(L, "token");
  lua_pushlstring(L,info->token,info->len);
  lua_rawset(L,-3);
  SetTableStr("kind",kinds[info->type]);
  SetTableInt("line", info->line);
  SetTableInt("column", info->col);
  if (c->data_idx!=LUA_REFNIL) {
    lua_pushstring(L, "data");
    lua_rawgeti(L, LUA_REGISTRYINDEX, c->data_idx);
    lua_rawset(L,-3);
  }
  lua_call(c->L, 1, 1);
  return lua_toboolean(c->L,-1);
}
Exemplo n.º 2
0
static void gsdl_hash_cb(gpointer key, gpointer value, gpointer L)
{
	SetTableStr((gchar*)key, (gchar*)value);
}